GRASP3Dチュートリアル


目次


 

GRASP3Dとは?


3DCGコースでは、GRASP3D(グラスプスリーディー)を使って、シーンの作成をします。シーンとは、3Dモデルを置くことの出来る世界だと思ってください。これからその世界(シーン)に、色んな物を作って行く事になります。シーンの構造はツリー構造になっています。いきなりツリー構造と言われても何を言ってるのか分からないと思いますが、GRASP3Dのシーンを構成する大事な要素なのでこれから学習していきましょう。

 

<図>ツリーの例

左の図は、ツリー構造の一例です。

ツリーというのは、親と子の関係によってなりたっています。

 

この例では、「世界」を親とすると、「日本」、「インド」などが子に当たります。さらに「日本」の子として、「日本人」や「自動車」があり、「自動車」の子として「エンジン」、「ハンドル」、「タイヤ」などがあるという意味です。

 

ツリー構造では、親が動くとそれにともなって子も動きます。たとえば、自動車を動かすならば、エンジン、ハンドル、タイヤも一緒に動くと言う事です。その時に、日本人は動きません。日本人と自動車を同時に動かしたい時は、どうすればよいでしょう?

簡単ですね。日本を動かせば、日本人、自動車が一緒に動きます。そんな関係で成り立っているのがツリー構造です。分かりました?

 

 

GRASP3Dは、シーンの構築からレンダリングまでの3DCG製作の一連の流れ(アニメーションを除く)が出来ます。3DCGソフトは他にも多くありますが、それらと比べるとGRASP3Dは高機能ではありません。ですが、他の3DCGソフトは使いこなせるようになるまでとても時間がかかります。3DCG初心者が触ると基本操作を覚えきるまでに数週間かかるなんてこともざらです。

 

GRASP3Dは、初心者がすぐに使いこなせるように作られています。実際、操作は1日もかからないで覚えられます。

 

それでは、GRASPDがどんなものか見ていきましょう!

 

これがGRASP3Dの全体像です。

 

 

 

 

 

 

 

 

 

GRASPDの各領域の名前と説明

 

@    シーンビュー

シーンビューはシーンが今どんな状態かを確認することができます。要するに、シーンという世界を覗き込む窓だと思ってください。このシーンビューを確認しながら作業をしていくことになり、最終的にレンダリングをする時には、このシーンビューで見えているようにレンダリングされます。

 

A    ツリービュー

ここには、シーンのツリー構造が表示されます。シーンの構成を、作り出す作業場だと思ってください。

 

B    タブパネル

タブパネルには、ツリービューで選択されているものの状態の変更などを行う事が出来ます。例として、シーンの光源(ライト)の位置や、オブジェクトの色、大きさなどを変える事ができます。

 

C    メニュー

ツリーに球や立方体等のプリミティブを追加したり、物体を移動させたりという操作を行う事が出来ます。また、GRASPDの各種設定も変更することが出来ます。


 




やってみようパート1 視点の移動

 

一番最初にやることとして、視点の移動をしてみましょう。視点の移動は、シーンビューを見る上での基本的な操作です。3Dはその名の通り3次元なので、3次元の好きな位置からシーンを見ることが出来ます。視点の移動を覚えれば、その見る位置を変えることが出来るようになります。

 

ではとりあえず、シーンビュー上で、左ボタンを押しながらマウスをグリグリ動かしてみましょう。視点が回転しているのがわかりますか?

 

<図>視点の回転

 

次に、同じくシーンビュー上で、中ボタンを押したままマウスを上下に動かすとズームイン、ズームアウトが出来ます。

<図>視点のズーム

 

最後に、シーンビュー上で、右ボタンを押しながらマウスを動かすと、カメラの位置を平行移動できます。

 

<図>視点のトラック

 

これでまず最初のチュートリアルは終了です。これで視点を自由に動かす事が出来るようになりました。

 

 

 

 

 

ツリーとは?

 

<図>ツリービュー

 

上図は、ツリービューの一例です。一番最初に説明したように、ツリー構造になってるのが分かりますか?

 

このように、ツリーを構成してツリービューの中にツリーを作っていくのがGRASP3Dのシーンの作り方になります。ちなみにこのシーンをレンダリングすると・・・

