斯坦福UE4C++課程P3-P4
新建SCharacter的C++類,繼承自ACharacter
注意事項(xiàng):C++character.h保證所有添加的頭文件在生成文件.generated.h上方
虛幻引擎自動(dòng)給C++類添加前綴:
U:從UObject繼承
A:從Actor類繼承
F:結(jié)構(gòu)體Structs
E:枚舉Enums
I:接口Interfaces
VS里ctrl+f5編譯后,將打開UE編輯器,創(chuàng)建的C++類顯示在內(nèi)容瀏覽器中。
新建藍(lán)圖類,選擇繼承自前面創(chuàng)建的SCharacter類。
左側(cè)有若干組件:
CapsuleComponent(Inherited):處理碰撞collision和移動(dòng)movement
ArrowComponent(Ingerited):顯示人物方向
Mesh(Inherited):人物的網(wǎng)格體
CharacterMovement(Inherited):關(guān)于人物移動(dòng)的C++組件,2000行代碼
最簡(jiǎn)單的把上面藍(lán)圖類作為可控角色的方法是,把藍(lán)圖類拖入視口中,刪除已有的角色出生點(diǎn),右下側(cè)搜索poss,設(shè)置Auto Possess player為player0。
此法最終不會(huì)被使用,但是對(duì)debug很有用。
點(diǎn)擊左上file,save all levels存儲(chǔ)關(guān)卡。

為SCharacter角色添加攝像機(jī)組件
在SCharacter.cpp下添加頭文件
在SCharacter.h的protected下添加彈簧臂組件和相機(jī)組件
在SCharacter.cpp文件的構(gòu)造函數(shù)下添加
ctrl+f5編譯,藍(lán)圖類組件多了上面創(chuàng)建的彈簧臂和相機(jī),但右側(cè)細(xì)節(jié)為空白的,因?yàn)槟J(rèn)設(shè)置為藍(lán)圖不可見。
介紹虛幻引擎的資產(chǎn)系統(tǒng)(Unreal Property System):
UPROPERTY, UFUNCTION, UCLASS, USTRUCT, UENUM(Unreal Macros)
控制編輯器editor藍(lán)圖blueprint訪問、網(wǎng)絡(luò)行為(多玩家情況下)。
實(shí)際上被用于追蹤指針和一個(gè)對(duì)象的內(nèi)存,建立若干鏈接。
是虛幻引擎提供的樣板文件
使用方法類似下方:
使得彈簧臂和相機(jī)組件中的變量在編輯器editor和藍(lán)圖blueprint中均可見。
現(xiàn)在編譯,回到藍(lán)圖類,發(fā)現(xiàn)彈簧臂和相機(jī)組件的details面板處可以看到所有屬性。
tips:SetupAttachment函數(shù)把彈簧臂設(shè)置到根組件RootComponent,把相機(jī)設(shè)置到彈簧臂SpringArmComp,使得相機(jī)跟隨彈簧臂而運(yùn)動(dòng)。
彈簧臂作用是當(dāng)有物體擋在相機(jī)和角色中間時(shí),把相機(jī)拉近到物體,使得角色可見。