使用UE5.1.1做一個攝像機漫游角色
1.在內(nèi)容瀏覽器空白處點擊右鍵選擇藍圖類,如下圖:

2.選擇第二個Pawn,創(chuàng)建一個新的藍圖類,隨便取個名字,這里命名為CameraControlpawn,最好前面可以加個BP_,更規(guī)范一些


3.雙擊進入新創(chuàng)建的CameraControlPawn藍圖類,添加浮動pawn移動組件

4.接著添加彈簧臂組件和攝像機組件,其中將彈簧臂長度設置為0,如下圖:

5.準備工作完成后,接下來進行增強輸入操作設置,如下圖,新建一個名為Input的文件夾,用來存放我們添加的數(shù)據(jù)資產(chǎn);在該文件夾下再單獨創(chuàng)建一個名為Action的文件夾,用來存放我們添加的輸入操作數(shù)據(jù)資產(chǎn),在Action文件夾下,右鍵點擊空白處添加輸入操作,五個即可,可以分別命名為IA_CameraForward,IA_CameraRight,IA_CameraUp,IA_MouseX,IA_MouseY,分別用來控制攝像機前后、左右、上下移動以及攝像機繞y軸和z軸的旋轉(zhuǎn)


6.將值類型都改為Axis1D(浮點)

7.然后右鍵-輸入-輸入映射情境,創(chuàng)建一個輸入映射數(shù)據(jù)資產(chǎn),可以命名為IMC_Camera


8.雙擊打開IMC_Camera,添加映射,如下:

在這里設定W鍵向前,S鍵向后,那么就在S鍵添加一個否定即可,表示W(wǎng)值為1,S值為-1,之下同理

下面是各個輸入操作的設置:



9.進入之前創(chuàng)建的CameraControlPawn類中的事件圖表,在事件開始運行時添加輸入映射,如下圖所示:

在“添加映射上下文”節(jié)點處的“Mapping Context”選擇之前創(chuàng)建的輸入映射數(shù)據(jù)資產(chǎn)(IMC_Camera),如下圖:

10.編寫藍圖實現(xiàn)通過鼠標移動來旋轉(zhuǎn)視角的功能,如下圖:

11.編寫藍圖實現(xiàn)通過鍵盤WASD按鍵進行攝像機前后左右移動的功能,如下圖:
(Camera變量可直接從左側(cè)組件樹里拖出)

12.編寫藍圖實現(xiàn)通過鍵盤EQ按鍵進行攝像機上下移動的功能,如下圖:
方向設置為(0,0,1)即可

13.將CameraControlPawn藍圖類直接拖入場景中,設置自動控制玩家為“玩家0”,然后點擊運行

14.運行后會發(fā)現(xiàn)攝像機的移動時正常執(zhí)行的,但無法旋轉(zhuǎn)視角,這是我們之前忘了勾選一個變量,此時進入到我們的CameraControlPawn藍圖類中,點擊彈簧臂組件,在右側(cè)細節(jié)面板找到“使用Pawn控制旋轉(zhuǎn)”,將其勾選上,表示這個布爾變量的值為真,然后編譯保存再運行就可以正常旋轉(zhuǎn)了

15.但此時運行后我們還會發(fā)現(xiàn)一個問題,便是攝像機它會穿過場景中的物體,

為了修復它,我們再次進入到CameraControlPawn藍圖類中,為其添加一個box collision組件,如下圖:

并將其碰撞預設改為Pawn

然后將Box設置為根即可:

用sphere collision組件應該更好一些,代替box collision
編譯保存就可以正常運行了。
16.要想調(diào)節(jié)攝像機的速度和運動平滑的特性,可以直接改動浮動pawn移動組件中的最大速度、加速器以及減速度即可,一般加速度和減速度比最大速度低就可以讓攝像機的移動比較平滑

還可以啟用相機延遲和相機旋轉(zhuǎn)延遲讓運動更加絲滑

以上就是一個簡單的攝像機漫游角色的構(gòu)建。