From 63c0df99458dcc3fc4cb4fd974cd7185fdb97c94 Mon Sep 17 00:00:00 2001 From: Thijs Wenker Date: Fri, 8 Mar 2019 03:13:56 +0100 Subject: [PATCH] temporary de-optimize game objects during the export process --- .../Assets/Editor/AvatarExporter.cs | 20 ++++++++++++++++-- tools/unity-avatar-exporter/Assets/README.txt | 2 +- .../avatarExporter.unitypackage | Bin 15811 -> 16045 bytes 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs index 2565a537c8..c25a962824 100644 --- a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs +++ b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs @@ -14,7 +14,7 @@ using System.Collections.Generic; class AvatarExporter : MonoBehaviour { // update version number for every PR that changes this file, also set updated version in README file - static readonly string AVATAR_EXPORTER_VERSION = "0.3.2"; + static readonly string AVATAR_EXPORTER_VERSION = "0.3.3"; static readonly float HIPS_GROUND_MIN_Y = 0.01f; static readonly float HIPS_SPINE_CHEST_MIN_SEPARATION = 0.001f; @@ -364,7 +364,14 @@ class AvatarExporter : MonoBehaviour { " the Rig section of it's Inspector window.", "Ok"); return; } - + + // if the rig is optimized we should de-optimize it during the export process + bool shouldDeoptimizeGameObjects = modelImporter.optimizeGameObjects; + if (shouldDeoptimizeGameObjects) { + modelImporter.optimizeGameObjects = false; + modelImporter.SaveAndReimport(); + } + humanDescription = modelImporter.humanDescription; string textureWarnings = SetTextureDependencies(); SetBoneAndMaterialInformation(); @@ -375,6 +382,15 @@ class AvatarExporter : MonoBehaviour { // format resulting avatar rule failure strings // consider export-blocking avatar rules to be errors and show them in an error dialog, // and also include any other avatar rule failures plus texture warnings as warnings in the dialog + if (shouldDeoptimizeGameObjects) { + // switch back to optimized game object in case it was originally optimized + modelImporter.optimizeGameObjects = true; + modelImporter.SaveAndReimport(); + } + + // format resulting bone rule failure strings + // consider export-blocking bone rules to be errors and show them in an error dialog, + // and also include any other bone rule failures plus texture warnings as warnings in the dialog string boneErrors = ""; string warnings = ""; foreach (var failedAvatarRule in failedAvatarRules) { diff --git a/tools/unity-avatar-exporter/Assets/README.txt b/tools/unity-avatar-exporter/Assets/README.txt index 19c31a597c..402719b497 100644 --- a/tools/unity-avatar-exporter/Assets/README.txt +++ b/tools/unity-avatar-exporter/Assets/README.txt @@ -1,6 +1,6 @@ High Fidelity, Inc. Avatar Exporter -Version 0.3.2 +Version 0.3.3 Note: It is recommended to use Unity versions between 2017.4.17f1 and 2018.2.12f1 for this Avatar Exporter. diff --git a/tools/unity-avatar-exporter/avatarExporter.unitypackage b/tools/unity-avatar-exporter/avatarExporter.unitypackage index c60a156711329e88a09234efca428eb3ceb6e89d..f7385e38311e93788a17308f7cb2a174c7f7f138 100644 GIT binary patch literal 16045 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%0DF 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 N