From cea17985ffdfdf736939d4adcda89eb7a4e147a2 Mon Sep 17 00:00:00 2001 From: David Back Date: Wed, 6 Mar 2019 13:55:20 -0800 Subject: [PATCH] new jointRotationOffset field --- .../Assets/Editor/AvatarExporter.cs | 13 ++++--------- tools/unity-avatar-exporter/Assets/README.txt | 2 +- .../avatarExporter.unitypackage | Bin 13667 -> 13634 bytes 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs index 7b90145223..dcda499387 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.2"; + static readonly string AVATAR_EXPORTER_VERSION = "0.3.2"; static readonly float HIPS_GROUND_MIN_Y = 0.01f; static readonly float HIPS_SPINE_CHEST_MIN_SEPARATION = 0.001f; @@ -551,13 +551,10 @@ class AvatarExporter : MonoBehaviour { // generate joint rotation offsets for both humanoid-mapped bones as well as extra unmapped bones Quaternion jointOffset = new Quaternion(); - string outputJointName = ""; if (userBoneInfo.HasHumanMapping()) { - outputJointName = HUMANOID_TO_HIFI_JOINT_NAME[userBoneInfo.humanName]; Quaternion rotation = REFERENCE_ROTATIONS[userBoneInfo.humanName]; jointOffset = Quaternion.Inverse(userBoneInfo.rotation) * rotation; } else { - outputJointName = userBoneName; jointOffset = Quaternion.Inverse(userBoneInfo.rotation); string lastRequiredParent = FindLastRequiredAncestorBone(userBoneName); if (lastRequiredParent != "root") { @@ -569,11 +566,9 @@ class AvatarExporter : MonoBehaviour { } // swap from left-handed (Unity) to right-handed (HiFi) coordinates and write out joint rotation offset to fst - if (!string.IsNullOrEmpty(outputJointName)) { - jointOffset = new Quaternion(-jointOffset.x, jointOffset.y, jointOffset.z, -jointOffset.w); - File.AppendAllText(exportFstPath, "jointRotationOffset = " + outputJointName + " = (" + jointOffset.x + ", " + - jointOffset.y + ", " + jointOffset.z + ", " + jointOffset.w + ")\n"); - } + jointOffset = new Quaternion(-jointOffset.x, jointOffset.y, jointOffset.z, -jointOffset.w); + File.AppendAllText(exportFstPath, "jointRotationOffset2 = " + userBoneName + " = (" + jointOffset.x + ", " + + jointOffset.y + ", " + jointOffset.z + ", " + jointOffset.w + ")\n"); } // open File Explorer to the project directory once finished diff --git a/tools/unity-avatar-exporter/Assets/README.txt b/tools/unity-avatar-exporter/Assets/README.txt index c84cec2978..9aea30dc5b 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.2 +Version 0.3.2 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 95c000e7c61b7623e0da0a1f9974e0744375014e..ce4ed346f878123160f51e7584f34097ac63e3e1 100644 GIT binary patch delta 12995 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 P7ec=PP;I)t01yEHI%jNC