示例#1
0
	/// 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;
	}
示例#2
0
    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);
    }