EM_Task/UnrealEd/Classes/Factories/FbxTextureImportData.h

58 lines
2.4 KiB
C
Raw Permalink Normal View History

2026-02-13 16:18:33 +08:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/SoftObjectPath.h"
#include "Factories/FbxAssetImportData.h"
#include "MaterialImportHelpers.h"
#include "FbxTextureImportData.generated.h"
/**
* Import data and options used when importing any mesh from FBX
*/
UCLASS(BlueprintType, AutoExpandCategories = (Texture))
class UNREALED_API UFbxTextureImportData: public UFbxAssetImportData
{
GENERATED_UCLASS_BODY()
/** If importing textures is enabled, this option will cause normal map Y (Green) values to be inverted */
UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, config, Category = ImportSettings, meta = (OBJRestrict = "true"))
uint32 bInvertNormalMaps : 1;
/** Specify where we should search for matching materials when importing */
UPROPERTY(EditAnywhere, BlueprintReadWrite, config, Category = ImportSettings, meta = (DisplayName = "Search Location", OBJRestrict = "true", ImportType = "Mesh"))
EMaterialSearchLocation MaterialSearchLocation;
/** Base material to instance from when importing materials. */
UPROPERTY(EditAnywhere, BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh", AllowedClasses = "MaterialInterface"))
FSoftObjectPath BaseMaterialName;
/** transient, ImportUI customize helper to store if we must show or not the BaseMaterialName property. */
bool bUseBaseMaterial;
UPROPERTY(BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh"))
FString BaseColorName;
UPROPERTY(BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh"))
FString BaseDiffuseTextureName;
UPROPERTY(BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh"))
FString BaseNormalTextureName;
UPROPERTY(BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh"))
FString BaseEmissiveColorName;
UPROPERTY(BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh"))
FString BaseEmmisiveTextureName;
UPROPERTY(BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh"))
FString BaseSpecularTextureName;
UPROPERTY(BlueprintReadWrite, config, Category = Material, meta = (ImportType = "Mesh"))
FString BaseOpacityTextureName;
bool CanEditChange(const FProperty* InProperty) const override;
};