From 9cc1a7aaaa36838d1a22cfce097065987dfb1157 Mon Sep 17 00:00:00 2001 From: David Back Date: Wed, 6 Mar 2019 13:39:40 -0800 Subject: [PATCH] CR changes --- .../Assets/Editor/AvatarExporter.cs | 22 ++---------------- .../avatarExporter.unitypackage | Bin 15949 -> 15720 bytes 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs index 40994c8f46..f8728f9e7e 100644 --- a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs +++ b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs @@ -274,7 +274,6 @@ class AvatarExporter : MonoBehaviour { public double roughness; public string roughnessMap; public string normalMap; - public string heightMap; public string occlusionMap; public Color emissive; public string emissiveMap; @@ -296,9 +295,6 @@ class AvatarExporter : MonoBehaviour { if (!string.IsNullOrEmpty(normalMap)) { json += "\"normalMap\": \"" + normalMap + "\", "; } - if (!string.IsNullOrEmpty(heightMap)) { - json += "\"heightMap\": \"" + heightMap + "\", "; - } if (!string.IsNullOrEmpty(occlusionMap)) { json += "\"occlusionMap\": \"" + occlusionMap + "\", "; } @@ -326,7 +322,6 @@ class AvatarExporter : MonoBehaviour { static Dictionary materialDatas = new Dictionary(); static List materialAlternateStandardShader = new List(); static Dictionary materialUnsupportedShader = new Dictionary(); - static List normalMapAndHeightMapNotBoth = new List(); [MenuItem("High Fidelity/Export New Avatar")] static void ExportNewAvatar() { @@ -396,9 +391,6 @@ class AvatarExporter : MonoBehaviour { warnings += "The material " + material.Key + " is using an unsupported shader " + material.Value + ". Please change it to a Standard shader type.\n\n"; } - foreach (string materialName in normalMapAndHeightMapNotBoth) { - warnings += "The material " + materialName + " has both a normal map and a height map assigned but can only use 1.\n\n"; - } warnings += textureWarnings; if (!string.IsNullOrEmpty(boneErrors)) { // if there are both errors and warnings then warnings will be displayed with errors in the error dialog @@ -664,7 +656,7 @@ class AvatarExporter : MonoBehaviour { materialMappings[materialName] == DEFAULT_MATERIAL_NAME) { materialJson += "\"all\": "; } else { - materialJson += "\"[mat::" + materialName + "]\": "; + materialJson += "\"mat::" + materialName + "\": "; } materialJson += materialData.Value.getJSON(); materialJson += ", "; @@ -688,7 +680,6 @@ class AvatarExporter : MonoBehaviour { materialDatas.Clear(); materialAlternateStandardShader.Clear(); materialUnsupportedShader.Clear(); - normalMapAndHeightMapNotBoth.Clear(); SetMaterialMappings(); @@ -1057,8 +1048,6 @@ class AvatarExporter : MonoBehaviour { string materialName = material.name; string shaderName = material.shader.name; - Debug.Log("material1 " + materialName); - // don't store any material data for unsupported shader types if (Array.IndexOf(SUPPORTED_SHADERS, shaderName) == -1) { if (!materialUnsupportedShader.ContainsKey(materialName)) { @@ -1073,7 +1062,6 @@ class AvatarExporter : MonoBehaviour { materialData.roughness = material.GetFloat("_Glossiness"); materialData.roughnessMap = GetMaterialTexture(material, "_SpecGlossMap"); materialData.normalMap = GetMaterialTexture(material, "_BumpMap"); - materialData.heightMap = GetMaterialTexture(material, "_ParallaxMap"); materialData.occlusionMap = GetMaterialTexture(material, "_OcclusionMap"); materialData.emissive = material.GetColor("_EmissionColor"); materialData.emissiveMap = GetMaterialTexture(material, "_EmissionMap"); @@ -1095,12 +1083,7 @@ class AvatarExporter : MonoBehaviour { } materialData.roughness = 1.0f - materialData.roughness; } - - // materials can not have both a normal map and a height map set - if (!string.IsNullOrEmpty(materialData.normalMap) && !string.IsNullOrEmpty(materialData.heightMap) && !normalMapAndHeightMapNotBoth.Contains(materialName)) { - normalMapAndHeightMapNotBoth.Add(materialName); - } - + // remap the material name from the Unity material name to the fbx material name that it overrides if (materialMappings.ContainsKey(materialName)) { materialName = materialMappings[materialName]; @@ -1137,7 +1120,6 @@ class AvatarExporter : MonoBehaviour { var material = mapping.Value as UnityEngine.Material; if (material != null) { materialMappings.Add(material.name, mapping.Key.name); - //Debug.Log("materialMapping " + material.name + " " + mapping.Key.name); } } } diff --git a/tools/unity-avatar-exporter/avatarExporter.unitypackage b/tools/unity-avatar-exporter/avatarExporter.unitypackage index ab39e1ed8f7d25ceb210c8ee59897c88aae20abb..aada1d3515d3ee1a165a97e0eee41c92a058e6b0 100644 GIT binary patch literal 15720 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 literal 15949 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