2017-08-14 45 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度看從前面的比賽。那麼,我唯一的解決方案就是在Y平臺上旋轉平臺以匹配視角,使其反轉,因此在處理事情時我不必繼續使用負數來做與實際場景相反的事情。

+0

什麼讓你不能讓gameobject的旋轉爲(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