ETH官方钱包

前往
大廳
主題 達(dá)人專欄

【UE4 C++ 學(xué)習(xí)筆記】從C++搭配藍(lán)圖到製作函式庫

%%鼠 拒收病婿 | 2022-05-01 17:02:59 | 巴幣 1538 | 人氣 2680

前言:
之前期末要用UE4做個(gè)遊戲,老師只有教BP,所以自己看文件學(xué)了一下C++的使用方法。

一樣內(nèi)容跟程式碼會(huì)放在個(gè)人網(wǎng)站上


編譯環(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/ 下面
預(yù)設(shè)腳本內(nèi)容如下:

讓玩家繼承該ACharacter腳本:到玩家BP頁面,reparent bp選擇剛剛創(chuàng)的cpp檔。


複寫藍(lán)圖方法

宣告方法(.h)
.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

建立C++檔案

選擇建立bp function lib

自訂方法:取得範(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í)際呼叫





送禮物贊助創(chuàng)作者 !
0
留言

創(chuàng)作回應(yīng)

追蹤 創(chuàng)作集

作者相關(guān)創(chuàng)作

更多創(chuàng)作