2017-08-14 21 views
0

オブジェクトを移動するためのいくつかのガイドに従っていますが、この問題があります。UNITY 3D - カメラのパースペクティブはオブジェクトの移動方法が間違っていることを示します

したがって、シーンを除くすべてのオブジェクトは、カメラを除いて回転で0,0,0です。カメラは、その後、0、180、0スクリプトが言うれる - 左 に移動するオブジェクトのために:

void Update() { 
    transform.Translate(Vector3.left * (ScrollSpeed * Time.deltaTime));//access transform component and moves it left by 20 times the frame rate 
} 

だから、技術的には左に移動しますが、カメラの視点を見に180度です正面からの試合。私の唯一の解決策は、逆になるような視点に合わせてプラットフォームを回転させることです。実際のシーンとは逆に負の数値を使用し続ける必要はありません。

+0

ゲームオブジェクトの回転が(0,180,0)であることからあなたを守っているのは何ですか?このようにオブジェクトの相対方向はカメラの相対方向と一致します。 – oxrock

答えて

0

問題が見つかりました。

元のシーン自体は0,0,0ですが、私はY軸上でシーン-180を再生し、0、0、0でカメラに直面する必要がありました。回転する唯一の方法は、背景。

1

ワールドスペースで定義されている静的変数の代わりにVector3の静的変数を使用する代わりに、カメラのtransformを使用することができます。移動方向はカメラによって異なります。それはあなたのケースで言うことです:

void Update() { 
    transform.Translate(
    -Camera.main.transform.right * (ScrollSpeed * Time.deltaTime)); 
} 

お知らせCamera.main.transform.rightの前で-、あなたのシーンに複数のカメラを持っている場合は、右方向の反対は左方向;-)

され、使用あなたが望むカメラへの参照Camera.main

関連する問題