我正在Unity3d這是一個亞軍遊戲寫一個應用程序。現在當我跳字符(在y方向移動),然後相機旋轉,因爲我使用使用主要相機transform.LookAt在一個目標,但沒有相機的旋轉
transform.LookAt(character)
1.第一圖像當角色處於正常運行狀態
2,第二圖像是當人物跳躍
我想讓相機看起來沒有旋轉的字符
我正在Unity3d這是一個亞軍遊戲寫一個應用程序。現在當我跳字符(在y方向移動),然後相機旋轉,因爲我使用使用主要相機transform.LookAt在一個目標,但沒有相機的旋轉
transform.LookAt(character)
1.第一圖像當角色處於正常運行狀態
2,第二圖像是當人物跳躍
我想讓相機看起來沒有旋轉的字符
有幾種解決方案。由於您直接通過transform.LookAt()
操縱查看方向,因此您可以簡單地更改目標。
LookAt方法有一個過載,讓您指定目標的位置(Vector3
而不是Transform
)。
可以不是忽略目標的y軸座標,並選擇一個固定的Y值:
Vector3 lookAtPosition = character.transform.position;
lookAtPosition.y = fixedYPosition;
transform.LookAt(lookAtPosition);
注意的是,上述解決方案僅如果字符留始終在同一平面上(ES沒有更多的地板,樓梯。等)。
謝謝我試過這個,但是它並沒有阻止相機在旋轉的同時讓角色跳起來。注意在上面的兩個圖像相機高度保持不變,只是在字符跳轉時旋轉至LookAT字符 – hariszaman
由於目標y正在改變值而旋轉。如果目標的y保持不變,則應該注意旋轉。如果目標的y與您在其他地方修改相機y相同。 – Heisenbug
是的目標y變化了,我希望那個相機不應該在目標Y變化的時候旋轉。我只是希望相機應該從背後看一個角色,從某個高度離開它。基本上就像任何無盡的亞軍遊戲,例如廟宇跑步 – hariszaman
你的意思是你想讓相機在角色跳躍時向上移動,或者當你跳躍時你想讓它不旋轉? –
我希望它不會在它跳轉時旋轉它應該像它在第一個圖像中的樣子 – hariszaman