五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

UE5中使用c++為Actor運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建Component和ChildActor

2023-08-31 13:26 作者:飛呀飛呀文具盒  | 我要投稿

如何在運(yùn)行時(shí)為Actor創(chuàng)建組件,網(wǎng)絡(luò)中搜索有2種方式,一種是在構(gòu)造函數(shù)中進(jìn)行,本文主要講述另外一種不在構(gòu)造函數(shù)中使用CreateDefaultSubobject創(chuàng)建的方式


通過(guò)網(wǎng)絡(luò)搜索,會(huì)得到如下的代碼,可以在非構(gòu)造函數(shù)中創(chuàng)建組件,比如通過(guò)按鈕觸發(fā),或者在BeginPlay函數(shù)中創(chuàng)建


但是測(cè)試之后,發(fā)現(xiàn)組件并沒(méi)有正確被創(chuàng)建出來(lái),經(jīng)過(guò)筆者的測(cè)試,使用如下的方式可以正確的在運(yùn)行時(shí)動(dòng)態(tài)的給Actor添加上Component,筆者測(cè)試的引擎版本是UE5.2.1


給Actor動(dòng)態(tài)增加一個(gè)StaticMeshComponent


  • 首先我們先創(chuàng)建一個(gè)c++的類(lèi)MyTest,創(chuàng)建完成后,2個(gè)文件如下所示,你們的代碼文件會(huì)因?yàn)轫?xiàng)目名稱(chēng)跟我不一樣而有區(qū)別,主要就是TestProject_API會(huì)變成你的項(xiàng)目名字加_API

MyTest.h



MyTest.cpp



  • 首先給MyTest.cpp文件增加一個(gè)引用,因?yàn)闀?huì)使用到構(gòu)造Transform的方法


  • 給MyTest.h中增加一個(gè)屬性,用于我們方便的指定一個(gè)靜態(tài)網(wǎng)格體資源



  • 這次我們?cè)贐eginPlay()函數(shù)中增加組件


這樣我們就完成了動(dòng)態(tài)的增加組件,編譯后在UE5中指定靜態(tài)網(wǎng)格體資源之后就可以運(yùn)行了,做法如下,在UE的C++ Classes路徑下面,找到我們創(chuàng)建的C++類(lèi),右鍵選擇創(chuàng)建藍(lán)圖



打開(kāi)藍(lán)圖,選擇靜態(tài)網(wǎng)格體資源,將我們創(chuàng)建的藍(lán)圖拖拽到場(chǎng)景中,運(yùn)行即可看到靜態(tài)網(wǎng)格體組件被創(chuàng)建出來(lái)了



給Actor動(dòng)態(tài)增加一個(gè)ChildActor

原理和增加組件是一樣的,增加一個(gè)ChildActorComponent,再設(shè)置ChildActorClass,我們直接上代碼


  • 給MyTest.h中增加一個(gè)屬性,用于我們方便的指定子對(duì)象的藍(lán)圖資源



  • 在BeginPlay()函數(shù)中增加組件



最終的代碼結(jié)果


MyTest.h



MyTest.cpp


UE5中使用c++為Actor運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建Component和ChildActor的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
莒南县| 琼海市| 宜都市| 涟源市| 清河县| 芮城县| 丹寨县| 黔东| 比如县| 青海省| 布尔津县| 棋牌| 天长市| 阿拉善左旗| 石棉县| 罗源县| 铜川市| 涞源县| 盐津县| 壶关县| 思茅市| 玉屏| 桦川县| 长汀县| 青神县| 双江| 阜新市| 永泰县| 财经| 凤庆县| 台东县| 改则县| 房山区| 盘山县| 临洮县| 于田县| 哈巴河县| 浙江省| 丽江市| 平罗县| 嵊泗县|