You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
An unused ::GetPropertyCache() function was also removed. #rb semion.piskarev #rnx #jira none [CL 16669477 by Ryan Schmidt in ue5-main branch]
64 lines
1.8 KiB
C++
64 lines
1.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Properties/MeshMaterialProperties.h"
|
|
|
|
#include "DynamicMesh/DynamicMesh3.h"
|
|
#include "DynamicMesh/DynamicMeshAttributeSet.h"
|
|
#include "DynamicMesh/MeshNormals.h"
|
|
|
|
#include "Components/DynamicMeshComponent.h"
|
|
|
|
#include "Materials/MaterialInstanceDynamic.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "UMeshMaterialProperites"
|
|
|
|
UNewMeshMaterialProperties::UNewMeshMaterialProperties()
|
|
{
|
|
Material = CreateDefaultSubobject<UMaterialInterface>(TEXT("MATERIAL"));
|
|
}
|
|
|
|
void UExistingMeshMaterialProperties::RestoreProperties(UInteractiveTool* RestoreToTool, const FString& CacheIdentifier)
|
|
{
|
|
Super::RestoreProperties(RestoreToTool, CacheIdentifier);
|
|
Setup();
|
|
}
|
|
|
|
void UExistingMeshMaterialProperties::Setup()
|
|
{
|
|
UMaterial* CheckerMaterialBase = LoadObject<UMaterial>(nullptr, TEXT("/MeshModelingToolset/Materials/CheckerMaterial"));
|
|
if (CheckerMaterialBase != nullptr)
|
|
{
|
|
CheckerMaterial = UMaterialInstanceDynamic::Create(CheckerMaterialBase, NULL);
|
|
if (CheckerMaterial != nullptr)
|
|
{
|
|
CheckerMaterial->SetScalarParameterValue("Density", CheckerDensity);
|
|
CheckerMaterial->SetScalarParameterValue("UVChannel", (float)UVChannel);
|
|
}
|
|
}
|
|
}
|
|
|
|
void UExistingMeshMaterialProperties::UpdateMaterials()
|
|
{
|
|
if (CheckerMaterial != nullptr)
|
|
{
|
|
CheckerMaterial->SetScalarParameterValue("Density", CheckerDensity);
|
|
CheckerMaterial->SetScalarParameterValue("UVChannel", (float)UVChannel);
|
|
}
|
|
}
|
|
|
|
|
|
UMaterialInterface* UExistingMeshMaterialProperties::GetActiveOverrideMaterial() const
|
|
{
|
|
if (MaterialMode == ESetMeshMaterialMode::Checkerboard && CheckerMaterial != nullptr)
|
|
{
|
|
return CheckerMaterial;
|
|
}
|
|
if (MaterialMode == ESetMeshMaterialMode::Override && OverrideMaterial != nullptr)
|
|
{
|
|
return OverrideMaterial;
|
|
}
|
|
return nullptr;
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE
|