Merge pull request #2322 from ousttrue/fix/VRMC_springBone_extended_collider_exporter

VRMC_springBone_extended_collider exporter を修正しました。
This commit is contained in:
ousttrue 2024-06-17 15:10:43 +09:00 committed by GitHub
commit 8b09ff9af1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -320,6 +320,18 @@ namespace UniVRM10
};
break;
}
default:
{
// 既存実装で未知の collider が来た時に throw しているので
// 回避するために適当な Shpere を作る。
shape.Sphere = new UniGLTF.Extensions.VRMC_springBone.ColliderShapeSphere
{
Radius = 0,
Offset = new float[] { 0, 0, 0 },
};
break;
}
}
return shape;
}
@ -435,15 +447,19 @@ namespace UniVRM10
Node = getNodeIndexFromTransform(c.transform),
Shape = ExportShape(c),
};
if (c.ColliderType == VRM10SpringBoneColliderTypes.SphereInside
|| c.ColliderType == VRM10SpringBoneColliderTypes.CapsuleInside
|| c.ColliderType == VRM10SpringBoneColliderTypes.Plane
)
{
exportCollider.Extensions = new UniGLTF.Extensions.VRMC_springBone_extended_collider.VRMC_springBone_extended_collider
var extendedCollider = new UniGLTF.Extensions.VRMC_springBone_extended_collider.VRMC_springBone_extended_collider
{
Shape = ExportShapeExtended(c),
};
glTFExtension extensions = default;
UniGLTF.Extensions.VRMC_springBone_extended_collider.GltfSerializer.SerializeTo(ref extensions, extendedCollider);
exportCollider.Extensions = extensions;
}
springBone.Colliders.Add(exportCollider);
}