最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
苍梧县| 长兴县| 明溪县| 四平市| 筠连县| 施甸县| 出国| 黑龙江省| 吉林市| 靖西县| 承德市| 临潭县| 壶关县| 改则县| 长治县| 长顺县| 元朗区| 城市| 依安县| 墨江| 新竹市| 庐江县| 金秀| 建阳市| 娱乐| 商城县| 博爱县| 大悟县| 扎兰屯市| 昭通市| 慈溪市| 县级市| 吴江市| 抚宁县| 弥渡县| 隆尧县| 冷水江市| 海口市| 吉林省| 德令哈市| 钦州市|