【3Dゲームエンジン】Unity質問スレッド17at GAMEDEV【3Dゲームエンジン】Unity質問スレッド17 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト1011:名前は開発中のものです。 15/06/12 17:24:51.57 yT7Nup/Q.net >>965 キャラを追いかけるカメラはこんな感じの処理です。 もしかしてSlerpってすごい重いのですか? キャラはまっすぐ進ませてるはずなのに横にガクガク動いて見えるんですよねぇ public float distance = 5.0f;//被写体との距離 public float height = 3.0f;//被写体との高さ void freeCamera(){ //start freeCamera // Transform target = GameObject.FindWithTag("Player").transform;//被写体 // float distance = 5.0f;//被写体との距離 // float height = 3.0f;//被写体との高さ // float heightDamping = 2.0f;//大きくするとカメラがはやくついてくる // float rotationDamping = 3.0f;//大きくするとカメラがはやくついてくる float smoothTime = 5f; if (!target)return;//ターゲットがいないときはなにもしない Vector3 basePosition = target.position; basePosition -=target.forward*distance; basePosition +=target.up*height; // transform.position = Vector3.Slerp(transform.position,basePosition,smoothTime * Time.deltaTime); transform.position = Vector3.Lerp(transform.position,basePosition,smoothTime*Time.deltaTime); // transform.position = Vector3.Lerp(transform.position,basePosition,smoothTime*Time.deltaTime); //Vector3 targetVelocity = target.GetComponent<Rigidbody> ().velocity; //Vector3 targetVelocity = target.transform.forward; Quaternion wantedRotation = Quaternion.LookRotation(target.position-transform.position); // transform.rotation = Quaternion.Slerp(transform.rotation,wantedRotation,smoothTime*Time.deltaTime); transform.rotation = Quaternion.Lerp(transform.rotation,wantedRotation,smoothTime*Time.deltaTime); //end freeCamera } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch