521 lines
18 KiB
C++
521 lines
18 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "PolishBuildingsPrivatePCH.h"
|
|
#include "SPolishBuildingsDialog.h"
|
|
#include "Dialogs/DlgPickAssetPath.h"
|
|
#include "STextComboBox.h"
|
|
#include "RawMesh.h"
|
|
#include "PolishBuildingsTool/PolishBuildingsTool.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "SPolishBuildingsDialog"
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// SPolishBuildingsDialog
|
|
|
|
SPolishBuildingsDialog::SPolishBuildingsDialog()
|
|
{
|
|
}
|
|
|
|
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
|
void SPolishBuildingsDialog::Construct(const FArguments& InArgs, FPolishBuildingsTool* InTool)
|
|
{
|
|
Tool = InTool;
|
|
check(Tool != nullptr);
|
|
|
|
// Setup available resolutions for lightmap and merged materials
|
|
const int32 MinTexResolution = 1 << FTextureLODGroup().MinLODMipCount;
|
|
const int32 MaxTexResolution = 1 << FTextureLODGroup().MaxLODMipCount;
|
|
for (int32 TexRes = MinTexResolution; TexRes <= MaxTexResolution; TexRes*=2)
|
|
{
|
|
LightMapResolutionOptions.Add(MakeShareable(new FString(TTypeToString<int32>::ToString(TexRes))));
|
|
MergedMaterialResolutionOptions.Add(MakeShareable(new FString(TTypeToString<int32>::ToString(TexRes))));
|
|
}
|
|
|
|
Tool->MergingSettings.TargetLightMapResolution = FMath::Clamp(Tool->MergingSettings.TargetLightMapResolution, MinTexResolution, MaxTexResolution);
|
|
Tool->MergingSettings.MaterialSettings.TextureSize.X = FMath::Clamp( Tool->MergingSettings.MaterialSettings.TextureSize.X, MinTexResolution, MaxTexResolution );
|
|
Tool->MergingSettings.MaterialSettings.TextureSize.Y = FMath::Clamp( Tool->MergingSettings.MaterialSettings.TextureSize.Y, MinTexResolution, MaxTexResolution );
|
|
|
|
// Setup available UV channels for an atlased lightmap
|
|
for (int32 Index = 0; Index < MAX_MESH_TEXTURE_COORDS; Index++)
|
|
{
|
|
LightMapChannelOptions.Add(MakeShareable(new FString(TTypeToString<int32>::ToString(Index))));
|
|
}
|
|
|
|
for (int32 Index = 0; Index < MAX_STATIC_MESH_LODS; Index++)
|
|
{
|
|
ExportLODOptions.Add(MakeShareable(new FString(TTypeToString<int32>::ToString(Index))));
|
|
}
|
|
|
|
// Create widget layout
|
|
this->ChildSlot
|
|
[
|
|
SNew(SVerticalBox)
|
|
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(0,2,0,0)
|
|
[
|
|
// Lightmap settings
|
|
SNew(SBorder)
|
|
.BorderImage(FEditorStyle::GetBrush("ToolPanel.GroupBorder"))
|
|
[
|
|
SNew(SVerticalBox)
|
|
|
|
// Enable atlasing
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetGenerateLightmapUV)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetGenerateLightmapUV)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("AtlasLightmapUVLabel", "Generate Lightmap UVs"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
// Target lightmap channel / Max lightmap resolution
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SHorizontalBox)
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
[
|
|
SNew(STextBlock)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsLightmapChannelEnabled)
|
|
.Text(LOCTEXT("TargetLightMapChannelLabel", "Target Channel:"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
.Padding(4,0,4,0)
|
|
[
|
|
SNew(STextComboBox)
|
|
.IsEnabled( this, &SPolishBuildingsDialog::IsLightmapChannelEnabled )
|
|
.OptionsSource(&LightMapChannelOptions)
|
|
.InitiallySelectedItem(LightMapChannelOptions[Tool->MergingSettings.TargetLightMapUVChannel])
|
|
.OnSelectionChanged(this, &SPolishBuildingsDialog::SetTargetLightMapChannel)
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
[
|
|
SNew(STextBlock)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsLightmapChannelEnabled)
|
|
.Text(LOCTEXT("TargetLightMapResolutionLabel", "Target Resolution:"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
.Padding(4,0,4,0)
|
|
[
|
|
SNew(STextComboBox)
|
|
.IsEnabled( this, &SPolishBuildingsDialog::IsLightmapChannelEnabled )
|
|
.OptionsSource(&LightMapResolutionOptions)
|
|
.InitiallySelectedItem(LightMapResolutionOptions[FMath::FloorLog2(Tool->MergingSettings.TargetLightMapResolution)])
|
|
.OnSelectionChanged(this, &SPolishBuildingsDialog::SetTargetLightMapResolution)
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
]
|
|
]
|
|
|
|
// Other merging settings
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(0,2,0,0)
|
|
[
|
|
SNew(SBorder)
|
|
.BorderImage(FEditorStyle::GetBrush("ToolPanel.GroupBorder"))
|
|
[
|
|
SNew(SVerticalBox)
|
|
|
|
// LOD to export
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SHorizontalBox)
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetExportSpecificLODEnabled)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetExportSpecificLODEnabled)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsExportSpecificLODEnabled)
|
|
.Text(LOCTEXT("TargetMeshLODIndexLabel", "Export specific LOD:"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
.Padding(4,0,4,0)
|
|
[
|
|
SNew(STextComboBox)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsExportSpecificLODEnabled)
|
|
.OptionsSource(&ExportLODOptions)
|
|
.InitiallySelectedItem(ExportLODOptions[Tool->ExportLODIndex])
|
|
.OnSelectionChanged(this, &SPolishBuildingsDialog::SetExportSpecificLODIndex)
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
// Vertex colors
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetImportVertexColors)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetImportVertexColors)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("ImportVertexColorsLabel", "Import Vertex Colors"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
// Pivot at zero
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetPivotPointAtZero)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetPivotPointAtZero)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("PivotPointAtZeroLabel", "Pivot Point At (0,0,0)"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
// Replace source actors
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetReplaceSourceActors)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetReplaceSourceActors)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("ReplaceSourceActorsLabel", "Replace Source Actors"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
// Merge physics data
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetMergePhyisicData)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetMergePhyisicData)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("MergePhysicsDataLabel", "Merge Physics Data"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
// Merge materials
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetMergeMaterials)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetMergeMaterials)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("MergeMaterialsLabel", "Merge Materials"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
// Export normal map
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetExportNormalMap)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetExportNormalMap)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsMaterialMergingEnabled)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("ExportNormalMapLabel", "Export Normal Map"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
// Export metallic map
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetExportMetallicMap)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetExportMetallicMap)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsMaterialMergingEnabled)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("ExportMetallicMapLabel", "Export Metallic Map"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
// Export roughness map
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetExportRoughnessMap)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetExportRoughnessMap)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsMaterialMergingEnabled)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("ExportRoughnessMapLabel", "Export Roughness Map"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
// Export specular map
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SCheckBox)
|
|
.Type(ESlateCheckBoxType::CheckBox)
|
|
.IsChecked(this, &SPolishBuildingsDialog::GetExportSpecularMap)
|
|
.OnCheckStateChanged(this, &SPolishBuildingsDialog::SetExportSpecularMap)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsMaterialMergingEnabled)
|
|
.Content()
|
|
[
|
|
SNew(STextBlock)
|
|
.Text(LOCTEXT("ExportSpecularMapLabel", "Export Specular Map"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
|
|
// Merged texture size
|
|
+SVerticalBox::Slot()
|
|
.AutoHeight()
|
|
.Padding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
|
|
[
|
|
SNew(SHorizontalBox)
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
[
|
|
SNew(STextBlock)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsMaterialMergingEnabled)
|
|
.Text(LOCTEXT("MergedMaterialAtlasResolutionLabel", "Merged Material Atlas Resolution:"))
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
.Padding(4,0,4,0)
|
|
[
|
|
SNew(STextComboBox)
|
|
.IsEnabled(this, &SPolishBuildingsDialog::IsMaterialMergingEnabled)
|
|
.OptionsSource(&MergedMaterialResolutionOptions)
|
|
.InitiallySelectedItem( MergedMaterialResolutionOptions[FMath::FloorLog2( Tool->MergingSettings.MaterialSettings.TextureSize.X )] )
|
|
.OnSelectionChanged(this, &SPolishBuildingsDialog::SetMergedMaterialAtlasResolution)
|
|
.Font(FEditorStyle::GetFontStyle("StandardDialog.SmallFont"))
|
|
]
|
|
]
|
|
]
|
|
]
|
|
];
|
|
}
|
|
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetGenerateLightmapUV() const
|
|
{
|
|
return (Tool->MergingSettings.bGenerateLightMapUV ? ECheckBoxState::Checked : ECheckBoxState::Unchecked);
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetGenerateLightmapUV(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.bGenerateLightMapUV = (ECheckBoxState::Checked == NewValue);
|
|
}
|
|
|
|
bool SPolishBuildingsDialog::IsLightmapChannelEnabled() const
|
|
{
|
|
return Tool->MergingSettings.bGenerateLightMapUV;
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetTargetLightMapChannel(TSharedPtr<FString> NewSelection, ESelectInfo::Type SelectInfo)
|
|
{
|
|
TTypeFromString<int32>::FromString(Tool->MergingSettings.TargetLightMapUVChannel, **NewSelection);
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetTargetLightMapResolution(TSharedPtr<FString> NewSelection, ESelectInfo::Type SelectInfo)
|
|
{
|
|
TTypeFromString<int32>::FromString(Tool->MergingSettings.TargetLightMapResolution, **NewSelection);
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetExportSpecificLODEnabled() const
|
|
{
|
|
return (Tool->bExportSpecificLOD ? ECheckBoxState::Checked : ECheckBoxState::Unchecked);
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetExportSpecificLODEnabled(ECheckBoxState NewValue)
|
|
{
|
|
Tool->bExportSpecificLOD = (NewValue == ECheckBoxState::Checked);
|
|
}
|
|
|
|
bool SPolishBuildingsDialog::IsExportSpecificLODEnabled() const
|
|
{
|
|
return Tool->bExportSpecificLOD;
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetExportSpecificLODIndex(TSharedPtr<FString> NewSelection, ESelectInfo::Type SelectInfo)
|
|
{
|
|
TTypeFromString<int32>::FromString(Tool->ExportLODIndex, **NewSelection);
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetImportVertexColors() const
|
|
{
|
|
return ( Tool->MergingSettings.bBakeVertexData ? ECheckBoxState::Checked : ECheckBoxState::Unchecked );
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetImportVertexColors(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.bBakeVertexData = ( ECheckBoxState::Checked == NewValue );
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetPivotPointAtZero() const
|
|
{
|
|
return (Tool->MergingSettings.bPivotPointAtZero ? ECheckBoxState::Checked : ECheckBoxState::Unchecked);
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetPivotPointAtZero(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.bPivotPointAtZero = (ECheckBoxState::Checked == NewValue);
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetReplaceSourceActors() const
|
|
{
|
|
return (Tool->bReplaceSourceActors ? ECheckBoxState::Checked : ECheckBoxState::Unchecked);
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetReplaceSourceActors(ECheckBoxState NewValue)
|
|
{
|
|
Tool->bReplaceSourceActors = (ECheckBoxState::Checked == NewValue);
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetMergePhyisicData() const
|
|
{
|
|
return (Tool->MergingSettings.bMergePhysicsData ? ECheckBoxState::Checked : ECheckBoxState::Unchecked);
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetMergePhyisicData(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.bMergePhysicsData = (ECheckBoxState::Checked == NewValue);
|
|
}
|
|
|
|
bool SPolishBuildingsDialog::IsMaterialMergingEnabled() const
|
|
{
|
|
return Tool->MergingSettings.bMergeMaterials;
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetMergeMaterials() const
|
|
{
|
|
return (Tool->MergingSettings.bMergeMaterials ? ECheckBoxState::Checked : ECheckBoxState::Unchecked);
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetMergeMaterials(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.bMergeMaterials = (ECheckBoxState::Checked == NewValue);
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetExportNormalMap() const
|
|
{
|
|
return ( Tool->MergingSettings.MaterialSettings.bNormalMap ? ECheckBoxState::Checked : ECheckBoxState::Unchecked );
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetExportNormalMap(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.MaterialSettings.bNormalMap = ( ECheckBoxState::Checked == NewValue );
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetExportMetallicMap() const
|
|
{
|
|
return ( Tool->MergingSettings.MaterialSettings.bMetallicMap ? ECheckBoxState::Checked : ECheckBoxState::Unchecked );
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetExportMetallicMap(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.MaterialSettings.bMetallicMap = ( ECheckBoxState::Checked == NewValue );
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetExportRoughnessMap() const
|
|
{
|
|
return ( Tool->MergingSettings.MaterialSettings.bRoughnessMap ? ECheckBoxState::Checked : ECheckBoxState::Unchecked );
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetExportRoughnessMap(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.MaterialSettings.bRoughnessMap = ( ECheckBoxState::Checked == NewValue );
|
|
}
|
|
|
|
ECheckBoxState SPolishBuildingsDialog::GetExportSpecularMap() const
|
|
{
|
|
return ( Tool->MergingSettings.MaterialSettings.bSpecularMap ? ECheckBoxState::Checked : ECheckBoxState::Unchecked );
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetExportSpecularMap(ECheckBoxState NewValue)
|
|
{
|
|
Tool->MergingSettings.MaterialSettings.bSpecularMap = ( ECheckBoxState::Checked == NewValue );
|
|
}
|
|
|
|
void SPolishBuildingsDialog::SetMergedMaterialAtlasResolution(TSharedPtr<FString> NewSelection, ESelectInfo::Type SelectInfo)
|
|
{
|
|
TTypeFromString<int32>::FromString( Tool->MergingSettings.MaterialSettings.TextureSize.X, **NewSelection );
|
|
TTypeFromString<int32>::FromString( Tool->MergingSettings.MaterialSettings.TextureSize.Y, **NewSelection );
|
|
}
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|