【3Dゲームエンジン】Unity質問スレッド32 at GAMEDEV【3Dゲームエンジン】Unity質問スレッド32 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト789:名前は開発中のものです。 17/12/11 00:11:47.56 SkZjimvo.net <スクリプトAで、Assets内のプレハブBを、ゲームオブジェクトCとして取得する方法> Scece上に配置したゲームオブジェクトXに、下記のスクリプトAを登録しておきます。 public class A : MonoBehaviour { public GameObject B; // Use this for initialization void Start () { GameObject C = (GameObject)Instantiate(B); } } Inspector上でゲームオブジェクトBを登録できるので、 Assets内のプレハブBを登録しておきます。 「Assetss」を押すと一覧が出ます。 動的にBのインスタンスを生成して、ゲームオブジェクトCとして格納します。 以下、Inspector上で登録しておいたゲームオブジェクトBは、 ゲーム内ではゲームオブジェクトCとして実体化されているので、 移動させたり、回転させたり、いろいろできます。 790:名前は開発中のものです。 17/12/11 00:30:42.08 SkZjimvo.net C = (GameObject)Instantiate(B) だと、スクリプトを登録したオブジェクト上に生成されてしまいます。 生成される際の 位置を、Vector3 V = new Vector3(x, y, z) 向きを、Quaternion Q = Quaternion.Euler(angleX, angleY, angleZ) 親を、transform T = parent.transform としたい場合は、 C = (GameObject)Instantiate(B, V, Q, T) とします。 親Tの子として、向きQで、位置Vに、 Bのインスタンスが、オブジェクトCとして生成されます。 BにRigidbodyを登録しておけば、 Rigidbody D = C.GetComponent < Rigidbody2D > によって、CのコンポーネントからRigidbodyを取得して、 変数DにRigidbodyを格納しておくこともできます。 以降は、物理演算ができるようになり、 D.velocity = new Vector3(vx, vy, vz) のようにして速度を変更したりできます。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch