//添加动作片段 private void AddNewAnimationState(JTimelineAnimation line, JAnimationTrack track, float time, string stateName) { var clipData = ScriptableObject.CreateInstance <JAnimationClipData>(); clipData.TargetObject = line.AffectedObject.gameObject; clipData.StartTime = time; clipData.StateName = stateName; clipData.StateDuration = MecanimAnimationUtility.GetStateDuration(stateName, line.AffectedObject.gameObject); clipData.PlaybackDuration = clipData.StateDuration; clipData.Track = track; track.AddClip(clipData); if (timelineClipRenderDataMap.ContainsKey(track)) { var cachedData = ScriptableObject.CreateInstance <JClipRenderData>(); cachedData.ClipData = clipData; timelineClipRenderDataMap[track].Add(cachedData); } else { var cachedData = ScriptableObject.CreateInstance <JClipRenderData>(); cachedData.ClipData = clipData; List <JClipRenderData> list = new List <JClipRenderData>(); list.Add(cachedData); timelineClipRenderDataMap.Add(track, list); } }
public void AddClipWithState(string stateName, float startTime) { var clipData = ScriptableObject.CreateInstance <JAnimationClipData>(); clipData.TargetObject = TimeLine.AffectedObject.gameObject; clipData.StartTime = startTime; clipData.StateName = stateName; clipData.StateDuration = MecanimAnimationUtility.GetStateDuration(stateName, TimeLine.AffectedObject.gameObject); clipData.PlaybackDuration = clipData.StateDuration; clipData.Track = this; AddClip(clipData); }