Houdini Engine For Unreal 18.5.606 PDG Bake時のLandscape処理の提案

   1249   2   0
User Avatar
Member
7 posts
Joined: Jan. 2021
Offline
お世話になっております。

この度提案したい事があり投稿させて頂きました。
長文にて失礼いたします。
 

Houdini上でLabs WorldComposition Prepare ノード使い、PDGで出力するようなHDAを組みます。
それをUE4にてCookOutputで複数のテラインを出力した後Bakeしようとすると添付画像のようにTexture2D_0_BaseColorの参照が元のパーシスタントに残ってしまい出力に失敗するという現象があります。
このTexture2D_0_BaseColorというものはULandscapeComponentがもつGIBakedBaseColorTextureになります。
しかし、他のレベル出力に使われている関数ULandscapeInfo::MoveComponentsToLevel 移行時に必要なテクスチャはHeightMapのみのようでした。
 
これらの事からMoveComponentsToLevel を行う直前にGIBakedBaseColorTextureをクリアしてしまうのが処理としては安全ではないかと思う次第です。
 
HoudiniEngine\Source\HoudiniEngineEditor\Private\HoudiniEngineBakeUtils.cpp

FHoudiniEngineBakeUtils::BakeLandscapeObject(
内で以下のようにします。
	if (TargetLevel != TileActor->GetLevel())
	{
		bool bLevelInWorld = TileWorld->ContainsLevel(TargetLevel);
		ALandscape* SharedLandscape = TileActor->GetLandscapeActor();
		ULandscapeInfo* LandscapeInfo = TileActor->GetLandscapeInfo();
		//----------------kajii 追加分
		{
			for (ULandscapeComponent* Component : TileActor->LandscapeComponents){
				if (Component != nullptr && Component->GIBakedBaseColorTexture != nullptr){
					Component->BakedTextureMaterialGuid.Invalidate();
					Component->GIBakedBaseColorTexture = nullptr;
					Component->MarkRenderStateDirty();
				}
			}
		}
                //-----------------------------------

		check(LandscapeInfo);
		
		// We can now move the current landscape to the new world / level
		// if (TileActor->GetClass()->IsChildOf<ALandscapeStreamingProxy>())
		{
			// We can only move streaming proxies to sublevels for now.
			TArray<AActor*> ActorsToMove = {TileActor};
			ALandscapeProxy* NewLandscapeProxy = LandscapeInfo->MoveComponentsToLevel(TileActor->LandscapeComponents, TargetLevel);



			

というようにしてしまうのが良いのではないかと思うのですが如何でしょうか?

Attachments:
BakeError.png (27.1 KB)

User Avatar
Staff
220 posts
Joined: April 2015
Online
ご提案有難うございます。
差し支えなければ、問題が再現できる簡単なシーンファイルと HDA を ktaki@sidefx.com に送っていいただけないでしょうか?

お手数をおかけいたしますが、宜しくお願い致します。
User Avatar
Staff
220 posts
Joined: April 2015
Online
こちらの件は 114061 として登録しております。
  • Quick Links