FastSpringBoneCombinedBuffer.DrawGizmos

This commit is contained in:
ousttrue
2024-11-08 13:06:47 +09:00
parent 6ea8259304
commit 7e0e235147
7 changed files with 56 additions and 2 deletions

View File

@@ -15,5 +15,12 @@ namespace UniGLTF.SpringBoneJobs.Blittables
// capsule tail or plane normal
public Vector3 tailOrNormal;
public int transformIndex;
public void DrawGizmo(BlittableTransform t)
{
Gizmos.matrix = t.localToWorldMatrix;
Gizmos.color = Color.blue;
Gizmos.DrawWireSphere(offset, radius);
}
}
}

View File

@@ -17,5 +17,12 @@ namespace UniGLTF.SpringBoneJobs.Blittables
public float length;
public Quaternion localRotation;
public Vector3 boneAxis;
public void DrawGizmo(BlittableTransform t, BlittableJointMutable m)
{
Gizmos.matrix = t.localToWorldMatrix;
Gizmos.color = Color.green;
Gizmos.DrawWireSphere(Vector3.zero, m.radius);
}
}
}

View File

@@ -7,5 +7,7 @@ namespace UniGLTF.SpringBoneJobs.Blittables
{
public int startIndex;
public int count;
public int EndIndex => startIndex + count;
}
}

View File

@@ -95,5 +95,13 @@ namespace UniGLTF.SpringBoneJobs
_combinedBuffer = null;
}
}
public void DrawGizmos()
{
if (_combinedBuffer is FastSpringBoneCombinedBuffer combined)
{
combined.DrawGizmos();
}
}
}
}

View File

@@ -398,5 +398,27 @@ namespace UniGLTF.SpringBoneJobs
logicsIndex += length;
}
}
public void DrawGizmos()
{
foreach (var collider in _colliders)
{
collider.DrawGizmo(_transforms[collider.transformIndex]);
}
foreach (var spring in _springs)
{
for (int i = spring.logicSpan.startIndex; i < spring.logicSpan.EndIndex; ++i)
{
var joint = _logics[i];
joint.DrawGizmo(_transforms[joint.tailTransformIndex], _joints[i]);
Gizmos.matrix = Matrix4x4.identity;
Gizmos.DrawLine(
_transforms[joint.tailTransformIndex].position,
_transforms[joint.headTransformIndex].position);
}
}
}
}
}

View File

@@ -124,7 +124,7 @@ namespace UniVRM10
public void DrawGizmos()
{
m_bufferCombiner.DrawGizmos();
}
}
}

View File

@@ -102,5 +102,13 @@ namespace UniVRM10.FastSpringBones
}
_fastSpringBoneScheduler.Schedule(deltaTime).Complete();
}
public void OnDrawGizmosSelected()
{
if (enabled)
{
BufferCombiner.DrawGizmos();
}
}
}
}
}