30 lines
883 B
C#
30 lines
883 B
C#
using UnityEngine;
|
|
using UnityEngine.Animations;
|
|
using UnityEngine.Animations.Rigging;
|
|
|
|
namespace VOID.Generic.Objects.Unit.Animations.Helpers
|
|
{
|
|
public struct ExtractTransformConstraintJob : IWeightedAnimationJob
|
|
{
|
|
public ReadWriteTransformHandle bone;
|
|
|
|
public FloatProperty jobWeight { get; set; }
|
|
|
|
public Vector3Property position;
|
|
public Vector4Property rotation;
|
|
|
|
public void ProcessRootMotion(AnimationStream stream)
|
|
{ }
|
|
|
|
public void ProcessAnimation(AnimationStream stream)
|
|
{
|
|
AnimationRuntimeUtils.PassThrough(stream, this.bone);
|
|
|
|
var pos = this.bone.GetPosition(stream);
|
|
var rot = this.bone.GetRotation(stream);
|
|
|
|
this.position.Set(stream, pos);
|
|
this.rotation.Set(stream, new Vector4(rot.x, rot.y, rot.z, rot.w));
|
|
}
|
|
}
|
|
} |