From 12db3507be853e1f3103353e2be0bfaf8d74563a Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 5 Feb 2024 16:21:30 +0900 Subject: [PATCH] =?UTF-8?q?rotation=20=E3=82=82=E3=81=97=E3=81=8F=E3=81=AF?= =?UTF-8?q?=20scaling=20=E3=81=A0=E3=81=91=E3=82=92=20freeze=20=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=81=AE=E3=81=AF=E9=9B=A3=E3=81=97=E3=81=8B=E3=81=A3?= =?UTF-8?q?=E3=81=9F=E3=80=82=20=E4=B8=A1=E6=96=B9=E3=82=84=E3=82=8B?= =?UTF-8?q?=E3=81=8B=E3=82=84=E3=82=89=E3=81=AA=E3=81=84=E3=81=8B=E3=81=AB?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/MeshUtility/MeshUtilityDialog.cs | 5 ++--- .../Runtime/MeshUtility/GltfMeshUtility.cs | 16 ++++------------ .../Runtime/SkinnedMeshUtility/VrmMeshUtility.cs | 2 +- .../Runtime/MeshUtility/Vrm10MeshUtility.cs | 4 ++-- 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/Assets/UniGLTF/Editor/MeshUtility/MeshUtilityDialog.cs b/Assets/UniGLTF/Editor/MeshUtility/MeshUtilityDialog.cs index c2a923b83..91628b012 100644 --- a/Assets/UniGLTF/Editor/MeshUtility/MeshUtilityDialog.cs +++ b/Assets/UniGLTF/Editor/MeshUtility/MeshUtilityDialog.cs @@ -301,9 +301,8 @@ namespace UniGLTF.MeshUtility bool MeshFreezeGui() { var blendShape = ToggleIsModified("BlendShape", ref MeshUtility.FreezeBlendShape); - var scale = ToggleIsModified("Scale", ref MeshUtility.FreezeScaling); - var rotation = ToggleIsModified("Rotation", ref MeshUtility.FreezeRotation); - return blendShape || scale || rotation; + var rotationAndScaling = ToggleIsModified("RotationAndScaling", ref MeshUtility.FreezeRotationAndScaling); + return blendShape || rotationAndScaling; } protected virtual bool MeshIntegrateGui() diff --git a/Assets/UniGLTF/Runtime/MeshUtility/GltfMeshUtility.cs b/Assets/UniGLTF/Runtime/MeshUtility/GltfMeshUtility.cs index 8c1323655..f8c98298f 100644 --- a/Assets/UniGLTF/Runtime/MeshUtility/GltfMeshUtility.cs +++ b/Assets/UniGLTF/Runtime/MeshUtility/GltfMeshUtility.cs @@ -31,15 +31,7 @@ namespace UniGLTF.MeshUtility /// - Node /// - InverseBindMatrices /// - public bool FreezeScaling = true; - - /// - /// Same as VRM-0 normalization - /// - Mesh - /// - Node - /// - InverseBindMatrices - /// - public bool FreezeRotation = false; + public bool FreezeRotationAndScaling = false; public List MeshIntegrationGroups = new List(); @@ -172,15 +164,15 @@ namespace UniGLTF.MeshUtility public virtual (List, List) Process( GameObject target, IEnumerable groupCopy) { - if (FreezeBlendShape || FreezeRotation || FreezeScaling) + if (FreezeBlendShape || FreezeRotationAndScaling) { // MeshをBakeする - var meshMap = BoneNormalizer.NormalizeHierarchyFreezeMesh(target, FreezeRotation); + var meshMap = BoneNormalizer.NormalizeHierarchyFreezeMesh(target, FreezeRotationAndScaling); // - ヒエラルキーから回転・拡縮を除去する // - BakeされたMeshで置き換える // - bindPoses を再計算する - BoneNormalizer.Replace(target, meshMap, FreezeRotation, FreezeScaling); + BoneNormalizer.Replace(target, meshMap, FreezeRotationAndScaling, FreezeRotationAndScaling); } var newList = new List(); diff --git a/Assets/VRM/Runtime/SkinnedMeshUtility/VrmMeshUtility.cs b/Assets/VRM/Runtime/SkinnedMeshUtility/VrmMeshUtility.cs index e559f453b..55bbfb177 100644 --- a/Assets/VRM/Runtime/SkinnedMeshUtility/VrmMeshUtility.cs +++ b/Assets/VRM/Runtime/SkinnedMeshUtility/VrmMeshUtility.cs @@ -108,7 +108,7 @@ namespace VRM // TODO: update: firstPerson offset var (list, newList) = base.Process(target, copyGroup); - if (FreezeBlendShape || FreezeRotation || FreezeScaling) + if (FreezeBlendShape || FreezeRotationAndScaling) { var animator = target.GetComponent(); var newAvatar = AvatarDescription.RecreateAvatar(animator); diff --git a/Assets/VRM10/Runtime/MeshUtility/Vrm10MeshUtility.cs b/Assets/VRM10/Runtime/MeshUtility/Vrm10MeshUtility.cs index 2fb0a2748..27527c108 100644 --- a/Assets/VRM10/Runtime/MeshUtility/Vrm10MeshUtility.cs +++ b/Assets/VRM10/Runtime/MeshUtility/Vrm10MeshUtility.cs @@ -11,7 +11,7 @@ namespace UniVRM10 { public Vrm10MeshUtility() { - FreezeRotation = true; + FreezeRotationAndScaling = true; } bool _generateFirstPerson = false; @@ -115,7 +115,7 @@ namespace UniVRM10 // TODO: update: firstPerson offset var (list, newList) = base.Process(target, groupCopy); - if (FreezeBlendShape || FreezeRotation || FreezeScaling) + if (FreezeBlendShape || FreezeRotationAndScaling) { var animator = target.GetComponent(); var newAvatar = AvatarDescription.RecreateAvatar(animator);