こんな画像が出来ます。


 




やってみようパート2 GRASPDの基本を学ぶ

 

さて、ツリーの概念が分かったところで、次のチュートリアルでは、ツリーの構成の仕方や物体の置き方、物体の移動・回転・縮小などについて学んで見ましょう。

 

 

GRASPDを起動すると、ツリービューには一番最初「Scene」だけがあります。この「Scene」というのは、GRASP3Dの中の世界だと思ってください。

 

ツリービューの「Scene」を選択してみましょう。

 

 

そうすると、右下のタブパネルの所に二つのタブ「Light」と「Background」が見えます。まず、「Light」を見てみると、

 

<図>Sceneの持つタブパネル1「Light

 

Light」のタブはこのようになっています。左から見ていくと「LIGHT_0」から「LIGHT_7」とあります。これは光源です。光源とはいわゆるライトの事で、これがないと明かりがなくて真っ暗になってしまいます。

 

左から2番目の「Enabled」にチェックが入っていると、ライトがONになっているという事です。逆に、チェックが入って無いと、ライトがOFFになっているという意味です。電気をつける時のスイッチのようなものだと思って下さい。上の図で言うと、「LIGHT_0」だけが、ONになっているという事です。

 

次の「Visible」というのは、ライトがシーンビュー上で見えるようにするか見えないようにするかという事です。本来、CGではライトを置いてもライト自体はレンダリングされないのです。上のシーンビューで見えているのは、その位置がどこか分かりやすいようにしているためです。なので、モデルだけ見たい時に、ライトが邪魔だと思った時にライトを非表示できるように「Visible」があります。

 

次に、「x」、「y」、「z」とありますが、これはライトの位置を表しています。「LIGHT_0」で見てみると、「LIGHT_0」は、「x」に3、「y」に4、「z」に5行った所にあるという事を意味しています。

 

「w」というパラメーターは、1だと「x」、「y」、「z」で設定した場所に置かれます。0だと、ライトは無限遠から照らす事を意味します。無限遠から照らすというのは、「x」、「y」、「z」で設定した値のベクトルの方向から照らすという事ですが、よく分からないと思うので基本的に1で設定してあげればいいと思います。

 

最後の、「Color」というのは、ライトの色です。ここでライトの色を変更できます。

 

Light」タブで設定できるのは以上です。次は、「Background」タブを見てみましょう。「Background」タブを選択してください。

<図>Sceneの持つタブパネル2「Background

 

上が「Background」タブです。

 

Background」タブは、「BACKGROUND_COLOR」と「SKY_SPHERE」というパラメータを持っています。

 

BACKGROUND_COLOR」というのは、シーンビューの背景色の事で、レンダリングした時の背景色でもあります。「BACKGROUND_COLOR」の横の今黒になっている所をクリックしてみましょう。

 

すると以下のような、カラーセレクタが出てきます。

<図>カラーセレクタ

 

カラーセレクタとは、色を選ぶためのものです。色の選び方は、サンプル、HSBRGBの3種類あります。好きな色を選んで「了解」ボタンを押してみましょう。

 

するとこんな風に、シーンビューの背景色が変わります。

<図>背景色の変更後

 

レンダリングした時の背景色もこのようになります。

Exportボタンを押してみてください。

 

するとレンダリングが始まります。

<図>レンダリング

 

背景色がレンダリングにも反映されていますね。

 

次に、「SKY_SPHERE」の説明です。「SKY_SPHERE」というのは、空を作るときに使います。SKY_SPHEREというのは天球の事です。天球と言われても何のことか分からないと思います。とりあえず、実際に設定をしてましょう。

 

SKY_SPHEREの欄の一番右の「・・・」となっているボタンを選択してください。

 

ボタンを選択すると、以下のようなダイアログが出てくると思います。ここから好きな空模様を選んでみてください。

 

仮にここでは「S_Cloud5」を選択してみます。

<図>SKY_SPHERE設定後のGRASP3Dの画面

 

シーンビュー上は何も変化ありません。レンダリングしてみましょう。

を押してください。

<図>SKY_SPHERE設定後のレンダリング画面

 

このように空が表示されます。

 

さて、Sceneのタブについての説明はこの辺にして、実際にSceneに物体を追加してみましょう。

 

