You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
ModelingTools: Add UMultiSelectionMeshEditingTool to hold common interface requirements and functions that pertain to modeling mode MultiSelectionTools. #rb semion.piskarev #rnx #jira none #preflight 619c66d5c3287aab27e12c73 #ROBOMERGE-AUTHOR: lonnie.li #ROBOMERGE-SOURCE: CL 18269697 in //UE5/Release-5.0/... via CL 18269713 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469) [CL 18269717 by lonnie li in ue5-release-engine-test branch]
67 lines
1.7 KiB
C++
67 lines
1.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "BaseTools/BaseVoxelTool.h"
|
|
#include "InteractiveToolManager.h"
|
|
#include "ToolSetupUtil.h"
|
|
#include "ModelingToolTargetUtil.h"
|
|
#include "DynamicMesh/DynamicMesh3.h"
|
|
#include "Materials/MaterialInstanceDynamic.h"
|
|
|
|
#include "TargetInterfaces/MeshDescriptionProvider.h"
|
|
|
|
#include "MeshDescriptionToDynamicMesh.h"
|
|
|
|
|
|
#define LOCTEXT_NAMESPACE "UBaseVoxelTool"
|
|
|
|
using namespace UE::Geometry;
|
|
|
|
void UBaseVoxelTool::SetupProperties()
|
|
{
|
|
Super::SetupProperties();
|
|
VoxProperties = NewObject<UVoxelProperties>(this);
|
|
VoxProperties->RestoreProperties(this);
|
|
AddToolPropertySource(VoxProperties);
|
|
}
|
|
|
|
|
|
void UBaseVoxelTool::SaveProperties()
|
|
{
|
|
Super::SaveProperties();
|
|
VoxProperties->SaveProperties(this);
|
|
}
|
|
|
|
|
|
TArray<UMaterialInterface*> UBaseVoxelTool::GetOutputMaterials() const
|
|
{
|
|
TArray<UMaterialInterface*> Materials;
|
|
Materials.Add(LoadObject<UMaterial>(nullptr, TEXT("MATERIAL")));
|
|
return Materials;
|
|
}
|
|
|
|
|
|
void UBaseVoxelTool::ConvertInputsAndSetPreviewMaterials(bool bSetPreviewMesh)
|
|
{
|
|
OriginalDynamicMeshes.SetNum(Targets.Num());
|
|
|
|
for (int ComponentIdx = 0; ComponentIdx < Targets.Num(); ComponentIdx++)
|
|
{
|
|
OriginalDynamicMeshes[ComponentIdx] = MakeShared<FDynamicMesh3, ESPMode::ThreadSafe>();
|
|
FMeshDescriptionToDynamicMesh Converter;
|
|
Converter.Convert(UE::ToolTarget::GetMeshDescription(Targets[ComponentIdx]), *OriginalDynamicMeshes[ComponentIdx]);
|
|
}
|
|
|
|
//if (bSetPreviewMesh)
|
|
//{
|
|
// // TODO: create a low quality preview result for initial display?
|
|
//}
|
|
|
|
Preview->ConfigureMaterials(
|
|
ToolSetupUtil::GetDefaultSculptMaterial(GetToolManager()),
|
|
ToolSetupUtil::GetDefaultWorkingMaterial(GetToolManager())
|
|
);
|
|
}
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|