私はいつもプレイヤーと同じポジションにとどまりたいカメラを持っています。私はそれをプレイヤーの子にすることでこれを行いました。私がスクリプトでプレイしたとき、プレイヤーはカメラよりも先に進んでいたからです。私はまたカメラをマウスで回転させる。しかし、カメラをプレイヤーの子にしたとき、私のプレーヤーとカメラは回転を止めず、マウスが動かなくなっても続行します。私はマウスが動いているときだけカメラを回転させたい。私のコード(JS):ユニティ - プレーヤーのカメラチャイルドが制御不能に回転する
#pragma strict
var player : GameObject;
function Start() {
player = GameObject.Find("Player");
Cursor.visible = false;
}
function Update() {
//transform.position = player.transform.position;
transform.Rotate(Input.GetAxis("Mouse Y") * -2, Input.GetAxis("Mouse X") * 5, 0);
transform.rotation.eulerAngles = new Vector3(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, 0);
//player.transform.rotation = transform.rotation;
}
まずコメントアウト線がプレイヤーにカメラを移動今不要なコードでは、2行目は、問題の原因となっているものです。私がそれを取り除くと、カメラはうまく回転しますが、プレーヤーは回すことができません(transform.forwardベースのコントロール)。コメントを外すと、プレイヤーとカメラは摩擦がなくなり、制御できなくなります。
あなたはユニティサンプルプロジェクトからプレハブカメラを試してみたことがありますか?彼らは第三者などのようなクールな作業カメラを持っています。あなたはコードを見たり、単にそれを使うことができます。 –
ありがとう、私はちょうどそれを行うかもしれません。 – battlemage64
グッドニュース!問題は、それがプレーヤーを回転させた後、プレーヤーの子としてカメラを回転させ、広告の邪魔を繰り返すことでした。それを修正しようとしています。 – battlemage64