ツリービューのSceneを選択してください。

 

そしたら次に、メニューの欄の所にある、ツールバーから

をクリックしてください。そうすると、SceneSphereが追加されました。Sphereとは球の事です。GRASP3Dでは、このようにプリミティブを追加する事ができます。プリミティブについては後述します。

 

 

さて、SphereSceneが置かれた所で、ツリービューのSphereを選択してみましょう。すると、タブパネルに「Material」と「Attribute」というタブが出てきたと思います。

 

<図>Materialの設定

 

Material」パネルとは、物体の質感(色、光沢の仕方)を決めるパラメータです。ではまず最初に、Diffuseの値を変更してみましょう。Diffuseとは、物体その物の色の事です。Diffuseの隣の黄色い所をクリックすると、

 

このようなカラーセレクタが出てきます。とりあえず、好きな色を選んで「了解」を押しましょう。

 

<図>Diffuse変更後のGRASP3Dの画面

 

Diffuseは変更され、シーンビューのSphereの色が変わりました。

 

<図>Attributeの変更

Attributeはその物体の特性を意味します。Sphereの特性には、Radius(半径)があります。RadiusSphereの形状を決める唯一つの特性になります。半径が決まれば、Sphereの形状は一意に求まるという事です。

実際に、Radiusの値を変えてみてください。Sphereの大小が変化しますか?このように物体のもつ特性を制御出来るのが、Attributeタブになります。

 

さて、今現在SceneにはSphereがありますが、他にも追加してみたいですね。

 

それでは、Sceneに新しい要素を追加してみましょう。

 

 

ツリービューのSceneを選択して、

を押してください。

 

するとツリービューに、Translateが追加されます。Translateというのは、移動を意味します。

 

ツリービュー内のTranslateを選択して、Attributeを見てみましょう。

 

TranslateAttributeには、x、y、zがあります。これは、それぞれx方向、y方向、z方向への移動量を表しています。今はすべての値が「0.0」になっていますからこのTranslateは原点にあるという事です。

 

ここで、xの値を「5.0」にしてみましょう。

 

シーンビューを見ても何も変化は起きません。というのも、Translateは物体では無く移動を表しているのです。でも、確かに移動はしています。それを確かめるために、Translateに新しいSphereを置いてみましょう。

 

するとどうでしょう?シーンビュー上で、原点からx方向に、5行った所にSphereが表れますね。

 

<図>2つ目の球を移動

 

今度は、Translateの中に新しいTranslateを追加しましょう。

 

では次に、新しく追加したTranslateを選択して、zの値を「2」にして下さい。

Attributeタブで設定します。

 

移動量を変更したTranslateBoxを追加してみましょう。

 

Boxは、

で、追加する事ができます。

 

 

するとシーンビューは、2個目に置いたSphereからz方向へ「2」移動した位置にBoxが表示されています。

 

<図>ボックス追加後のGRASP3Dの画面

 

これは、2個目に置いたTranslateは、1個目に置いたTranslateの子にあたります。子は親の状態を継承するのがGRASPDのツリー構造ですので、親の移動量(5, 0, 0)を継承しつつ自分の移動量(0, 0, 2)を動く事になり最終的な位置は(5, 0, 2)なります。

 

ツリー構造での移動や回転で気をつける事は、このように子は親の状態を引き継ぐという事です。少し、ツリー構造について慣れてきましたか?

 

さて、基本的に追加をすると選択したものの子として追加したものが置かれます。ツリービューでTranslateを選択した状態でSphereを追加すると、SphereTranslateの子として追加されましたね。ここで、仮にSphereの親として、Translateを追加したい時があるかもしれません。

 

そんな時は、選択しているものの親として追加したいものを「Shiftキー」を押しながら追加すると、親に追加してくれます。それでは、実際にやってみましょう。

 

まずは、Boxの親となっているTranslateを選択してください。

その状態で、Shiftキーを押しながら、

を押してください。

するとツリービューは以下のようになります。

Translateの親としてRotateが追加されたのが分かりますか?Rotateは回転をするものです。

 

Rotateを選択して、そのAttributeを見てみましょう。

Axis」と「Degree」とあります。

Axisは、軸の事で、今はx軸になっていますね。このx軸の意味は、x軸を中心に回転するという意味です。

Degreeは、いわゆる度の事で回転の量を表します。

 

それでは実際に回転を行ってみましょう。

Axis」をy軸にして、「Degree」の値を30にしてください。

 

Boxの位置が変わりました。なぜこのような回転をするか分かりますか?

 

もう一度ツリービューを見てみましょう。

現在このようになっています。まずSceneの原点に青いSphereがあります。そこからx方向に5移動したところに黄色いSphereがあります。そしてY軸を中心に30°回転します。Y軸を中心に30°回転した後にZ軸方向に2動かすと、シーンビューに表示されているような位置に移動します。何故かというとZ軸の方向がY軸を中心に30°回転しているからです。

 

さて次に、ツリーの削除の仕方を覚えましょう。

 

Scene直下のSphereを選択してください。

Scene直下のSphereが選択出来たら

を押してください。そうすると、先ほど選択したSphereSceneから削除されます。

 

 

さて、こんな感じでツリーを作る事が出来ます。

 

 




<補足1>グループを閉じる?開く?

ツリービューで、ツリーの横にある鍵穴みたいなのがあると思います。ここを、クリックする事で、グループを開いたり、閉じたり出来ます。グループを開いたり閉じたりするのは、見える範囲を制限するだけでなく、グループを閉じて、削除やカット&ペーストを行うと、閉じたものは一緒に操作することが出来ます。まとめて、移動したときや削除したいときに便利です。

上の図は、開いた状態の時にTranslateを選択して削除する例です。ここで、削除を行うと

このようにTranslateだけが削除されます。

 

次はこの状態から、グループを閉じてみましょう。

この状態で、削除を行うと

このようにまとめて削除することが出来ます。

 

 




<補足2> 回転が先か移動がさきか?

さて、次はツリーの構造をさらに理解する意味でもRotateTranslateの順番の違いによるツリー構造の違いというものを理解してみましょう。

 

Rotateが親でTranslateが子の場合

この場合、Rotate

 

Translateが親でRotateが子の場合

 

 

 




プリミティブ

 

GRASP3Dは基本的なプリミティブ(形)を組み合わせて色んな形を作っていくというスタンスを取っています。複雑なモデルを作るのには適していませんが、3Dのシーンを簡単に作れるという所に特徴があります。以下では、プリミティブの大まかな説明をします。

 

<図>プリミティブ

 

 

l        Sphere

Sphere」は、「球」です。

Attributeには、「Radius」(半径)があります。

 

l        Cylinder

Cylinder」は、「円柱」です。

Attributeには、「Cap point」、「Base point」、「Radius」があります。

 

Cap point

円柱の頂上の円の位置です。

Base point

円柱の底辺の円の位置です。よって高さは「Cap point Base point」で求まります。

Radius

円柱の半径。

 

l        Plane

Plane」は、「平面」です。GRASP3Dでの平面は、無限遠の広がりを持った平面になっています。つまり図中の平面はどこまでいっても平面が続いているという事になります。平面には厚さはありません。

Attributeは、「Y」があります。

Y

平面の位置です。GRASP3Dでの平面はXZ軸に平行な平面と決まっているので、Yの値を指定するだけでよいのです。

 

l        Cone

Cone」は、「円錐」です。

Attributeには、「Radius」、「Z2」があります。

 

Radius

円錐の底辺の円の半径です。

Z2

円錐の頂上点の高さです。

 

 

l        Torus

Torus」は、「円環」です。ドーナツの形をしています。

Attributeには、「Major radius」、「Minor radius」があります。

 

Major radius

ドーナツ型の外側の半径です。

Minor radius

ドーナツ型の内側の半径です。

一応Major radius < Minor radius も可能です。

 

 

l        Disc

Disc」は、「円盤」です。円盤には厚さはありません。

Attributeには、「Radius」、「Hole radius」があります。

 

Radius

円盤の半径です。

Hole radius

円盤の穴の半径です。この値を0にすると穴無しの円盤が作れます。

 

 

 

 

l        Triangle

Triangle」は、「三角形」です。三角形には厚さはありません

