閱讀提醒:本文會以解析高級賽車模板功能來介紹 Vehicle Blueprint(車輛藍圖)如何撰寫車輛的視角控制。
食用說明:閱讀此篇前,請先到 Project Setting 設定 Engine Input。
https://ithelp.ithome.com.tw/articles/10295600Unreal Engine:5.03 高級賽車模板
OS:Windows10
1. 滑鼠控制視角
2. 第一人稱及第三人稱視角切換
寫完了基本的移動控制,現在就來看看視角控制吧!
今天就從玩家可以透過滑鼠控制相機視角開始吧~
這塊可以實現當你使用第三人稱視角,可以使用滑鼠控制相機的視角,並且視角會圍繞車輛本身。
首先一樣請大家先到 Project Setting 設定好 Engine Input。(連結在最上方)
我們從視角的 Input 開始吧,首先新增 InputAxis LookRight 事件及 Branch,並點擊 Axis Value 節點拖曳至空白處並搜尋及新增 not equal ( != 不等於),將其 Output 連上 Branch 的 Condition 節點。
True 節點:若玩家正在使用滑鼠旋轉視角,則為 True,
True,先從節點新增 Add Local Rotation ( Back Camera 的 Spring Arm),設定旋轉視角需圍繞著車輛,並在 Delta Rotation 上方點擊右鍵,選擇 Split Struct Pin,將節點展開,並將 Z 軸節點與 Axis Value 節點連上。
False 節點:重設相機的角度
False,則從節點新增 Set Relative Rotation,並將 Target 節點連上 Spring Arm。Z 軸 新增傅立葉插值 Finterp To,會根據時間、速度執行插值,平滑相機以固定的速度回到原始的角度。Spring Arm 拖曳到空白處,接著新增 Get Relative Rotation,並點擊右鍵選擇 Split Struct Pin 展開,將 Z 軸 做為 Current 輸入值。Get World Delta Seconds 並傳遞給 Delta Time 節點,亦為須要在規定的速度內完成插值,也就是 Current 的值到 Target 值(0~1)。
如下圖,整個邏輯串起來之後,就會長這樣~
在模板中,車輛的視角預設是第三人稱,也就是使用後攝影機在追蹤車輛的行駛,若想要切換成第一人稱視角,就必須改成前攝影機(方向盤那座)。
InputAction Switch Camera 的事件,將 Pressed 節點連接上 Deactivate,也就是停用事件,並將事件 Target 連上 Front Camera、Back Camera。Flip Flop 節點,執行到該節點時,它會輪流執行 A、B 節點的事件。A、B 節點分別新增 Activate,也就是啟用事件,並將 Front Camera、Back Camera 分別輸入 Target。也就是說,我們給一個切換視角的 Input,會先停用所有的攝影機,再利用Flip Flop 節點去輪流執行啟用前攝影機或後攝影機。
TIPS:
除了大區塊註解可以按C之外,還可以在各個藍圖事件、函數、變數上點擊右鍵,在NODE COMMENT輸入要註解的內容,並按 Enter 鍵,就會出現在事件的上方。
小結:視角的控制就到這邊囉~明天好像剩下 UI 的部份!各位加油~ ٩(๑•̀ω•́๑)۶
![]()