export with bone normalize cause, drop look at curve params

This commit is contained in:
ousttrue
2021-05-19 16:04:16 +09:00
parent 3f7fa08f0a
commit b8223a20c3
2 changed files with 30 additions and 1 deletions

View File

@@ -7,7 +7,7 @@ using UnityEngine;
namespace VRM
{
[Serializable]
public class CurveMapper
public class CurveMapper : IEquatable<CurveMapper>
{
public AnimationCurve Curve = AnimationCurve.Linear(0, 0, 1.0f, 1.0f);
@@ -37,6 +37,12 @@ namespace VRM
}
}
public void Assign(CurveMapper mapper)
{
CurveXRangeDegree = mapper.CurveXRangeDegree;
CurveYRangeDegree = mapper.CurveYRangeDegree;
}
public void Apply(glTF_VRM_DegreeMap degreeMap)
{
CurveXRangeDegree = degreeMap.xRange;
@@ -71,5 +77,21 @@ namespace VRM
}
return Curve.Evaluate(src / CurveXRangeDegree) * CurveYRangeDegree;
}
public bool Equals(CurveMapper other)
{
if (CurveXRangeDegree != other.CurveXRangeDegree) return false;
if (CurveYRangeDegree != other.CurveYRangeDegree) return false;
return true;
}
public override bool Equals(object obj)
{
if (obj is CurveMapper mapper)
{
return Equals(mapper);
}
return base.Equals(obj);
}
}
}

View File

@@ -228,6 +228,10 @@ namespace VRM
if (src != null)
{
var dst = root.AddComponent<VRMLookAtBoneApplyer>();
dst.HorizontalInner.Assign(src.HorizontalInner);
dst.HorizontalOuter.Assign(src.HorizontalOuter);
dst.VerticalUp.Assign(src.VerticalUp);
dst.VerticalDown.Assign(src.VerticalDown);
}
}
{
@@ -236,6 +240,9 @@ namespace VRM
if (src != null)
{
var dst = root.AddComponent<VRMLookAtBlendShapeApplyer>();
dst.Horizontal.Assign(src.Horizontal);
dst.VerticalUp.Assign(src.VerticalUp);
dst.VerticalDown.Assign(src.VerticalDown);
}
}