Attributeには、「X1」、「Y1」、「Z1」、「X2」、「Y2」、「Z2」、「X3」、「Y3」、「Z3」があります。

 

X1」、「Y1」、「Z1

三角形を作る際に必要な3頂点のうち1つめの頂点のx、y、z座標値です。

X2」、「Y2」、「Z2

三角形を作る際に必要な3頂点のうち2つめの頂点のx、y、z座標値です。

X3」、「Y3」、「Z3

三角形を作る際に必要な3頂点のうち3つめの頂点のx、y、z座標値です。

 

l        Box

Box」は、「箱」です。

Attributeには、「X1」、「Y1」、「Z1」、「X2」、「Y2」、「Z2」があります。

 

X1」、「X2

箱を作る時に必要になるのは6面であり、そのうちのYZ平面の2面の位置を指定する値です。

Y1」、「Y2

箱を作る時に必要になるのは6面であり、そのうちのXZ平面の2面の位置を指定する値です。

Z1」、「Z2

箱を作る時に必要になるのは6面であり、そのうちのXY平面の2面の位置を指定する値です。


 




やってみようパート3 CSGとマテリアル

 

このチュートリアルでは、CSGとマテリアルの変更などを実践していきたいと思います。目標は水槽に入った金魚を作る事です。上の図を見てもらうと、ツリービューに沢山ツリーが構築されています。大変ですが、GRASP3Dを理解するにとても役立つので頑張りましょう!

 

まずは水槽を作りましょう。Sceneを選択して、labelを追加して、「水槽」と名前を付けてください。Labelは、名前を付けるのに使います。名前を付けておくと複雑なツリーになってもどのオブジェクトが何を表しているかを直ぐに判断する事が出来、役に立ちます。

 

labelの名前を変更するには、Attributeで変更できます。

 

さて、水槽のモデルを作るわけですが、プリミティブだけだとどう表現したらよいでしょう?プリミティブだけだと少し大変ですね。そんな時は、プリミティブによるモデルの加算、減算でモデルを作成するCSGという手法を使います。モデルを加算・減算といきなり言われても分かりくいかもしれません。とりあえず、実践してみましょう。

 

まずは、Label「水槽」の下に追加メニューから「Add Difference」を選択します。すると、Labelの下に、Differenceが追加されましたね。これはCSGの一つで、減算を意味します。

 

次に、Differenceの下にBoxを追加してください。そのBoxAttributeは、以下のようにしてください。ツリービューのBoxと書いてある横に、Attributeの数値の一覧があります。

 

次に、もう一つBoxDifferenceの下に追加してください。そして、Attributeを以下のように設定してください。

 

現在、シーンビューではこのようになっていますね。

 

それでは一旦レンダリングをしてみましょう。

を押してください。

 

このような画像が表示されます。形はマスみたいになっています。これが、CSGの効果です。Differenceは、一番上の子から、下の子で減算していきます。

 

さて、水槽は普通は透明ですね。という事で、上のBoxのマテリアルをいじります。MaterialAlphaの値を「0.2」に変更して、Diffuseの色を白にしてください。

 

<図>Box(上)の透明度と色を変更

 

レンダリングをしてみましょう。

を押してください。

 

どうでしょうか?外側は透明になりましたが、内側が、透明じゃありませんね。実はCSGを行うと、物体の引き算で消された部分は、引いた物体のマテリアルが引き継がれます。なので、内側は下のBoxで引いたので、下のBoxのマテリアルが適用されます。つまり、減算するモデルも同じマテリアルに設定しなければなりません。

 

<図>Box(下)の透明度と色を変更

 

マテリアルの設定が終了したらレンダリングをしてみしょう。

を押してください。

なんとなく、水槽っぽくなりました。

 

さて、水槽がこのままでは寂しいので何か入れましょう。とりあえず、砂利を入れてみる事にします。

 

label「水槽」の下にlabelを追加して名前を「砂利」にしてください。

 

そしたら、label「砂利」の下にBoxを追加して、Attributeを以下のように設定してください。

 

 

現在シーンビューは以下のようになっていると思います。

 

次に、テクスチャを張ります。テクスチャとは、モデルに画像を貼りつける事です。

それでは、まずBoxのタブパネルからMaterialタブを選択してください。そして、「Texture」と書いてある欄の一番右のボタンを押してください。

 

