diff --git a/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs b/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs index f53759cff..132aad0f7 100644 --- a/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs +++ b/Assets/VRM10/Runtime/Migration/MigrationVrmSpringBone.cs @@ -1,6 +1,6 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; +using UniGLTF.Extensions.VRMC_springBone; using UniJSON; namespace UniVRM10 @@ -19,8 +19,8 @@ namespace UniVRM10 float _stiffness; int[] _colliderGroups; - List _springs = new List(); - public IReadOnlyList Springs => _springs; + List _springs = new List(); + public IReadOnlyList Springs => _springs; public SpringBoneGroupMigrator(UniGLTF.glTF gltf, JsonNode vrm0BoneGroup) { @@ -42,21 +42,21 @@ namespace UniVRM10 } } - UniGLTF.Extensions.VRMC_springBone.Spring CreateSpring() + Spring CreateSpring() { - var spring = new UniGLTF.Extensions.VRMC_springBone.Spring + var spring = new Spring { Name = _comment, ColliderGroups = _colliderGroups, - Joints = new List(), + Joints = new List(), }; _springs.Add(spring); return spring; } - UniGLTF.Extensions.VRMC_springBone.SpringBoneJoint CreateJoint(int node) + SpringBoneJoint CreateJoint(int node) { - return new UniGLTF.Extensions.VRMC_springBone.SpringBoneJoint + return new SpringBoneJoint { Node = node, DragForce = _dragForce, @@ -82,7 +82,7 @@ namespace UniVRM10 /// /// children[0] のみカウントアップする。その他は0にリセットする /// - void CreateJointsRecursive(UniGLTF.glTFNode node, int level, UniGLTF.Extensions.VRMC_springBone.Spring spring = null) + void CreateJointsRecursive(UniGLTF.glTFNode node, int level, Spring spring = null) { if (spring == null && level > 0) { @@ -136,7 +136,7 @@ namespace UniVRM10 // https://github.com/vrm-c/vrm-specification/pull/255 // 1.0 では末端に7cmの遠さに joint を追加する動作をしなくなった。 // その差異に対応して、7cmの遠さに node を追加する。 - UniGLTF.Extensions.VRMC_springBone.SpringBoneJoint AddTail7cm(int lastIndex) + SpringBoneJoint AddTail7cm(int lastIndex) { var last = _gltf.nodes[lastIndex]; var name = last.name ?? ""; @@ -162,7 +162,7 @@ namespace UniVRM10 // 1.0 では、head + tail のペアでスプリングを表し、 // 揺れ挙動のパラメーターは head の方に入る。 // 要するに 末端の joint では Node しか使われない。 - return new UniGLTF.Extensions.VRMC_springBone.SpringBoneJoint + return new SpringBoneJoint { Node = tail_index, }; @@ -180,13 +180,13 @@ namespace UniVRM10 /// /// /// - public static UniGLTF.Extensions.VRMC_springBone.VRMC_springBone Migrate(UniGLTF.glTF gltf, JsonNode vrm0) + public static VRMC_springBone Migrate(UniGLTF.glTF gltf, JsonNode vrm0) { - var springBone = new UniGLTF.Extensions.VRMC_springBone.VRMC_springBone + var springBone = new VRMC_springBone { - Colliders = new List(), - ColliderGroups = new List(), - Springs = new List(), + Colliders = new List(), + ColliderGroups = new List(), + Springs = new List(), }; foreach (var vrm0ColliderGroup in vrm0["colliderGroups"].ArrayItems()) @@ -224,12 +224,12 @@ namespace UniVRM10 foreach (var vrm0Collider in vrm0ColliderGroup["colliders"].ArrayItems()) { colliders.Add(springBone.Colliders.Count); - springBone.Colliders.Add(new UniGLTF.Extensions.VRMC_springBone.Collider + springBone.Colliders.Add(new Collider { Node = vrm0ColliderGroup["node"].GetInt32(), - Shape = new UniGLTF.Extensions.VRMC_springBone.ColliderShape + Shape = new ColliderShape { - Sphere = new UniGLTF.Extensions.VRMC_springBone.ColliderShapeSphere + Sphere = new ColliderShapeSphere { Offset = MigrateVector3.Migrate(vrm0Collider["offset"]), Radius = vrm0Collider["radius"].GetSingle() @@ -237,7 +237,7 @@ namespace UniVRM10 } }); } - var colliderGroup = new UniGLTF.Extensions.VRMC_springBone.ColliderGroup() + var colliderGroup = new ColliderGroup() { Colliders = colliders.ToArray(), };