/// t-->[0,1] public static Vector3 GetHermitePoint_S(float t, YamlScaleData preData, YamlScaleData nexData, LerpType lerpType) { Vector3 scale; if(lerpType==LerpType.LineLerp) { scale = Vector3.Lerp(preData.value,nexData.value, t); } else { scale = CalculateHermitePoint(t,nexData.time-preData.time,preData.value,nexData.value,preData.outSlope,nexData.inSlope); } return scale; }
void ParseScaleInfoToList(YamlSequenceNode node, string key) { IList <YamlNode> nodeList = node.Children; List <YamlSQTData> list = new List <YamlSQTData>(); foreach (YamlMappingNode valueNode in nodeList) { YamlScaleData scaleData = new YamlScaleData(); scaleData.time = float.Parse(EasyYaml.FindMapNodeByKey("time", valueNode).ToString()); scaleData.value = GetVector3("value", valueNode); scaleData.inSlope = GetVector3("inSlope", valueNode); scaleData.outSlope = GetVector3("outSlope", valueNode); scaleData.tangentMode = float.Parse(EasyYaml.FindMapNodeByKey("tangentMode", valueNode).ToString()); list.Add(scaleData); } scaleInfo.Add(key, list); }