1
カメラを軌道の特定の場所に配置するためにカスタマイズする必要がある標準アセットスクリプトに基づいて、MouseOrbitスクリプトを作成しました。MouseOrbitカスタマイズ:スポット軌道上にカメラを置く
Unity3dに付属の標準スクリプトの相続人基礎:
function Start() { var angles = transform.eulerAngles; x = angles.y; y = angles.x; // Make the rigid body not change rotation if (rigidbody) rigidbody.freezeRotation = true; } function onUpdate(){ x += Input.GetAxis("Mouse X") * xSpeed; y -= Input.GetAxis("Mouse Y") * ySpeed; var rotation = Quaternion.Euler(y, x,0); var position = rotation * Vector3(0.0, 0.0, cameraDelta); transform.rotation = rotation; transform.position = position; }
私が行う必要がある何が0,0
で、対象物の周りにいくつかのスポットにカメラを置いています。
最初はオブジェクトのすぐ後ろにあります。 x:7,:y0,z:0
。
ここで私は仕事だろうと思ったものです:
function TransformCamera(x,y,z){ //set position of camera transform.position = new Vector3(x, y, z); var angles = transform.eulerAngles; y = angles.y; x = angles.x; z = angles.z; var rotation = Quaternion.Euler(y, x, z); var position = rotation * Vector3(0.0, 0.0, cameraDelta); //adjusted_target; transform.rotation = rotation; transform.position = position; }
このスクリプトは近いです...それはカメラを変換して、オブジェクトを見て、それを回転させるが、それはカメラを置いていません正しい場所にある7,0,0
。
ありがとうございます!
ありがとうございました。 – Neeraj