diff --git a/Assets/UniGLTF/Runtime/SpringBoneJobs/Blittables/BlittableSpan.cs b/Assets/UniGLTF/Runtime/SpringBoneJobs/Blittables/BlittableSpan.cs index 425d2a6be..bf7a400ef 100644 --- a/Assets/UniGLTF/Runtime/SpringBoneJobs/Blittables/BlittableSpan.cs +++ b/Assets/UniGLTF/Runtime/SpringBoneJobs/Blittables/BlittableSpan.cs @@ -3,11 +3,20 @@ using System; namespace UniGLTF.SpringBoneJobs.Blittables { [Serializable] - public struct BlittableSpan + public readonly struct BlittableSpan { - public int startIndex; - public int count; + private readonly int _startIndex; + private readonly int _count; + + public int startIndex => _startIndex; + public int count => _count; public int EndIndex => startIndex + count; + + public BlittableSpan(int startIndex, int count) + { + _startIndex = startIndex; + _count = count; + } } } \ No newline at end of file diff --git a/Assets/UniGLTF/Runtime/SpringBoneJobs/FastSpringBoneConbinedBuffer.cs b/Assets/UniGLTF/Runtime/SpringBoneJobs/FastSpringBoneConbinedBuffer.cs index 8e8cc7835..fb65bc910 100644 --- a/Assets/UniGLTF/Runtime/SpringBoneJobs/FastSpringBoneConbinedBuffer.cs +++ b/Assets/UniGLTF/Runtime/SpringBoneJobs/FastSpringBoneConbinedBuffer.cs @@ -249,8 +249,8 @@ namespace UniGLTF.SpringBoneJobs { var spring = SrcSprings[index]; spring.modelIndex = ModelIndex; - spring.colliderSpan.startIndex += CollidersOffset; - spring.logicSpan.startIndex += LogicsOffset; + spring.colliderSpan = new BlittableSpan(spring.colliderSpan.startIndex + CollidersOffset, spring.colliderSpan.count); + spring.logicSpan = new BlittableSpan(spring.logicSpan.startIndex + LogicsOffset, spring.logicSpan.count); spring.transformIndexOffset = TransformOffset; DestSprings[index] = spring; } diff --git a/Assets/UniGLTF/Runtime/SpringBoneJobs/InputPorts/FastSpringBoneBuffer.cs b/Assets/UniGLTF/Runtime/SpringBoneJobs/InputPorts/FastSpringBoneBuffer.cs index a87346731..3c0fddec4 100644 --- a/Assets/UniGLTF/Runtime/SpringBoneJobs/InputPorts/FastSpringBoneBuffer.cs +++ b/Assets/UniGLTF/Runtime/SpringBoneJobs/InputPorts/FastSpringBoneBuffer.cs @@ -69,16 +69,8 @@ namespace UniGLTF.SpringBoneJobs.InputPorts { var blittableSpring = new BlittableSpring { - colliderSpan = new BlittableSpan - { - startIndex = blittableColliders.Count, - count = spring.colliders.Length, - }, - logicSpan = new BlittableSpan - { - startIndex = blittableJoints.Count, - count = spring.joints.Length - 1, - }, + colliderSpan = new BlittableSpan(blittableColliders.Count,spring.colliders.Length), + logicSpan = new BlittableSpan(blittableJoints.Count, spring.joints.Length - 1), centerTransformIndex = Array.IndexOf(Transforms, spring.center), }; blittableSprings.Add(blittableSpring);