Google

2011年11月10日木曜日

プリミティブを動的生成

GUI指定で動的生成は簡単でした。
あまり使う機会は無いかも知れませんが、こんな生成の方法もあります。

 static function CreatePrimitive (type : PrimitiveType) : GameObject

GameObjectに付随するクラスメソッドです。
プリミティブは直訳すれは「原始的」ですが、3Dでは球体や板等の純粋な部品を指します。
Unityが素で作れるGameObjectを作れるという事ですね。

指定できるのはPrimitiveTypeという列挙型。
定義されているタイプは5つ。


  • Sphere
  • Capsule
  • Cylinder
  • Cube
  • Plane


C#で表現する場合、例えばCubeなら以下のような表記になります。

 PrimitiveType.Cube

C++での列挙体では列挙体名は不要でしたが、こちらでは必要です。

ちなみにこの5つの項目。
これはメニューの「GameObject」→「Create Other」の中にある3枠目の項目群と一致します。

先程の関数での使い方も至って簡単。


void Start()
{
    GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Plane);
}


こんな感じで書けばPlaneが生成されます。
位置やスケールの指定が引数に何も無いのでお気づきかと思いますが、位置は全部0,スケールは1のままで生成されます。

ゲームとしては使い物になりませんが一応。

0 件のコメント:

コメントを投稿