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))と同等の値になります。