すると、テクスチャダイアログが出てきます。

 

タブ名「stones2.inc」(一番左上)を選択し、その中から、「T_Stone44」を選び、「Open」ボタンを押してください。

 

<画像>T_Stone44

 

さて、テクスチャを張ったらレンダリングしてみましょう。

 

<画像>砂利入りの水槽レンダリング

 

水槽の中に砂利が入りました。水槽はとりあえず、こんなもんでいいでしょう。

 

 

 

次に金魚を作成します。

 

金魚の作成時に、見やすくするために、label「水槽」の横にあるスイッチを押してlabel以下を閉じましょう。

 

Scenelabelを追加し、名前を「金魚」にしてください。

 

そうしたらlabel「金魚」の下にlabelを追加し、名前を「胴体」にしてください。

 

次に、以下のようにツリーを構築してください。

 

 

この状態で、レンダリングをすると

 

次は、目をつけましょう。

Label「金魚」の下に、labelを2つ追加し、それぞれ「右目」、「左目」という名前にします。

 

そしたら、まずは右目から作っていきましょう。label「右目」にツリーを以下のように構築してください。

 

さて、ここで上のSphereradius=0.05)のMaterialDiffuseを「白」に変更してください。

つぎに、下のSphereradius=0.03)のMaterialDiffuseを「黒」に変更してください。

そうしたら、レンダリングをしてください。

 

きちんと、白目と黒目が出来てますか?

 

次は、左目を作りますが、構造は殆ど右目と一緒なので、コピーをつかって左目を作りましょう。右目ラベル以下のグループを閉じて、label「右目」の子のTranslate選択してください。

 

その状態で、編集メニューから「コピー」を選ぶか、Ctrlボタンを押しながらCキーを押してください。これでコピーしました。次に貼りつける場所を指定します。そうしたら、label「左目」を選択してください。

 

 

編集メニューから「貼りつける」を選ぶか、Ctrlボタンを押しながらVキーを押してください。

 

すると、右目と同じツリーが左目以下にコピーされました。

ここで、左目はまだ右目と同じ位置にありますから、位置を変えましょう。

 

Label「左目」の子のTranslate(0.18, 0.05, -0.08)にするだけで大丈夫ですね。似たようなツリーを作る時に、コピー&ペーストは役に立ちます。

 

さて、ここまでの状態でレンダリングをしてみましょう。

 

 

次は、しっぽをつけましょう。

Label「金魚」の下に、labelを追加し、名前を「しっぽ」としてください。

しっぽ以下に、下のようにツリーを構築してください。

 

レンダリングすると、

少し、金魚っぽくなってきましたね。ここまでくれば後少しです。

 

金魚ラベルの子にlabelを追加し、名前を「背びれ」にしてください。

そしたら、背びれラベル以下に下のようなツリーを構築してください。

 

恒例のレンダリングです。

 

さて、次は、「右ひれ」と「左ひれ」を作成します。

Label「金魚」の下にlabelを2つ追加し、それぞれ「右ひれ」、「左ひれ」に変更します。

 

そしたら、以下のようにツリーを構築してください。

 

さて、レンダリングしてみましょう。

 

さて、ここまできたらあとはMaterialの設定を自由にいじって自分なりの金魚を完成させてください。

 

 

金魚が完成しました?

次は回りの環境も整えてみましょう。

 

地面を作ってみましょう。Scenelabelを追加し、「地面」と名前を付けてください。

 

地面の下に、Planeを置きます。Attributeは、y=-1.0で。

テクスチャに「EMBWood1」を指定します。

 

適当にレンダリングしてみましょう。

 

地面に置かれた水槽が出来ました。

 

ちなみに、この水槽には水がありませんでした。

水を入れたいのであれば、label「水」を作成し、Boxを追加してそのAttributeを以下のようにしてください。

そして、Materialは以下のようにしてください。

Diffuseのカラーも変更しています。ここはお好みでどうぞ。

ちなみに下の例では、R232、G255、B255です。

 







<補足3>マテリアル(材質)について

マテリアル(材質)というのは物質の色、光の反射の仕方、透明かどうか等を決めます。GRASP3Dでのマテリアルの設定はタブパネルの「Material」から変更可能です。

