前言:
之前期末要用UE4做個(gè)遊戲,老師只有教BP,所以自己看文件學(xué)了一下C++的使用方法。
編譯環(huán)境
開啟VS installer找到 Unreal Engine安裝程式,右側(cè)需勾選Unreal Engine安裝程式
產(chǎn)生腳本
給玩家用的擴(kuò)充腳本可由:file >創(chuàng)建New Character class,選public若要某些資料可以由藍(lán)圖使用。
剛創(chuàng)建的檔案在 Games/Source/{projectName}/Public/ 下面
讓玩家繼承該ACharacter腳本:到玩家BP頁面,reparent bp選擇剛剛創(chuàng)的cpp檔。
結(jié)果就能在藍(lán)圖上叫出我們定義的類別方塊了。
實(shí)作:小於z值時(shí)變成Ragdoll死亡重生
在world setting下面有kill z設(shè)定 (表物件z高度低於此就會(huì)摧毀)
在AActor類別物件z軸低於Kill Z時(shí)候會(huì)呼叫FellOutOfWorld ,我們?cè)谠摲椒ㄏ率褂米杂喌姆椒ā?/font>
HP歸零時(shí)先轉(zhuǎn)成RagDall骨架2秒後死亡回收物件:
設(shè)計(jì)重生方法:
重生方法:
並不是每個(gè)骨架都能使用ragdoll profile,這邊下載的SK hero骨架不適用ragdoll profile,所以先改回預(yù)設(shè)的UE4白人骨架Mannequin。
成功~
建立自己的函式庫
可以看官方的教學(xué):面向藍(lán)圖師的C++ - Unreal Engine
自訂方法:取得範(fàn)圍內(nèi)玩家bp原本有個(gè)Get Actor of Class方法,我們想要?jiǎng)?chuàng)個(gè)進(jìn)階的:取得範(fàn)圍內(nèi)玩家。 紅線表示出該方法定義於 GamePlay Statics類別。
在visual studio按下 ctl+, ,尋找該類別header。
找到並複製 GetActorOfClass定義至我們自己的header檔案中:
- BlueprintCallable 表可在bp系統(tǒng)中當(dāng)作節(jié)點(diǎn)使用
- Category 分類
- WorldContext 直接指定物件為self。
- DeterminesOutputType="ActorClass" 表output value自動(dòng)cast to ActorClass
- TSubclassOf<AActor> ActorClass 表輸入?yún)?shù)只接受AActor的子類別
- 遊戲引擎的struct常用F開頭。
就能出現(xiàn)在bp上了。
實(shí)際呼叫