ストラクチャを作る2

前回は円柱や直方体のストラクチャを作りました。
ですが世の中そう簡単な形の物体ばかりではないので、今度は頂点を作って面を張っていろんな形のストラクチャを作る方法を解説していきます。

頂点を作る

ストラクチャファイルで一番大事なのが頂点から面を作っていく方法です。今回は四角形の面を作ります。まずはお決まりのCreateMeshBuilderを書いて、「点」を作る構文(AddVertex)を4個書きます。AddVertex,x,y,zのように書きますが、ここで、xは左右の方向(+は右、-は左)、yは上下の方向(+は上、-は下)、zは前後の方向(+は奥、-は手前)になります。
また、単位はメートルになります。括弧内に構文の意味を書いておきました。

AddVertex,1,0,0(原点から右へ1メートルの位置に点を追加)
AddVertex,1,-1,0(原点から右へ1メートル、下へ1メートルの位置に点を追加)
AddVertex,-1,-1,0(原点から左へ1メートル、下へ1メートルの位置に点を追加)
AddVertex,-1,0,0(原点から左へ1メートルの位置に点を追加)

これで4つの頂点が出来上がりました。ですがまだただの「頂点」なのでビュワーで見ようとしても何も見えません。面を作る必要があります。

面張り

面を張るためにはAddFaceを使います。ところで、Addvertexで作った点はCreateMeshBuilder毎に上から0番1番2番3番…と番号が勝手に付けられます。作りたい面の表から見て時計回りに頂点の番号を入れていくと面ができあがります。

AddFace,0,1,2,3

頂点から面を作るときは「CreateMeshBuilder」1つにつき、1つ「GenerateNormals」を書いておきます。時計回りでさえあればAddFace,1,2,3,0としても同じ面ができあがります。ちなみにAddFace2は裏表に面ができる、というものです。

頂点から作った四角形の面
というわけで真っ白なでぺらぺらな四角形が出来上がりました。ちなみに、AddFace,3,2,1,0と逆周りで番号を入れると反対側に面ができます。

というわけで5角形を作る

何が「というわけ」なのかは自分もよくわからないのですが、次は簡単に5角形の例を…

CreateMeshBuilder
AddVertex,0,1,0
AddVertex,1,0,0
AddVertex,1,-1,0
AddVertex,-1,-1,0
AddVertex,-1,0,0
;△
AddFace,0,1,4
;□
AddFace,1,2,3,4
GenerateNormals

頂点から作った五角形の面
見事な5角形、見事な野球のベースっぷり!2mもあるんだけどね!

この時点でどの頂点がどこにあるか把握できていますか?
頂点番号0は五角形の1番上、頂点番号1は下の四角形の右上、頂点番号2は右下、頂点番号3は左下、頂点番号4は左上です。また、CreateMeshBuilder毎に色をつけたり移動させたり回転させたりは面でもできます。
それから途中の「;△」「;□」ですが、セミコロンをつけるとコメント行になります。後で修正するときにどこがどこだかわからなくならないようにコメントをうまく使ってください。

また、ここでは四角形の部分と三角形の部分にAddFaceが分かれていますが特に分ける意味はありません。面を張りたい側から見て頂点を左回りに指定することを忘れなければ1つのAddFaceで五角形が作れます。

さて、上の五角形を三角形の部分と四角形の部分で別々の色にします。単純に面に色を塗るのはSetColorを使えばいいのですが、CreateMeshBuilder内は全て同じ色になるので、四角形と三角形を分けて作る必要があります。

;△の面
CreateMeshBuilder
AddVertex,0,1,0
AddVertex,1,0,0
AddVertex,-1,0,0
AddFace,0,1,2
GenerateNormals
;□の面
CreateMeshBuilder
AddVertex,1,0,0
AddVertex,1,-1,0
AddVertex,-1,-1,0
AddVertex,-1,0,0
AddFace,0,1,2,3
GenerateNormals

上が三角形、下が四角形の構文になります。
三角形+四角形の面
これで色を別々に付けることができました。

さて、頂点を作りつつ立体を作るときは頭がこんがらがりますが、頭の中にX軸(+で軸より右、-で軸より左)、Y軸(+で軸より上、-で軸より下)、Z軸(+で軸より奥、-で軸より手前)を浮かべて、頂点がどこにあるかを想像しつつがんばってください。
このとき頭の中で考えてることを実際に見えるようにしたのがモデリングソフトってやつになります。

>>ストラクチャを作る3に続く