From e251e826341c1747937f02e8a0e7443ba6c94370 Mon Sep 17 00:00:00 2001 From: Felix Herbst Date: Thu, 14 May 2020 02:02:59 +0200 Subject: [PATCH] fix skinned mesh renderer usdz scale --- .../Runtime/Scripts/IO/Skel/SkeletonExporter.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/com.unity.formats.usd/Runtime/Scripts/IO/Skel/SkeletonExporter.cs b/package/com.unity.formats.usd/Runtime/Scripts/IO/Skel/SkeletonExporter.cs index 40ffb6e41..2cd3937b9 100644 --- a/package/com.unity.formats.usd/Runtime/Scripts/IO/Skel/SkeletonExporter.cs +++ b/package/com.unity.formats.usd/Runtime/Scripts/IO/Skel/SkeletonExporter.cs @@ -80,6 +80,8 @@ public static void ExportSkelRoot(ObjectContext objContext, ExportContext export // This is required because USD expects the extent to be a local bound for the SkelRoot. var oldParent = objContext.gameObject.transform.parent; objContext.gameObject.transform.SetParent(null, worldPositionStays: false); + var originalScale = objContext.gameObject.transform.localScale; + objContext.gameObject.transform.localScale *= 1 / exportContext.scale; try { foreach (var r in objContext.gameObject.GetComponentsInChildren()) { @@ -94,6 +96,7 @@ public static void ExportSkelRoot(ObjectContext objContext, ExportContext export } finally { // Restore the root parent. objContext.gameObject.transform.SetParent(oldParent, worldPositionStays: false); + objContext.gameObject.transform.localScale = originalScale; } // Convert handedness if needed.