Adds import config settings for forcefully adding configurable suffixes for shapes, materials and images

This commit is contained in:
Areloch 2021-02-27 02:43:37 -06:00
parent bea11acc66
commit a0c8a77043
5 changed files with 206 additions and 110 deletions

View file

@ -37,6 +37,8 @@ AssetImportConfig::AssetImportConfig() :
PreventImportWithErrors(true),
AutomaticallyPromptMissingFiles(false),
ImportMesh(true),
AlwaysAddShapeSuffix(false),
AddedShapeSuffix("_shape"),
UseManualShapeConfigRules(false),
DoUpAxisOverride(false),
UpAxisOverride("Z_AXIS"),
@ -63,6 +65,8 @@ AssetImportConfig::AssetImportConfig() :
reverseWindingOrder(false),
invertNormals(false),
ImportMaterials(true),
AlwaysAddMaterialSuffix(true),
AddedMaterialSuffix("_mat"),
CreateORMConfig(true),
UseDiffuseSuffixOnOriginImage(false),
UseExistingMaterials(false),
@ -80,6 +84,8 @@ AssetImportConfig::AssetImportConfig() :
GenLOSCollisionType(""),
LOSCollisionMeshPrefix(""),
importImages(true),
AlwaysAddImageSuffix(true),
AddedImageSuffix("_image"),
ImageType("GUI"),
DiffuseTypeSuffixes("_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL,_A,_C,-ALBEDO,-DIFFUSE,-ALB,-DIF,-COLOR,-COL,-A,-C"),
NormalTypeSuffixes("_NORMAL,_NORM,_N,-NORMAL,-NORM,-N"),
@ -133,6 +139,8 @@ void AssetImportConfig::initPersistFields()
addGroup("Meshes");
addField("ImportMesh", TypeBool, Offset(ImportMesh, AssetImportConfig), "Indicates if this config supports importing meshes");
addField("AlwaysAddShapeSuffix", TypeBool, Offset(AlwaysAddShapeSuffix, AssetImportConfig), "When importing a shape, this indicates if it should automatically add a standard suffix onto the name");
addField("AddedShapeSuffix", TypeString, Offset(AddedShapeSuffix, AssetImportConfig), " If AlwaysAddShapeSuffix is on, this is the suffix to be added");
addField("UseManualShapeConfigRules", TypeBool, Offset(UseManualShapeConfigRules, AssetImportConfig), "Indicates if this config should override the per-format sis files with the config's specific settings");
addField("DoUpAxisOverride", TypeBool, Offset(DoUpAxisOverride, AssetImportConfig), "Indicates if the up axis in the model file should be overridden");
addField("UpAxisOverride", TypeRealString, Offset(UpAxisOverride, AssetImportConfig), "If overriding, what axis should be used as up. Options are X_AXIS, Y_AXIS, Z_AXIS");
@ -162,6 +170,8 @@ void AssetImportConfig::initPersistFields()
addGroup("Materials");
addField("ImportMaterials", TypeBool, Offset(ImportMaterials, AssetImportConfig), "Does this config allow for importing of materials");
addField("AlwaysAddMaterialSuffix", TypeBool, Offset(AlwaysAddMaterialSuffix, AssetImportConfig), "When importing a material, this indicates if it should automatically add a standard suffix onto the name");
addField("AddedMaterialSuffix", TypeString, Offset(AddedMaterialSuffix, AssetImportConfig), " If AlwaysAddMaterialSuffix is on, this is the suffix to be added");
addField("CreateORMConfig", TypeBool, Offset(PreventImportWithErrors, AssetImportConfig), "When importing a material, should it automatically attempt to merge Roughness, AO and Metalness maps into a single, composited PBR Configuration map");
addField("UseDiffuseSuffixOnOriginImage", TypeBool, Offset(UseDiffuseSuffixOnOriginImage, AssetImportConfig), "When generating a material off of an importing image, should the importer force appending a diffusemap suffix onto the end to avoid potential naming confusion.\n e.g. MyCoolStuff.png is imported, generating MyCoolStuff material asset and MyCoolStuff_Diffuse image asset");
addField("UseExistingMaterials", TypeBool, Offset(UseExistingMaterials, AssetImportConfig), "Should the importer try and use existing material assets in the game directory if at all possible. (Not currently utilized)");
@ -169,13 +179,13 @@ void AssetImportConfig::initPersistFields()
addField("PopulateMaterialMaps", TypeBool, Offset(PopulateMaterialMaps, AssetImportConfig), "When processing a material asset, should the importer attempt to populate the various material maps on it by looking up common naming conventions for potentially relevent image files.\n e.g. If MyCoolStuff_Diffuse.png is imported, generating MyCoolStuff material, it would also find MyCoolStuff_Normal and MyCoolStuff_PBR images and map them to the normal and ORMConfig maps respectively automatically");
endGroup("Materials");
addGroup("Meshes");
addGroup("Animation");
addField("ImportAnimations", TypeBool, Offset(ImportAnimations, AssetImportConfig), "Does this config allow for importing Shape Animations");
addField("SeparateAnimations", TypeBool, Offset(SeparateAnimations, AssetImportConfig), "When importing a shape file, should the animations within be separated out into unique files");
addField("SeparateAnimationPrefix", TypeRealString, Offset(SeparateAnimationPrefix, AssetImportConfig), "If separating animations out from a source file, what prefix should be added to the names for grouping association");
addField("animTiming", TypeRealString, Offset(animTiming, AssetImportConfig), "Defines the animation timing for the given animation sequence. Options are FrameTime, Seconds, Milliseconds");
addField("animFPS", TypeBool, Offset(animFPS, AssetImportConfig), "The FPS of the animation sequence");
endGroup("General");
endGroup("Animation");
addGroup("Collision");
addField("GenerateCollisions", TypeBool, Offset(GenerateCollisions, AssetImportConfig), "Does this configuration generate collision geometry when importing. (Not currently enabled)");
@ -188,6 +198,8 @@ void AssetImportConfig::initPersistFields()
addGroup("Images");
addField("importImages", TypeBool, Offset(importImages, AssetImportConfig), "Does this configuration support importing images.");
addField("AlwaysAddImageSuffix", TypeBool, Offset(AlwaysAddImageSuffix, AssetImportConfig), "When importing an image, this indicates if it should automatically add a standard suffix onto the name");
addField("AddedImageSuffix", TypeString, Offset(AddedImageSuffix, AssetImportConfig), " If AlwaysAddImageSuffix is on, this is the suffix to be added");
addField("ImageType", TypeRealString, Offset(ImageType, AssetImportConfig), "What is the default ImageType images are imported as. Options are: N/A, Diffuse, Normal, Metalness, Roughness, AO, ORMConfig, GUI, Cubemap");
addField("DiffuseTypeSuffixes", TypeRealString, Offset(DiffuseTypeSuffixes, AssetImportConfig), "What type of suffixes are scanned to detect if an importing image is a diffuse map. \n e.g. _Albedo or _Color");
addField("NormalTypeSuffixes", TypeRealString, Offset(NormalTypeSuffixes, AssetImportConfig), "What type of suffixes are scanned to detect if an importing image is a normal map. \n e.g. _Normal or _Norm");
@ -223,6 +235,8 @@ void AssetImportConfig::loadImportConfig(Settings* configSettings, String config
//Meshes
ImportMesh = dAtob(configSettings->value(String(configName + "/Meshes/ImportMesh").c_str()));
AlwaysAddShapeSuffix = dAtob(configSettings->value(String(configName + "/Meshes/AlwaysAddShapeSuffix").c_str()));
AddedShapeSuffix = configSettings->value(String(configName + "/Meshes/AddedShapeSuffix").c_str());
UseManualShapeConfigRules = dAtob(configSettings->value(String(configName + "/Meshes/UseManualShapeConfigRules").c_str()));
DoUpAxisOverride = dAtob(configSettings->value(String(configName + "/Meshes/DoUpAxisOverride").c_str()));
UpAxisOverride = configSettings->value(String(configName + "/Meshes/UpAxisOverride").c_str());
@ -253,6 +267,8 @@ void AssetImportConfig::loadImportConfig(Settings* configSettings, String config
//Materials
ImportMaterials = dAtob(configSettings->value(String(configName + "/Materials/ImportMaterials").c_str()));
AlwaysAddMaterialSuffix = dAtob(configSettings->value(String(configName + "/Materials/AlwaysAddMaterialSuffix").c_str()));
AddedMaterialSuffix = configSettings->value(String(configName + "/Materials/AddedMaterialSuffix").c_str());
CreateORMConfig = dAtob(configSettings->value(String(configName + "/Materials/CreateORMConfig").c_str()));
UseDiffuseSuffixOnOriginImage = dAtob(configSettings->value(String(configName + "/Materials/UseDiffuseSuffixOnOriginImage").c_str()));
UseExistingMaterials = dAtob(configSettings->value(String(configName + "/Materials/UseExistingMaterials").c_str()));
@ -276,6 +292,8 @@ void AssetImportConfig::loadImportConfig(Settings* configSettings, String config
//Images
importImages = dAtob(configSettings->value(String(configName + "/Images/importImages").c_str()));
AlwaysAddImageSuffix = dAtob(configSettings->value(String(configName + "/Images/AlwaysAddImageSuffix").c_str()));
AddedImageSuffix = configSettings->value(String(configName + "/Images/AddedImageSuffix").c_str());
ImageType = configSettings->value(String(configName + "/Images/ImageType").c_str());
DiffuseTypeSuffixes = configSettings->value(String(configName + "/Images/DiffuseTypeSuffixes").c_str());
NormalTypeSuffixes = configSettings->value(String(configName + "/Images/NormalTypeSuffixes").c_str());
@ -306,6 +324,8 @@ void AssetImportConfig::CopyTo(AssetImportConfig* target) const
//Meshes
target->ImportMesh = ImportMesh;
target->AlwaysAddShapeSuffix = AlwaysAddShapeSuffix;
target->AddedShapeSuffix = AddedShapeSuffix;
target->UseManualShapeConfigRules = UseManualShapeConfigRules;
target->DoUpAxisOverride = DoUpAxisOverride;
target->UpAxisOverride = UpAxisOverride;
@ -336,6 +356,8 @@ void AssetImportConfig::CopyTo(AssetImportConfig* target) const
//Materials
target->ImportMaterials = ImportMaterials;
target->AlwaysAddMaterialSuffix = AlwaysAddMaterialSuffix;
target->AddedMaterialSuffix = AddedMaterialSuffix;
target->CreateORMConfig = CreateORMConfig;
target->UseDiffuseSuffixOnOriginImage = UseDiffuseSuffixOnOriginImage;
target->UseExistingMaterials = UseExistingMaterials;
@ -359,6 +381,8 @@ void AssetImportConfig::CopyTo(AssetImportConfig* target) const
//Images
target->importImages = importImages;
target->AlwaysAddImageSuffix = AlwaysAddImageSuffix;
target->AddedImageSuffix = AddedImageSuffix;
target->ImageType = ImageType;
target->DiffuseTypeSuffixes = DiffuseTypeSuffixes;
target->NormalTypeSuffixes = NormalTypeSuffixes;
@ -1537,9 +1561,9 @@ void AssetImporter::processImageAsset(AssetImportObject* assetItem)
{
//We need to ensure that our image asset doesn't match the same name as the material asset, so if we're not trying to force the diffuse suffix
//we'll give it a generic one
if (materialAsset && materialAsset->assetName.compare(assetItem->assetName) == 0)
if ((materialAsset && materialAsset->assetName.compare(assetItem->assetName) == 0) || activeImportConfig->AlwaysAddImageSuffix)
{
assetItem->assetName = assetItem->assetName + "_image";
assetItem->assetName = assetItem->assetName + activeImportConfig->AddedImageSuffix;
assetItem->cleanAssetName = assetItem->assetName;
}
}
@ -1585,6 +1609,11 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem)
}
}
if (activeImportConfig->AlwaysAddMaterialSuffix)
{
assetItem->assetName += activeImportConfig->AddedMaterialSuffix;
}
if (activeImportConfig->PopulateMaterialMaps)
{
//If we're trying to populate the rest of our material maps, we need to go looking
@ -1787,6 +1816,11 @@ void AssetImporter::processShapeAsset(AssetImportObject* assetItem)
assetItem->shapeInfo = shapeInfo;
}
if (activeImportConfig->AlwaysAddShapeSuffix)
{
assetItem->assetName += activeImportConfig->AddedShapeSuffix;
}
S32 meshCount = dAtoi(assetItem->shapeInfo->getDataField(StringTable->insert("_meshCount"), nullptr));
S32 shapeItem = assetItem->shapeInfo->findItemByName("Meshes");
@ -1851,7 +1885,7 @@ void AssetImporter::processShapeMaterialInfo(AssetImportObject* assetItem, S32 m
if (matName == assetItem->assetName)
{
//So apparently we managed to name the material the same as the shape. So we'll tweak the name
matAssetName += String("_Mat");
matAssetName += activeImportConfig->AlwaysAddMaterialSuffix;
}
//Do a check so we don't import materials that are on our ignore list
@ -2015,9 +2049,9 @@ void AssetImporter::processSoundAsset(AssetImportObject* assetItem)
{
//We need to ensure that our image asset doesn't match the same name as the material asset, so if we're not trying to force the diffuse suffix
//we'll give it a generic one
if (materialAsset && materialAsset->assetName.compare(assetItem->assetName) == 0)
if ((materialAsset && materialAsset->assetName.compare(assetItem->assetName) == 0) || activeImportConfig->AlwaysAddImageSuffix)
{
assetItem->assetName = assetItem->assetName + "_image";
assetItem->assetName = assetItem->assetName + activeImportConfig->AddedImageSuffix;
assetItem->cleanAssetName = assetItem->assetName;
}
}

View file

@ -47,6 +47,16 @@ public:
/// </summary>
bool ImportMesh;
/// <summary>
/// When importing a shape, this indicates if it should automatically add a standard suffix onto the name
/// </summary>
bool AlwaysAddShapeSuffix;
/// <summary>
/// If AlwaysAddShapeSuffix is on, this is the suffix to be added
/// </summary>
String AddedShapeSuffix;
/// <summary>
/// Indicates if this config should override the per-format sis files with the config's specific settings
/// </summary>
@ -187,6 +197,16 @@ public:
/// </summary>
bool CreateORMConfig;
/// <summary>
/// When creating a material on import, this indicates if it should automatically add a standard suffix onto the name
/// </summary>
bool AlwaysAddMaterialSuffix;
/// <summary>
/// If AlwaysAddMaterialSuffix is on, this is the suffix to be added
/// </summary>
String AddedMaterialSuffix;
/// <summary>
/// When generating a material off of an importing image, should the importer force appending a diffusemap suffix onto the end to avoid potential naming confusion.
/// e.g. MyCoolStuff.png is imported, generating MyCoolStuff material asset and MyCoolStuff_Diffuse image asset
@ -275,6 +295,16 @@ public:
/// </summary>
bool importImages;
/// <summary>
/// When importing an image, this indicates if it should automatically add a standard suffix onto the name
/// </summary>
bool AlwaysAddImageSuffix;
/// <summary>
/// If AlwaysAddImageSuffix is on, this is the suffix to be added
/// </summary>
String AddedImageSuffix;
/// <summary>
/// What is the default ImageType images are imported as. Options are: N/A, Diffuse, Normal, Metalness, Roughness, AO, ORMConfig, GUI, Cubemap
/// </summary>

View file

@ -1,138 +1,156 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<AssetImportSettings>
<Group name="NewTest">
<Group name="Meshes">
<Setting name="calcTangentSpace">0</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="LODType">TrailingNumber</Setting>
<Setting name="removeRedundantMats">0</Setting>
<Setting name="ImportMesh">1</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="UpAxisOverride">Z_AXIS</Setting>
<Setting name="invertNormals">0</Setting>
<Setting name="limitBoneWeights">0</Setting>
<Setting name="AdjustFloor">0</Setting>
<Setting name="JoinIdenticalVerts">0</Setting>
<Setting name="reverseWindingOrder">0</Setting>
<Setting name="genUVCoords">0</Setting>
<Setting name="TransformUVs">0</Setting>
<Setting name="flipUVCoords">0</Setting>
<Setting name="AdjustCenter">0</Setting>
<Setting name="convertLeftHanded">0</Setting>
<Setting name="findInstances">0</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="ScaleOverride">1</Setting>
<Setting name="DoScaleOverride">0</Setting>
</Group>
<Group name="Sounds">
<Setting name="Compressed">0</Setting>
<Setting name="PitchAdjust">1.0</Setting>
<Setting name="VolumeAdjust">1.0</Setting>
</Group>
<Group name="Images">
<Setting name="MetalnessTypeSuffixes">_METAL,_MET,_METALNESS,_METALLIC</Setting>
<Setting name="Scaling">1.0</Setting>
<Setting name="IsHDR">0</Setting>
<Setting name="ImageType">N/A</Setting>
<Setting name="Compressed">1</Setting>
<Setting name="PBRTypeSuffixes">_COMP,_COMPOSITE,_PBR,-COMP,-COMPOSITE,-PBR,_ORM,-ORM</Setting>
<Setting name="NormalTypeSuffixes">_NORMAL,_NORM</Setting>
<Setting name="AOTypeSuffixes">_AO,_AMBIENT,_AMBIENTOCCLUSION</Setting>
<Setting name="DiffuseTypeSuffixes">_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL</Setting>
<Setting name="SmoothnessTypeSuffixes">_SMOOTH,_SMOOTHNESS</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
<Setting name="TextureFilteringMode">Bilinear</Setting>
<Setting name="UseMips">1</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
</Group>
<Group name="DefaultImportConfig">
<Group name="Animations">
<Setting name="animTiming">Seconds</Setting>
<Setting name="animFPS">2</Setting>
<Setting name="animTiming">Seconds</Setting>
<Setting name="ImportAnimations">1</Setting>
<Setting name="SeparateAnimations">1</Setting>
</Group>
<Group name="Collision">
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="GenCollisionType">CollisionMesh</Setting>
<Setting name="GenerateCollisions">1</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
</Group>
<Group name="General">
<Setting name="WarningsAsErrors">0</Setting>
<Setting name="AutomaticallyPromptMissingFiles">0</Setting>
<Setting name="DuplicatAutoResolution">AutoPrune</Setting>
<Setting name="PreventImportWithErrors">1</Setting>
<Setting name="WarningsAsErrors">0</Setting>
</Group>
<Group name="Collision">
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
<Setting name="GenCollisionType">CollisionMesh</Setting>
<Setting name="GenerateCollisions">1</Setting>
<Group name="Images">
<Setting name="AddedImageSuffix">_image</Setting>
<Setting name="AlwaysAddImageSuffix">1</Setting>
<Setting name="AOTypeSuffixes">_AO,_AMBIENT,_AMBIENTOCCLUSION</Setting>
<Setting name="CompositeTypeSuffixes">_COMP,_COMPOSITE,_PBR,-COMP,-COMPOSITE,-PBR,_ORM,-ORM</Setting>
<Setting name="Compressed">1</Setting>
<Setting name="DiffuseTypeSuffixes">_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
<Setting name="ImageType">N/A</Setting>
<Setting name="ImportImages">1</Setting>
<Setting name="IsHDR">0</Setting>
<Setting name="MetalnessTypeSuffixes">_METAL,_MET,_METALNESS,_METALLIC</Setting>
<Setting name="NormalTypeSuffixes">_NORMAL,_NORM</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
<Setting name="Scaling">1.0</Setting>
<Setting name="SmoothnessTypeSuffixes">_SMOOTH,_SMOOTHNESS</Setting>
<Setting name="TextureFilteringMode">Bilinear</Setting>
<Setting name="UseMips">1</Setting>
</Group>
<Group name="Materials">
<Setting name="ImportMaterials">1</Setting>
<Setting name="UseExistingMaterials">1</Setting>
<Setting name="UseDiffuseSuffixOnOriginImage">1</Setting>
<Setting name="AddedMaterialSuffix">_mat</Setting>
<Setting name="AlwaysAddMaterialSuffix">0</Setting>
<Setting name="CreateComposites">1</Setting>
<Setting name="ImportMaterials">1</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
</Group>
</Group>
<Group name="DefaultConfig">
<Group name="Collision">
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="GenerateCollisions">1</Setting>
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
<Setting name="GenCollisionType">CollisionMesh</Setting>
<Setting name="UseDiffuseSuffixOnOriginImage">1</Setting>
<Setting name="UseExistingMaterials">1</Setting>
</Group>
<Group name="Meshes">
<Setting name="AddedShapeSuffix">_shape</Setting>
<Setting name="AdjustCenter">0</Setting>
<Setting name="invertNormals">0</Setting>
<Setting name="AdjustFloor">0</Setting>
<Setting name="JoinIdenticalVerts">1</Setting>
<Setting name="AlwaysAddShapeSuffix">0</Setting>
<Setting name="calcTangentSpace">0</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="convertLeftHanded">0</Setting>
<Setting name="DoScaleOverride">0</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="findInstances">0</Setting>
<Setting name="flipUVCoords">0</Setting>
<Setting name="genUVCoords">0</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="ImportMesh">1</Setting>
<Setting name="invertNormals">0</Setting>
<Setting name="JoinIdenticalVerts">0</Setting>
<Setting name="limitBoneWeights">0</Setting>
<Setting name="LODType">TrailingNumber</Setting>
<Setting name="removeRedundantMats">0</Setting>
<Setting name="reverseWindingOrder">0</Setting>
<Setting name="ScaleOverride">1</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="TransformUVs">0</Setting>
<Setting name="UpAxisOverride">Z_AXIS</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="LODType">TrailingNumber</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="DoScaleOverride">0</Setting>
</Group>
<Group name="Sounds">
<Setting name="Compressed">0</Setting>
<Setting name="PitchAdjust">1.0</Setting>
<Setting name="VolumeAdjust">1.0</Setting>
</Group>
</Group>
<Group name="NewTest">
<Group name="Animations">
<Setting name="animFPS">2</Setting>
<Setting name="animTiming">Seconds</Setting>
<Setting name="ImportAnimations">1</Setting>
<Setting name="SeparateAnimations">1</Setting>
</Group>
<Group name="Collision">
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="GenCollisionType">CollisionMesh</Setting>
<Setting name="GenerateCollisions">1</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
</Group>
<Group name="General">
<Setting name="AutomaticallyPromptMissingFiles">0</Setting>
<Setting name="DuplicatAutoResolution">AutoPrune</Setting>
<Setting name="PreventImportWithErrors">1</Setting>
<Setting name="WarningsAsErrors">0</Setting>
</Group>
<Group name="Images">
<Setting name="AOTypeSuffixes">_AO,_AMBIENT,_AMBIENTOCCLUSION</Setting>
<Setting name="DiffuseTypeSuffixes">_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL,_baseColor,_a,</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
<Setting name="ImageType">N/A</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
<Setting name="NormalTypeSuffixes">_NORMAL,_NORM</Setting>
<Setting name="TextureFilteringMode">Bilinear</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
<Setting name="PBRTypeSuffixes">_COMP,_COMPOSITE,_PBR,-COMP,-COMPOSITE,-PBR,_ORM,-ORM</Setting>
<Setting name="UseMips">1</Setting>
<Setting name="Compressed">1</Setting>
<Setting name="Scaling">1.0</Setting>
<Setting name="MetalnessTypeSuffixes">_METAL,_MET,_METALNESS,_METALLIC</Setting>
<Setting name="DiffuseTypeSuffixes">_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
<Setting name="ImageType">N/A</Setting>
<Setting name="IsHDR">0</Setting>
<Setting name="MetalnessTypeSuffixes">_METAL,_MET,_METALNESS,_METALLIC</Setting>
<Setting name="NormalTypeSuffixes">_NORMAL,_NORM</Setting>
<Setting name="PBRTypeSuffixes">_COMP,_COMPOSITE,_PBR,-COMP,-COMPOSITE,-PBR,_ORM,-ORM</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
<Setting name="Scaling">1.0</Setting>
<Setting name="SmoothnessTypeSuffixes">_SMOOTH,_SMOOTHNESS</Setting>
<Setting name="TextureFilteringMode">Bilinear</Setting>
<Setting name="UseMips">1</Setting>
</Group>
<Group name="Materials">
<Setting name="UseExistingMaterials">1</Setting>
<Setting name="UseDiffuseSuffixOnOriginImage">1</Setting>
<Setting name="ImportMaterials">1</Setting>
<Setting name="AlwaysPresentImageMaps">0</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
<Setting name="IgnoreMaterials">Default*;</Setting>
<Setting name="CreateComposites">1</Setting>
<Setting name="ImportMaterials">1</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
<Setting name="UseDiffuseSuffixOnOriginImage">1</Setting>
<Setting name="UseExistingMaterials">1</Setting>
</Group>
<Group name="Meshes">
<Setting name="AdjustCenter">0</Setting>
<Setting name="AdjustFloor">0</Setting>
<Setting name="calcTangentSpace">0</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="convertLeftHanded">0</Setting>
<Setting name="DoScaleOverride">0</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="findInstances">0</Setting>
<Setting name="flipUVCoords">0</Setting>
<Setting name="genUVCoords">0</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="ImportMesh">1</Setting>
<Setting name="invertNormals">0</Setting>
<Setting name="JoinIdenticalVerts">0</Setting>
<Setting name="limitBoneWeights">0</Setting>
<Setting name="LODType">TrailingNumber</Setting>
<Setting name="removeRedundantMats">0</Setting>
<Setting name="reverseWindingOrder">0</Setting>
<Setting name="ScaleOverride">1</Setting>
<Setting name="TransformUVs">0</Setting>
<Setting name="UpAxisOverride">Z_AXIS</Setting>
</Group>
<Group name="Sounds">
<Setting name="VolumeAdjust">1.0</Setting>
<Setting name="PitchAdjust">1.0</Setting>
<Setting name="Compressed">0</Setting>
</Group>
<Group name="General">
<Setting name="DuplicatAutoResolution">AutoPrune</Setting>
</Group>
<Group name="Animations">
<Setting name="SeparateAnimations">1</Setting>
<Setting name="ImportAnimations">1</Setting>
<Setting name="PitchAdjust">1.0</Setting>
<Setting name="VolumeAdjust">1.0</Setting>
</Group>
</Group>
</AssetImportSettings>

View file

@ -37,6 +37,8 @@ function setupImportConfigSettingsList()
ImportAssetConfigSettingsList.addNewConfigSetting("General/AutomaticallyPromptMissingFiles", "Automatically Prompt Missing Files", "bool", "", "0", "", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Meshes/ImportMesh", "Import Mesh", "bool", "", "1", "", "ToggleImportMesh");
ImportAssetConfigSettingsList.addNewConfigSetting("Meshes/AlwaysAddShapeSuffix", "Always Add Shape Suffix", "bool", "", "0", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Meshes/AddedShapeSuffix", "Added Shape Suffix", "string", "", "_shape", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Meshes/DoUpAxisOverride", "Do Up-axis Override", "bool", "", "0", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Meshes/UpAxisOverride", "Up-axis Override", "list", "", "Z_AXIS", "X_AXIS,Y_AXIS,Z_AXIS");
ImportAssetConfigSettingsList.addNewConfigSetting("Meshes/DoScaleOverride", "Do Scale Override", "bool", "", "0", "");
@ -67,6 +69,8 @@ function setupImportConfigSettingsList()
//Materials
ImportAssetConfigSettingsList.addNewConfigSetting("Materials/ImportMaterials", "Import Materials", "bool", "", "1", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Materials/AlwaysAddMaterialSuffix", "Always Add Material Suffix", "bool", "", "1", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Materials/AddedMaterialSuffix", "Added Material Suffix", "string", "", "_mat", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Materials/CreateComposites", "Create Composites", "bool", "", "1", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Materials/UseDiffuseSuffixOnOriginImage", "Use Diffuse Suffix for Origin Image", "bool", "", "1", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Materials/UseExistingMaterials", "Use Existing Materials", "bool", "", "1", "");
@ -89,6 +93,9 @@ function setupImportConfigSettingsList()
ImportAssetConfigSettingsList.addNewConfigSetting("Collision/LOSCollisionMeshPrefix", "LOS CollisionMesh Prefix", "string", "", "LOS", "");
//Images
ImportAssetConfigSettingsList.addNewConfigSetting("Images/ImportImages", "Import Images", "bool", "", "1", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Images/AlwaysAddImageSuffix", "Always Add Image Suffix", "bool", "", "1", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Images/AddedImageSuffix", "Added Image Suffix", "string", "", "_image", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Images/ImageType", "Image Type", "list", "", "N/A", "N/A,Diffuse,Normal,Specular,Metalness,Roughness,AO,Composite,GUI");
ImportAssetConfigSettingsList.addNewConfigSetting("Images/DiffuseTypeSuffixes", "Diffuse Type Suffixes", "command", "", "_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL", "");
ImportAssetConfigSettingsList.addNewConfigSetting("Images/NormalTypeSuffixes", "Normal Type Suffixes", "command", "", "_NORMAL,_NORM", "");
@ -303,6 +310,8 @@ function ImportAssetConfigEditorWindow::addNewConfig(%this)
//Meshes
AssetImportSettings.setValue("Meshes/ImportMesh", "1");
AssetImportSettings.setValue("Meshes/AlwaysAddShapeSuffix", "0");
AssetImportSettings.setValue("Meshes/AddedShapeSuffix", "_shape");
AssetImportSettings.setValue("Meshes/DoUpAxisOverride", "0");
AssetImportSettings.setValue("Meshes/UpAxisOverride", "Z_AXIS");
AssetImportSettings.setValue("Meshes/DoScaleOverride", "0");
@ -319,6 +328,8 @@ function ImportAssetConfigEditorWindow::addNewConfig(%this)
//Materials
AssetImportSettings.setValue("Materials/ImportMaterials", "1");
AssetImportSettings.setValue("Materials/AlwaysAddMaterialSuffix", "1");
AssetImportSettings.setValue("Materials/AddedMaterialSuffix", "_mat");
AssetImportSettings.setValue("Materials/IgnoreMaterials", "");
AssetImportSettings.setValue("Materials/CreateComposites", "1");
AssetImportSettings.setValue("Materials/UseDiffuseSuffixOnOriginImage", "1");
@ -339,6 +350,9 @@ function ImportAssetConfigEditorWindow::addNewConfig(%this)
AssetImportSettings.setValue("Collision/LOSCollisionMeshPrefix", "LOS");
//Images
AssetImportSettings.setValue("Images/ImportImage", "1");
AssetImportSettings.setValue("Images/AlwaysAddImageSuffix", "1");
AssetImportSettings.setValue("Images/AddedImageSuffix", "_image");
AssetImportSettings.setValue("Images/ImageType", "N/A");
AssetImportSettings.setValue("Images/DiffuseTypeSuffixes", "_ALBEDO;_DIFFUSE;_ALB;_DIF;_COLOR;_COL;_BASECOLOR;_BASE_COLOR");
AssetImportSettings.setValue("Images/NormalTypeSuffixes", "_NORMAL;_NORM");
@ -346,7 +360,7 @@ function ImportAssetConfigEditorWindow::addNewConfig(%this)
AssetImportSettings.setValue("Images/RoughnessTypeSuffixes", "_ROUGH;_ROUGHNESS");
AssetImportSettings.setValue("Images/SmoothnessTypeSuffixes", "_SMOOTH;_SMOOTHNESS");
AssetImportSettings.setValue("Images/AOTypeSuffixes", "_AO;_AMBIENT;_AMBIENTOCCLUSION");
AssetImportSettings.setValue("Images/CompositeTypeSuffixes", "_COMP;_COMPOSITE");
AssetImportSettings.setValue("Images/CompositeTypeSuffixes", "_COMP;_COMPOSITE;_PBR;-COMP;-COMPOSITE;-PBR;_ORM;-ORM");
AssetImportSettings.setValue("Images/TextureFilteringMode", "Bilinear");
AssetImportSettings.setValue("Images/UseMips", "1");
AssetImportSettings.setValue("Images/IsHDR", "0");

View file

@ -17,10 +17,10 @@
<Setting name="TerrainMatAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
</Group>
<Group name="Assets">
<Setting name="AssetImporDefaultConfig">TestConfig</Setting>
<Setting name="AssetImporDefaultConfig">DefaultImportConfig</Setting>
<Setting name="AutoImport">1</Setting>
<Group name="Browser">
<Setting name="previewTileSize">small</Setting>
<Setting name="previewTileSize">1</Setting>
</Group>
</Group>
<Group name="AxisGizmo">