デジタルフロッグ

Unityのアプリの開発をしながらいろいろと忘れないための備忘録でございます。

GameObjectの基本モデルの生成をプログラミングで行おう

基本中の基本ですが、こういうのをしっかりまとめておかないといつかぼけてしまうかわかりません。それに自分もそうでしたが、こういう基礎知識を知りたいという人もUnity始めたての人は多いはずです。

GameObjectを生成してみよう

まずとりあえず空のオブジェクトを作ってみましょう。UnityのHierarchyに空のオブジェクトを別で作るか最初から存在してるオブジェクトにスクリプトを突っ込んで書いてみましょう。

 

void Start(){

    var obj = new GameObject ();

}

f:id:karaagedigital:20160914182207p:plain

こんな感じで空のオブジェクトで名前はNew GameObjectをいう名前でスタートさせると作成されたと思います。

GameObjectに名前を付けよう

生成されるオブジェクトに名前を付けてみようというだけです。

GameObject(string name);

で作る事が出来ます。

void Start(){

    var obj = new GameObject ("hogehoge");

}

()の内側を"hogehoge"にしてStartしてみて下さい。

 

f:id:karaagedigital:20160914182447p:plain

hogehogeという名前で空のオブジェクトが生成されました。名前を付けるのって簡単ですね!

基本モデルを生成してみよう

それでは基本モデルを生成していきます。基本モデルというのはCubeとかSphereやCapsuluなどのオブジェクトの事を指しています。それでは早速作っていきましょう!

void Start(){

    var capsuleGameObject.CreatePrimitive(PrimitiveType.Capsule);

    var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);

    var cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);

    var plane = GameObject.CreatePrimitive(PrimitiveType.Plane);

    var sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);

    var quad = GameObject.CreatePrimitive(PrimitiveType.Quad);

 

   capsule.transform.Translate(2,1,0);

   cube.transform.Translate(0,0.5f,0);

   cylinder.transform.Translate(-2,1,0);

   sphere.transform.Translate(0,2,0);

   quad.transform.Translate(0,2,2);

}

それではかけたら早速プレイしてちゃんと生成されるか見てみましょう。

f:id:karaagedigital:20160914184047p:plain

いいですねー!出来ました!

このようにUnityの方で準備されているプリミティブをCreatePrimitive()メソッドで生成する事が可能です。あまり実際のゲームでこうした最初から準備されたものを使う事はほぼありませんが、こうして作りだす事が出来るという事を覚えておく事と何かあった時に使えたりするものです。