キャラクターをワープさせるプログラムはできたのですが、飛んだ先でのキャラクターの向きがうまくいきません。
WarpPointオブジェクトを作って、それに衝突するとキャラクターが指定の位置に飛ぶというようになっていますが、
□=WarpPoint
□←この向き(西向き)でキャラクターが当たり判定に当たり指定の位置に飛ぶとそのままの向き(西向き)になってしまいます。
←(西向き)で当たっても↑(北向き)になるようにしたいのですが、、
C#
1public GameObject player; 2void Start() 3 { 4 player = GameObject.Find("FirstPersonCharacter"); 5 } 6 7void OnTriggerEnter(Collider collider) 8 { 9 if (collider.gameObject.tag == "Player") 10 { 11 collider.gameObject.transform.position = new Vector3(3, 1, -13); 12 //collider.gameObject.transform.LookAt(new Vector3(0, 0, 0)); 13 player.transform.LookAt(new Vector3(0, 0, 0)); 14 } 15 }
追記
C#
1void Start() 2 { 3 player = GameObject.Find("FirstPersonCharacter"); 4 //Transform target = GameObject.Find("Cube").transform; 5 //player.transform.LookAt(target); 6 } 7 8void OnTriggerEnter(Collider collider) 9 { 10 if (collider.gameObject.tag == "Player") 11 { 12 collider.gameObject.transform.position = new Vector3(3, 1, -13); 13 Transform target = GameObject.Find("Cube").transform; 14 //collider.gameObject.transform.LookAt(target); 15 player.transform.LookAt(target); 16 } 17
向かせたい方向にCubeを置き、そのCubeを見る方向に向くというようなコードも書いてみましたが、だめでした。
コードに修正点や他の方法のアドバイスなどいただけたら幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/24 09:34