var asset = TimelineAsset.CreateInstance<TimelineAsset>();
AssetDatabase.CreateAsset(asset, "Assets/test111111.playable");
var track = asset.CreateTrack<DialogueTrackLua>(null, "tt");
var clip = track.CreateClip<DialogueClipLua>();
//var clip = track.CreateClip<Talk>();
//clip.displayName = "QAQ";
AssetDatabase.SaveAssets();
注意事项
1、AssetDatabase.CreateAsset必须在最前面进行 即在CreateInstance<TimelineAssets>之后,不然可能会引起数据丢失问题(可能是值类型的数据丢失)
2、第一个Track的父track填写null
3、创建clip出来后,Clip的asset成员不能随意赋值(最好别自己创个asset赋值上去)它本身就自带asset,这个会造成Clip异常!
例如下面的这个骚操作,会引发Clip异常
var baseClip = PlayableAsset.CreateInstance(luaScriptName);
timelineClip.asset = baseClip;
这些问题搞了我一周!PS: PlayableAsset.CreateInstance<T>(string name); 应该是这样子的 上面的会有报错