<図>タブパネル「Material

 

マテリアルで設定出来る要素

n        Diffuse

拡散反射光。物質自体のもつ色です。

 

n        Alpha

透明度。1.0が完全不透明で、0.0に近づくにつれて透明になります。0.0でも完全に透明にはなりません。(値は0.01.0で設定)

  

[1.0]               [0.3]               [0.0]

 

n        Ambient

環境光。本来の意味は、物質が回りから受ける光です。ここでは、物質自体を明るくするためのものです。(値は0.01.0で設定)

  

[0.0]               [0.2]               [1.0]

 

n        Specular

鏡面反射光。「テカリ」の事です。(値は0.01.0で設定)

 

n        Shininess

鏡面反射光の輝き方。「テカリ」の大きさを変える事が出来る。0で鈍い反射になり、127で鋭い反射になります。(値は0127で設定)

    

[左:Specular0.0] [中:Specular0.5 Shininess1.0] [右:Specular0.5 Shininess127]

 

n        Emission

発光。この値に関しては、実装が不完全なので使わない事をお勧めします。

 

n        Texture

物体に貼りつける画像を選ぶ。ただ画像を張るだけでなく、材質自体に影響するものもあります。

 

 

 


<補足4> 特殊なテクスチャ

テクスチャの中には、ただ画像を貼りつけるだけではないテクスチャが幾つかあります。それらを幾つか説明します。

 

1.環境マッピング

まず、最初に環境マッピングといわれるものをするテクスチャ。環境マッピングとは何ですか?という話になりますが、環境マッピングは、金属のように回りの景色を反射する物質などに使われます。回りの環境(景色など)をマッピング(貼りつける)という意味です。こういう事は、レイトレースの得意とするところですね。

この図で、3つの球体にそれぞれ環境マッピングのテクスチャを設定しています。回りの景色が写りこんでいるのがわかるでしょう。テクスチャ名は、左から「T23」、「T_Silver_5E」、「T_Glass4」です。

 

 

 

 

 

 

 

環境マッピングを行うテクスチャは、テクスチャダイアログの「glass_old.inc」、「golds.inc」、「metals.inc」で選択できます。

 

 

2.Diffuseの色に効果を加える

普通テクスチャを貼るとDiffuseの色は使われませんが、ひび割れを表現するテクスチャ等一部のテクスチャは、Diffuseの色の上に効果を入れる事が出来ます。

 

<図>テクスチャ「T_Crack1」の効果

 

  

<図>テクスチャ「T_Grnt20a」の効果

 








GRASP3Dの機能紹介


パネルメニュー

パネルメニューはよく使う機能を集めパネルに配置したメニューです。基本的な操作はこのパネルメニューで出来るようになっています。パネルメニューを学習すれば、基本的な操作に慣れることが出来るでしょう。以下では、各パネルの説明をします。

 

名称:Add Sphereボタン

Sphere」を追加するボタンです。

 

名称:Add Boxボタン

Box」を追加するボタンです。

 

名称:Add Boxボタン

Plane」を追加するボタンです。

 

名称:Add Cylinderボタン

Cylinder」を追加するボタンです。

 

名称:Add Coneボタン

Cone」を追加するボタンです。

 

名称:Add Torusボタン

Torus」を追加するボタンです。

 

名称:Add Discボタン

Disc」を追加するボタンです。

 

名称:Add Triangleボタン

Triangle」を追加するボタンです。

 

名称:Add Scaleボタン

Scale」を追加するボタンです。このツリーの子にあたるものは、設定された値により拡大・縮小されます。

 

名称:Add Rotateボタン

Rotate」を追加するボタンです。軸に対して回転をします。回転した軸は、子にあたるものの移動などに影響を与えます。

 

名称:Add Translateボタン

Translate」を追加するボタンです。平行移動を行います。

 

名称:Removeボタン

ツリー上の要素を削除するボタンです。いらないものはゴミ箱にポイッ。

 

名称:Show/Hide XYZ Labelボタン

シーンビュー上に表示される「X」、「Y」、「Z」の文字を表示したり消したり出来ます。

 

名称:Exportボタン

Pov-Rayに出力し、レンダリングを行います。作ったシーンは、このPov-Rayでレンダリングする事により画像となります。

 

 

