timeline - woodelf-treetop/rcwiki GitHub Wiki
timeline 一般存放在Assets\AssetBundle\EffectPool 目录下,需要把timeline资源分别放在四个目录下,分别对应主界面,家园界面,通用界面,战斗界面。
(现在有Maingametime,HudpanelTimeline,还需要创建对应的CommomTimeline和HomelandTimeline)
- Animation Track 固定动画轨道
- PathMagic Control Track 可变轨迹轨道
- Load Effect Control Track 加载特效轨道
- Lua Event Control Track 回调时间轨道
- Lua End Event Control Track 结束事件轨道
- Control Track 老版本 加载特效轨道(如果需要使用 和程序确认)
- Spine Animation State Track spine动画轨道(挂spine本身动画)
- Spine Skeleton Flip Track (使spine在x轴或者y轴镜像翻转)
- Audio Track 声音轨道
现在分成四类
1.Timeline_AddToPool
只有在对应界面打开,可以加载,第一次加载可能有卡顿(由于timeline资源本身比较简单,也不会特别大,建议timeline资源在项目中,都放在addtopool的文件目录下)
2.Timeline_Preload
对应界面打开后,在池子加载的时候预加载,第一次加载不会卡顿(会占用内存,不推荐,timeline很少存在卡顿现象)
3.Wait_implantation
美术调试文件夹,里面的timeline不会被打包进bundle,由于依赖关系问题,建议程序在置入对应timeline之后,删除implantion里面对应的timeline(如果需要特效修改,则让特效从项目里面拉取,重新在implantion修改)
3.1(由于非常少)直接存在panel里面
4.FX_OutPool:不加入对象池。使用时加载,用完之后就释放
1.timeline上面尽量不要挂animator组件,除非这个timeline是加载的所有特效的root节点(以前的ControlTrack),现在尽量用loadeffect 轨道替换,需要填加载的特效池,和默认加载的特效,不知道是哪个特效池需要和程序沟通

2.注意每个timeline必须挂effectParent
3.注意轨道重名问题,轨道名称说的是

4.需要在timeline置入audio,需要在timeline预制体下级创建obj,命名(AudioSource),添加AudioSource组件,在output 通道选择 fxMusic,把audioSource拖拽到timeline的audio轨道上

5.pathmagic的制作 ,需要在timeline预制体下创建两个obj,命名为path_(数字),root_(数字)。path上面需要挂root_(数字)。要注意,需要保证timeline自身pathmagic轨道下 clip的pathMagicName和使用到的path命名完全相同。


6.timeline基本上不需要playOnAwake,除非是程序需要
7.重新强调一下美术文件夹和准备置入游戏内文件夹的区别(Instructions是美术文件夹,美术可以随便修改,这个是不归项目的。Wait_Implantation是准备置入项目的文件夹,美术制作完成的特效或者timeline才能放这个文件夹里面,等待程序确认置入项目,需要删除原文件。理论上来说Wait_Implantation,在没有新特效或者timeline需要置入的时候,是空的)
1.资源本身有问题,需要及时和美术确认,如果美术制作了ControlTrack轨道,需要和策划讨论,是不是要改成loadeffect(资源重用以及减少依赖)(对这个轨道程序有决定权,建议是改成loadEffect)
2.检查timeline ,pathmagic上面标识5,轨道下clip名和path名是否相同,(有pathmagic先检查,不然会浪费很多时间,美术经常命名会有问题)
3.检查有没有endevent,尽量少使用luaEvent
4.EffectOperator.LoadTimeline(timeline的名字,timeline池子的名字,func)
5.loadeffect 轨道设置 MethodExtensionForTimeline.SetLoadEffectParam(director,轨道名称, parent挂点, false,func)
6.每个timeline都会提供endEvent 和FinaLuaEndEvent 使用
7.pathmagic使用,下面是只有起点和终点的pathmagic使用方法。 MethodExtensionForTimeline.SetPathMagicParam( director, 轨道名, 屏幕坐标,起始坐标(x,y), true, pathMagicName, nil)
MethodExtensionForTimeline.SetPathMagicParam( director, 轨道名, 屏幕坐标,终点坐标(x,y), false, pathMagicName, nil)