UniVRM/Assets/VRM10/Runtime/FastSpringBone/System/CopyToNativeArrayTransformJob.cs
2021-10-01 20:47:55 +09:00

28 lines
889 B
C#

using Unity.Burst;
using Unity.Collections;
using UnityEngine.Jobs;
using UniVRM10.FastSpringBones.Blittables;
namespace UniVRM10.FastSpringBones.System
{
[BurstCompile]
public struct PullTransformJob : IJobParallelForTransform
{
[WriteOnly] public NativeArray<BlittableTransform> Transforms;
public void Execute(int index, TransformAccess transform)
{
Transforms[index] = new BlittableTransform
{
position = transform.position,
rotation = transform.rotation,
localPosition = transform.localPosition,
localRotation = transform.localRotation,
localScale = transform.localScale,
localToWorldMatrix = transform.localToWorldMatrix,
worldToLocalMatrix = transform.worldToLocalMatrix
};
}
}
}