LayaBox 實現第三人稱相機跟隨


我們通常會遇到不同的場景需要不同的相機視角,例如:第一人稱、第三人稱。

第一人稱的話,可以將輸入控制腳本掛載在Camera上,直接控制Camera的position和rotation來實現;

對於第三人稱,實際上我們控制腳本是用來控制場景中人物的動作的,所以此時我們需要根據人物的姿態的改變對相機姿態做適應性改變,達到相機跟隨的效果。

話不多說,直接上代碼

 

頂視圖示例:

因為相機要跟隨主角色,所以我這里默認相機(長方塊)位置是相對於角色位置后面距離為10,並且LookAt主角色位置;

所以如何計算相機的位置就顯得很重要。

當主角色沒有發生旋轉(y-up下,y軸旋轉值為0)的時候,相機的位置偏移為

dx = distance * sin(0) = 0;dz = distance * cos(0) = distance.

所以此時相機位置為vec3(men.position.x + dx,men.position.y + 2,men.position.z + dz);

第二張圖同理,所以我們只需要知道每一幀(或者是主角色姿態發生改變的時候)狀態下,主角色的position數據和y軸的旋轉值,就可以相對應算出此時相機應該位於什么位置上

 

注意:主角色和相機都是在世界坐標系下,或者說擁有相同的父元素。

最后是一張案例效果圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM