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

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

【UE4】修改Material.cpp寫入自己的標(biāo)記

2020-12-22 22:24 作者:天空游蕩的魚  | 我要投稿

????為什么要這么做,你懂的!

????修改其實(shí)很簡(jiǎn)單,只需要在UMaterial::Serialize函數(shù)寫入字段即可。直接粘代碼了。

寫入數(shù)據(jù)到材質(zhì)球

值得注意的是:在Loading時(shí),需要做數(shù)據(jù)有效性檢查,F(xiàn)Archive不要越界了。

有寫入就會(huì)有還原,還原時(shí)應(yīng)該怎么做呢?

遍歷整個(gè)Content目錄,加載Material.uasset并保存就可以了。

UObject* MatObject = LoadObject<UObject>(NULL, TEXT("/Game/Common/PBR_Parent_Material/M_Screen_Parent01.M_Screen_Parent01"));


TArray<UPackage*> PackagesToSave;


checkf(((MatObject != nullptr) && MatObject->IsAsset()), TEXT("Invalid object to save: %s"), (MatObject != nullptr) ? *MatObject->GetFullName() : TEXT("Null Object"));

PackagesToSave.Add(MatObject->GetOutermost());


FEditorFileUtils::EPromptReturnCode ReturnCode = FEditorFileUtils::PromptForCheckoutAndSave(PackagesToSave, false , /*bPromptToSave=*/ false);

關(guān)卡也可以保存:

UObject* LevelObject = LoadObject<UObject>(NULL, TEXT("/Game/gameupdater/scene/TestLoadMap.TestLoadMap"));

bool bReturnCode = false;

UWorld* theWorld = Cast<UWorld>(LevelObject);

UClass* clz = LevelObject->GetClass();

Level = theWorld->GetLevel(0);

if (Level && FEditorFileUtils::PromptToCheckoutLevels(false, Level))

{

bReturnCode = FEditorFileUtils::SaveLevel(Level);

}


【UE4】修改Material.cpp寫入自己的標(biāo)記的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
巴彦县| 台中县| 明星| 五大连池市| 玛沁县| 克拉玛依市| 九龙城区| 博罗县| 武功县| 濮阳县| 抚顺市| 彰化县| 新丰县| 竹山县| 龙游县| 武穴市| 乐东| 德州市| 两当县| 桦川县| 鄄城县| 洛南县| 乳山市| 安化县| 新密市| 琼海市| 门头沟区| 林州市| 黔东| 彭水| 汉沽区| 泰州市| 宝丰县| 石门县| 永胜县| 清苑县| 盖州市| 海兴县| 河间市| 迁西县| 遵化市|