64 lines
2.7 KiB
C++
64 lines
2.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Factories/FbxSceneImportOptionsStaticMesh.h"
|
|
|
|
#include "Containers/EnumAsByte.h"
|
|
#include "Factories/FbxMeshImportData.h"
|
|
#include "Factories/FbxSceneImportOptions.h"
|
|
#include "Factories/FbxStaticMeshImportData.h"
|
|
#include "Math/MathFwd.h"
|
|
#include "Math/Rotator.h"
|
|
#include "Math/Vector.h"
|
|
#include "Misc/AssertionMacros.h"
|
|
#include "UObject/UnrealNames.h"
|
|
|
|
|
|
UFbxSceneImportOptionsStaticMesh::UFbxSceneImportOptionsStaticMesh(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
, StaticMeshLODGroup(NAME_None)
|
|
, bAutoGenerateCollision(true)
|
|
, bRemoveDegenerates(true)
|
|
, bBuildReversedIndexBuffer(true)
|
|
, bGenerateLightmapUVs(true)
|
|
, bOneConvexHullPerUCX(true)
|
|
{
|
|
VertexOverrideColor = FColor(255, 255, 255, 255);
|
|
NormalImportMethod = EFBXSceneNormalImportMethod::FBXSceneNIM_ComputeNormals;
|
|
NormalGenerationMethod = EFBXSceneNormalGenerationMethod::MikkTSpace;
|
|
}
|
|
|
|
void UFbxSceneImportOptionsStaticMesh::FillStaticMeshInmportData(UFbxStaticMeshImportData* StaticMeshImportData, UFbxSceneImportOptions* SceneImportOptions)
|
|
{
|
|
check(StaticMeshImportData != nullptr);
|
|
check(SceneImportOptions != nullptr);
|
|
StaticMeshImportData->bAutoGenerateCollision = bAutoGenerateCollision;
|
|
StaticMeshImportData->bBuildReversedIndexBuffer = bBuildReversedIndexBuffer;
|
|
StaticMeshImportData->bGenerateLightmapUVs = bGenerateLightmapUVs;
|
|
StaticMeshImportData->bOneConvexHullPerUCX = bOneConvexHullPerUCX;
|
|
StaticMeshImportData->bRemoveDegenerates = bRemoveDegenerates;
|
|
StaticMeshImportData->StaticMeshLODGroup = StaticMeshLODGroup;
|
|
switch (VertexColorImportOption)
|
|
{
|
|
case EFbxSceneVertexColorImportOption::Ignore:
|
|
StaticMeshImportData->VertexColorImportOption = EVertexColorImportOption::Ignore;
|
|
break;
|
|
case EFbxSceneVertexColorImportOption::Override:
|
|
StaticMeshImportData->VertexColorImportOption = EVertexColorImportOption::Override;
|
|
break;
|
|
case EFbxSceneVertexColorImportOption::Replace:
|
|
StaticMeshImportData->VertexColorImportOption = EVertexColorImportOption::Replace;
|
|
break;
|
|
}
|
|
StaticMeshImportData->VertexOverrideColor = VertexOverrideColor;
|
|
|
|
//Scene general options
|
|
StaticMeshImportData->bImportMeshLODs = SceneImportOptions->bImportStaticMeshLODs;
|
|
StaticMeshImportData->ImportTranslation = SceneImportOptions->ImportTranslation;
|
|
StaticMeshImportData->ImportRotation = SceneImportOptions->ImportRotation;
|
|
StaticMeshImportData->ImportUniformScale = SceneImportOptions->ImportUniformScale;
|
|
StaticMeshImportData->bTransformVertexToAbsolute = SceneImportOptions->bTransformVertexToAbsolute;
|
|
StaticMeshImportData->bBakePivotInVertex = SceneImportOptions->bBakePivotInVertex;
|
|
|
|
StaticMeshImportData->bImportAsScene = true;
|
|
}
|