Unity(二)Camera Path Animator插件中事件调度和广播机制Broad Cast
发表于2018-01-24
PS:以前只是简单使用该插件,现在发现还是它好用。相比Itween Path、DoTween前两者都是可视化编辑,方便了和策划的分工配合。不过Itween Path在制作循环圈形轨迹的时候首末点的衔接会使得Target跳跃和停顿,这点很不爽。而Camera Path在衔接上几乎没有卡跃,挺好。DoTween在制作动画方便还是很好使用的。
Unity里的广播机制BroadCast,意思就是群发消息,订阅的对象会收到消息,从而执行相应的方法。其原理还是委托和事件的结合使用。底层依然是依赖反射
以下主要讲解Camera Path插件
一、简单介绍
把要移动的对象放在此处
1 设置很多的路径点,每次经过的X点都可以获取到,看打印面板的显示
2调整路径的弯曲程度,如拉平或者更弯曲
3此路径点处target=camera为相机的FOV视角大小
4此路径点到下一路径点处的运动速度
5此路径点延迟N秒后运动
6整条路径的运动曲径,如正弦、线性等
7事件调度
8在该路径点的旋转角度,可调节,也可以LookAt某个对象
9全局设置
10整条路径的曲线类型,Bezier曲线还是很好用的,取各点的切线值
二、事件调度
1 声明委托和事件
广播消息 此处已在CameraPathAnimator中Update预先执行了,可回查
根据我们在CameraPath中的设置
2 订阅事件
3 接收事件消息
此处传递给了另外一个事件
注册和调用在TargetManager里,也就是沿着路径运动的对象Animated Object
自定义要响应的函数
若已定义MyEvent事件名称则运行到事件路点会看到打印面板有了响应
工程内容
其中TargetManager中的Target是插件例子中第三人称射击用于关卡内控制的对象,如显示或者隐藏什么的物体