スクリプトでゲームオブジェクトを作成する方法
シーンビューでゲームオブジェクトを最初から配置するのではなく、スクリプトで、動的に配置する方法になります。Instantiate()メソッドでは、引数にPrefabまたは、インスタンス化されたオブジェクトが必要になりますが、この方法では、空のゲームオブジェクトを作成する手順となります。
サンプルシーン
スクリプトの実行のため、空のゲームオブジェクトを作成し、作成したテストスクリプトをアタッチします。
![](https://soft-rime.com/wp-content/uploads/2020/02/スクリーンショット-2020-02-04-8.30.57-1024x741.png)
using System; using UnityEngine; public class Test : MonoBehaviour { void Start() { // Type型配列に追加したいコンポーネントを代入 Type[] components = { typeof(Rigidbody), typeof(BoxCollider) }; // 名前と追加したいコンポーネントを引数としたゲームオブジェクトの作成(引数は、名前一つでも良い) var obj = new GameObject("Ghost", components); // コンポーネントのプロパティを変更してみる obj.GetComponent<Rigidbody>().isKinematic = true; } }
実行
シーンに新しく引数で設定した名前のゲームオブジェクトが作成され、同じく引数で設定したコンポーネントがアタッチされていることを確認。また、プロパティの変更もなされていることも確認。
![](https://soft-rime.com/wp-content/uploads/2020/02/スクリーンショット-2020-02-04-8.36.46-1024x741.png)
ディスカッション
コメント一覧
まだ、コメントがありません