[Unity] InstantiateでPrefabのオブジェクトのpositionやrotationをそのまま使いたい場合の記述方法

Unity

UnityのInstantiateでPrefabのオブジェクトのpositionやrotationをそのまま使いたい場合の記述方法について紹介します。

[SerializeField] private GameObject objPrf;
//省略

GameObject obj;
//Prefabのpositionのみ、そのまま使いたい場合
obj = Instantiate(objPrf, objPrf.transform.position, Quaternion.identity);

//Prefabのrotationのみ、そのまま使いたい場合
obj = Instantiate(objPrf, Vector3.zero, objPrf.transform.rotation);

//Prefabのpositionとrotationをそのまま使いたい場合(3通り)
obj = Instantiate(objPrf);
obj = Instantiate(objPrf, objPrf.transform);
obj = Instantiate(objPrf, objPrf.transform.position, objPrf.transform.rotation);

Instantiateの3番目の引数にQuaternion.identityと記述することが多いと思いますが、これはQuaternion.Euler(new Vector3(0f, 0f, 0f))と同等の値になります。

広告