在虛擬仿真與可視化系統中,攝影機視野的控制至關重要。用戶通常通過鍵盤的 W、A、S、D 鍵進行前後左右移動,使用 Q 和 E 鍵實現上下移動;同時,通過滑鼠右鍵進行視角的旋轉,並利用滑鼠滾輪來調整視野的縮放。這篇文章將詳細介紹如何在 UE5.3 中利用藍圖實現這些攝影機控制功能,幫助開發者創建更加沉浸式的虛擬環境體驗。
準備工作#
綁定軸映射#
在菜單欄找到編輯 -- 項目設置 -- 引擎 -- 輸入 -- 找到軸映射,進行下圖設置:
其中,MoveForward 表示滑鼠 WS 控制攝影機前後移動,MoveRight 控制左右移動;MoveUp 控制上下移動;Turn 和 LookUp 分別控制攝影機視野的左右和上下旋轉;Zoom 控制攝影機視野縮放。
創建攝影機控制藍圖#
創建一個繼承於 Pawn 的藍圖類,命名為 BP_CamController
打開藍圖添加組件:分別添加 SpringArm、FloatingPawnMovement、Camera (作為 SpringArm 子組件) 這三個組件,如下圖:
藍圖節點連連看#
實現攝影機前後左右移動#
在事件圖表中,右鍵輸入 MoveFroward 和 MoveRight 添加 WASD 輸入事件,並根據下圖連接相關節點即可。
實現攝影機上下左右旋轉#
在事件圖表中,右鍵輸入 Turn 和 LookUp 添加滑鼠 X 和 Y 事件,並根據下圖連接相關節點即可。
實現攝影機上下移動#
在事件圖表中,右鍵輸入 MoveUp 添加 QE 輸入事件,並根據下圖連接相關節點即可。
實現攝影機視野縮放#
在事件圖表中,右鍵輸入 Zoom 添加滑鼠滾輪輸入事件,並根據下圖連接相關節點即可。
(SpringArm 為彈簧臂組件的引用)
將攝影機藍圖放置於場景中#
在內容菜單裡找到 BP_CamController 拖放置場景中合適的位置,並在細節面板中找到 Pawn 欄將 Use Controller Rotation Pitch 和 Use Controller Rotation Yaw勾選,將Auto Possess Player設置為 Player 0。
如果需要攝影機更加平滑移動,可以選中 SpringArm 組件設置其滯後欄中的 Enable Camera Lag 和 Enable Camera Rotation Lag 為勾選狀態,也可以設置相應的平滑速度
運行即可使用滑鼠鍵盤控制攝影機的視野了,其他可以根據需求進行微調。