Unityでプレイヤーをカメラが追いかけていく感じにしたいのですが、微妙なところでうまくいきません。
<完成イメージ>(プレイヤーの背中を常に追いかける感じにしたい)
失敗1(プレイヤーについていくまではできたが、プレイヤーが回転してもカメラが回転しないため、「追いかけてる」感じにならない)
![]
コード1
C#
1using UnityEngine; 2using System.Collections; 3 4public class WatchPlayer : MonoBehaviour 5{ 6 public Transform target; // ターゲットへの参照 7 private Vector3 offset; // 相対座標 8 void Start() 9 { 10 //自分自身とtargetとの相対距離を求める 11 offset = GetComponent<Transform>().position - target.position; 12 13 } 14 15 void Update() 16 { 17 // 自分自身の座標に、targetの座標に相対座標を足した値を設定する 18 GetComponent<Transform>().position = target.position + offset; 19 } 20}
失敗2 プレイヤーに合わせてカメラがかいてんするようにしたが、その場で回転してしまい、プレイヤーが画面からはみ出てしまう。
コード2
C#
1using UnityEngine; 2using System.Collections; 3 4public class WatchPlayer : MonoBehaviour 5{ 6 public Transform target; // ターゲットへの参照 7 private Vector3 offset; // 相対座標 8 void Start() 9 { 10 //自分自身とtargetとの相対距離を求める 11 offset = GetComponent<Transform>().position - target.position; 12 13 } 14 15 void Update() 16 { 17 18 transform.rotation = Quaternion.Euler(15, target.transform.localEulerAngles.y, 0); 19 20 // 自分自身の座標に、targetの座標に相対座標を足した値を設定する 21 GetComponent<Transform>().position = target.position + offset; 22 } 23}
(UpDateで、回転角度を決めてから位置情報を決めているのでちゃんと背中を追いかける形になる・・とおもったのですが・・・)
調べてもなかなか良い方法が出てこなくて困っています。 どうすればよいでしょうか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/20 23:42
2017/12/22 20:34
退会済みユーザー
2017/12/22 23:31 編集