ファイルメニュー

New

新しくシーンを作ります。それまでのシーンはすべてリセットされてしまうので、もし必要であれば、シーンの保存をしておきましょう(→Saveの項参照)

 

Open

保存してあるシーンファイルを読み込みます。

 

Save

現在のシーンをファイルに保存します。保存したファイルはいつでも読み込む事が出来ます。

 

Export

現在のシーンをレンダリングして、画像を出力します。

 

Exit

GRASP3Dを終了します。

 

 

 

編集メニュー

 

Undo

やり直しが出来ます。これをすると直前にした操作をする前に戻ります。使い所は、間違って必要な要素を削除ボタンで消してしまった時等。

 

Cut

選択しているツリーを切り取ります。切り取った部分は、Pasteでツリーの別の位置に貼り付ける事ができます。

 

1 Cut前(左)とCut後(右)

 

Copy

選択しているツリーをコピーします。コピーした部分は、Pasteでツリーの別の位置に貼りつける事ができます。Cutと違いコピーしたツリーはそのまま残ります。

 

Paste

CutCopyしたツリーを貼りつける事が出来ます。

 

Remove

ツリーを削除します。ツリーのグループを閉じて消去するとそのツリーの子から全て消去することが出来ます。

 

2 ツリーの削除

 

 

3 ツリーを閉じることでまとめて消すことも出来ます。

 

 


 

追加メニュー

 

Add Sphere

Sphere」を追加します。Add Sphereボタンと同じ働きをします。

 

Add Box

Box」を追加します。Add Boxボタンと同じ働きをします。

 

Add Plane

Plane」を追加します。Add Planeボタンと同じ働きをします。

 

Add Cylinder

Cylinder」を追加します。Add Cylinderボタンと同じ働きをします。

 

Add Cone

Cone」を追加します。Add Coneボタンと同じ働きをします。

 

Add Torus

Torus」を追加します。Add Torusボタンと同じ働きをします。

 

Add Disc

Disc」を追加します。Add Discボタンと同じ働きをします。

 

Add Triangle

Triangle」を追加します。Add Triangleボタンと同じ働きをします。

 

Add Scale

Scale」を追加します。Add Scaleボタンと同じ働きをします。

 

Add Translate

Translate」を追加します。Add Translateボタンと同じ働きをします。

 

Add Intersection

Intersection」を追加します。CSGで形状を作る際に用います。この場合は、図形の積をとります。

 

Add Difference

Difference」を追加します。CSGで形状を作る際に用います。この場合は、図形の差をとります。

 

Add Merge

Merge」を追加します。CSGで形状を作る際に用います。この場合は、図形の和をとります。

 

Add If Condition

子を2つもたせて、その片方だけを表示するような条件文による切り替えが出来ます。が、まだ未完成です。

 

Add Label

名前をつける事が出来るラベルを追加します。GRASP3Dのツリービューでは、SphereBoxなどいくら追加しても同じ名前です。同じ名前では、沢山作った時に、どれがどれだか分かり難くなってしまいます。そんな時がLabelの出番です。

 

 

設定メニュー

 

 

Output Image Size

レンダリングする画像の大きさを変更することが出来ます。

Width: 画像の幅を変更

Height: 画像の高さを変更

 

 

 

 

Hide XYZ Label

シーンビュー上で表示される「X」、「Y」、「Z」の文字の表示・非表示の切り替えをします。

 

Extend Four Pane/Get Back In Single

シーンビューを4画面に分割したり、1画面にしたりします。

 

プリミティブの座標軸

プリミティブはSceneがもつ座標系とは別にそれぞれ自分自身の座標系をもっています。その座標系の表示・非表示を設定することが出来ます。

 

Polygon Mode

モデルの表示形式を切り替えます。下図の左からFill(ポリゴン塗りつぶし)、Wireframe(骨組み表示)、Point(頂点座標のみ表示)。

 

 

 

Ground Mesh

シーンビュー上に表示される格子状のメッシュの表示・非表示に切り替えと、メッシュの細かさを設定する事が出来ます。

 

言語

表示言語の切り替えが出来ます。現在あるのは、英語、日本語、ロシア語の3種類です。