Developer

【初心者Unity】Primitiveなゲームオブジェクトをスクリプトから生成する方法
2022.09.30
Lv1

【初心者Unity】Primitiveなゲームオブジェクトをスクリプトから生成する方法

CreatePrimitiveの使い方

CreatePrimitiveはCubeやPlaneなど、あらかじめ用意されている基本形のゲームオブジェクトを生成するメソッドです。
Instantiateと似ていますが、こちらは元となるゲームオブジェクトを用意する必要がありません。

(参考)
Instantiateを具体例付きで解説

Cubeを生成する

・第1引数にPrimitiveType.Cubeを指定

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

シーンにキューブが生成されました。

このメソッドは生成する機能しかないため、親のオブジェクトを指定したりはできません。
生成されたオブジェクトはヒエラルキーのトップ(ルート階層)に配置されます。

全部で6種類

引数で指定できるPrimitiveTypeは全部で6種類です。

GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
GameObject capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule);
GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
GameObject quad = GameObject.CreatePrimitive(PrimitiveType.Quad);

引数ではPrimitiveTypeを指定するしかなく、あらかじめ用意されている値しか渡せません。

PrimitiveTypeについて

PrimitiveTypeはEnum(列挙型)です。
生成対象のゲームオブジェクトに数値が割り当てられていて、それらを名前で指定して呼び出すことができます。

覗いてみるとこんな感じに定義されています。

Enumの詳しい解説や使い方についてはこちらの記事でも紹介しています。
(参考)Enumを使ってゲーム中の状態や条件をわかりやすく管理しよう

まとめ

以上CreatePrimitiveメソッドの使い方について紹介しました。
使用頻度は少ないかもしれませんが、検証などの用途には適していると思います。

連載目次リンク

「初心者のための」Unityゲーム制作 目次

Unity実践編 - 目次リンク

実践Unityゲームプログラミング 連載目次