From d7482417bf85f60cc824cd2d7a7e7d06d3032ca6 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Wed, 12 Jan 2022 16:11:06 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Migration/MigrationVrmSpringBone.cs | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs b/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs index 6e50bcc67..b0a1c705d 100644 --- a/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs +++ b/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs @@ -168,9 +168,16 @@ namespace UniVRM10 // }, if (x.ContainsKey("bones")) { + var comment = x.GetObjectValueOrDefault("comment", ""); + var dragForce = x["dragForce"].GetSingle(); + var gravityDir = MigrateVector3.Migrate(x["gravityDir"]); + var gravityPower = x["gravityPower"].GetSingle(); + var hitRadius = x["hitRadius"].GetSingle(); + var stiffiness = x["stiffiness"].GetSingle(); foreach (var y in x["bones"].ArrayItems()) { - var comment = x.GetObjectValueOrDefault("comment", ""); + var rootBoneIndex = y.GetInt32(); + var spring = new UniGLTF.Extensions.VRMC_springBone.Spring { Name = comment, @@ -178,16 +185,18 @@ namespace UniVRM10 Joints = new List(), }; - foreach (var z in TraverseFirstChild(gltf.nodes, gltf.nodes[y.GetInt32()])) + // create joints + foreach (var z in TraverseFirstChild(gltf.nodes, gltf.nodes[rootBoneIndex])) { + var nodeIndex = gltf.nodes.IndexOf(z); spring.Joints.Add(new UniGLTF.Extensions.VRMC_springBone.SpringBoneJoint { - Node = gltf.nodes.IndexOf(z), - DragForce = x["dragForce"].GetSingle(), - GravityDir = MigrateVector3.Migrate(x["gravityDir"]), - GravityPower = x["gravityPower"].GetSingle(), - HitRadius = x["hitRadius"].GetSingle(), - Stiffness = x["stiffiness"].GetSingle(), + Node = nodeIndex, + DragForce = dragForce, + GravityDir = gravityDir, + GravityPower = gravityPower, + HitRadius = hitRadius, + Stiffness = stiffiness, }); }