18 private AnimationCurve _xCurve;
20 get {
if (_xCurve ==
null) { _xCurve =
new AnimationCurve(); }
return _xCurve; }
21 set { _xCurve = value; }
25 private AnimationCurve _yCurve;
27 get {
if (_yCurve ==
null) { _yCurve =
new AnimationCurve(); }
return _yCurve; }
28 set { _yCurve = value; }
32 private AnimationCurve _zCurve;
34 get {
if (_zCurve ==
null) { _zCurve =
new AnimationCurve(); }
return _zCurve; }
35 set { _zCurve = value; }
39 private AnimationCurve _wCurve;
41 get {
if (_wCurve ==
null) { _wCurve =
new AnimationCurve(); }
return _wCurve; }
42 set { _wCurve = value; }
50 value =
new Quaternion(-value.x, -value.y, -value.z, -value.w);
55 xCurve.AddKey(time, value.x);
56 yCurve.AddKey(time, value.y);
57 zCurve.AddKey(time, value.z);
58 wCurve.AddKey(time, value.w);
62 var x =
xCurve.Evaluate(time);
63 var y =
yCurve.Evaluate(time);
64 var z =
zCurve.Evaluate(time);
65 var w =
wCurve.Evaluate(time);
68 return evaluated.ToNormalized();
76 public void Compress(
float maxAngleError = 1f) {
77 AnimationCurve outXCurve, outYCurve, outZCurve, outWCurve;
79 out outXCurve, out outYCurve,
80 out outZCurve, out outWCurve,
81 maxAngleError: maxAngleError);
AnimationCurve data for an animated Quaternion.
void AddKeyframes(float time, Quaternion value)
Quaternion Evaluate(float time)