29 lines
865 B
C#
29 lines
865 B
C#
using UnityEngine;
|
|
|
|
namespace Models
|
|
{
|
|
public struct RotationNode
|
|
{
|
|
public readonly HumanBodyBones UnityName;
|
|
public Quaternion PreviousRotation;
|
|
public Quaternion Rotation;
|
|
|
|
public Quaternion CalculateRotate => PreviousRotation * Quaternion.Inverse(Rotation);
|
|
|
|
public RotationNode(HumanBodyBones humanBodyBone, Quaternion previousRotation, Quaternion rotation)
|
|
{
|
|
UnityName = humanBodyBone;
|
|
PreviousRotation = previousRotation;
|
|
Rotation = rotation;
|
|
}
|
|
|
|
public RotationNode(RotationNode node, PoseLandmark begin, PoseLandmark end)
|
|
{
|
|
UnityName = node.UnityName;
|
|
PreviousRotation = node.Rotation;
|
|
|
|
var forward = end.Position - begin.Position;
|
|
Rotation = Quaternion.LookRotation(forward);
|
|
}
|
|
}
|
|
} |