在利用Unity开发一些游戏情景的過程中为了让我们在修改游戏剧情、画面时有着更高的效率,Unity游戏开发人员需要保证unity动画的长度控制器的良好个运行就要定期对其进荇维护。今天千锋老师就分享几个让unity动画的长度控制器保持整洁的小技巧
1、使用混合树封装复杂的行为
混合树很适合用来隐藏複杂的行为。混合树并没有状态它也不需要代码回调。它仅仅会根据用户定义的参数来混合两个不同的unity动画的长度剪辑
使用混合樹的优点是在迭代混合树时,完全不用担心会把游戏的其它部分弄得一团糟你可以封装隐藏好复杂的状态网,同时避免在接下来的开发過程中产生新的问题因为你不能给混合树中绝大多数的unity动画的长度绑定行为。
2、把Layer当作脚本类
将Layer大致看做是脚本类对于理解接下来的内容是很有帮助的。你会把所有相同的逻辑和行为函数都封装在一个层中这是因为每一个层都会对其重载的其它层的部分进行控制,不受某个具体骨骼或层级的限制
状态与子状态机种逻辑模式的重用有助于提升开发的速度,也有助于其他人制作类似的内容同时故障的排查也更容易,减少bug产生的数量
4、使用状态机行为来确保某个unity动画的长度事件被正确应用
unity动画的长度事件可以将unity動画的长度剪辑片段中的某个瞬间与游戏的某种状态联系起来,它们可以被用来设置诸如视觉或声音效果然而如果状态机中某个事件在被发布之前状态就被转出,则这个事件就根本不会被发布一种解决方案是添加一个新的状态机行为,用于确保在某个瞬间事件确实地被發布出来无论游戏中发生了什么事情。
如果有的朋友是零基础想要转行学习Unity游戏开发知识,可以来班千锋课程深入教学的图形技术,讲解包括OpenGL渲染管线着色器,高光计算、菲尼尔色散、雾方程式等高阶课程对于从事过Unity游戏开发的人员也具有相当高的学习价值。
!!!!并非完全翻译部分是翻译后根据我的理解
Timeline是一个能够创建过场unity动画的长度,游戏序列和复杂的粒子系统的新工具
Timeline是一个外部assets,是Timeline Editor的一部分就像市面上的视頻编辑器有一个时间线,用时间线作为参考就可以对unity动画的长度,声音脚本,游戏对象在时间线上进行安排
接下来是创建一个Timeline:
把剛才新创建的Timeline拖到一个对象上,那么这个对象就会有一个叫Playable Director的组件这个组件控制timeline什么时候开始,什么时间和怎样进行
Update Method:回放将遵循(DSP,游戏任何游戏,手动或固定)
Wrap Mode:当序列到达终点时会发生什么(循环None,保持)
这个Playable Director组件可以通过脚本动态控制开始和停止
虚拟摄像機用电影里面的术语来说,就是一个分镜的意思
再创建一个虚拟摄像头,和随意个短条把不同的虚拟摄像头作为不同短条的摄像头,就可以实现电影分镜的效果:
把你想要的虚拟摄像头作为短条的摄像头:
两个片段相互重叠在一个轨道上时这两个剪辑被称为“混合”。Timeline自动创建缓和输出输入曲线以控制如何2个剪辑将顺利地结合在一起播放回来。(注意您可以通过检查人员定制和微调这些共混物,见下文)
里面的s为秒f为帧;
Clip In:开始播放源剪辑的偏移量。例如如果您想播放10秒音频剪辑的第二部分,请将剪辑值设置为5
Speed Multiplier:在剪辑嘚重放速度上的倍数。此值必须大于0更改剪辑的这个值将改变剪辑的持续时间以播放相同的内容。
Blend Curves(混合曲线):如上所述当两个片段重叠时,每个曲线都会自动生成混合曲线默认情况下,使用缓和曲线和缓和曲线您可以自定义曲线通过改变曲线从“自动”到“手動”,然后点击曲线曲线编辑器将出现在检查窗口下面的预览窗口中。
在这里你可以选择不同的预置或手动编辑曲线。编辑器将强制所有曲线的混合在1结束混合曲线从1开始。
unity动画的长度轨道是一个很好的例子支持外推法。没有选择模式时Timeline会自动设置Hold模式,避免不良的绑定姿势使用外推法,我们可以根据最近的剪辑来改变这些间隙中的行为
外推法重复剪辑,直到另一个剪辑出现在轨道上并通過操纵剪辑的本地时间来完成。
有2种方式来播放时间表:在编辑模式和播放模式
Hold模式:当播放头到达结束的时间表播放于时间轴的最后一帧中断播放直到用户关闭播放按钮
Clip selection(短条的选择【意译】):通过单击所需短条的任意位置来选择单个短条 Timeline让你知道已选择的短条会显示白色边框和颜色突出。你也可以通过使用“Shift +点击”来选择一个范围或者“Ctrl +点击”来独立选择多个剪辑
通过右键单击短条并从上下文菜单中选择編辑>重复,可以选择所选剪辑或多个剪辑 重复片段自动添加当前轨道的尽头。
用户可以很容易地创建Timeline的关键帧unity动画的长度创建新对象的變换参数或unity动画的长度属性
4选择要unity动画的长度的层佽结构的对象,在时间线上移动播放头到你想要的第一个关键帧的位置和设置对象所需的通过检查或在你的场景视图变换值
5,将playhead移到时間轴上的不同位置记录一个新的关键帧。
6完成后,关闭自动密钥记录按跟踪记录按钮
7,您可以保留您的轨道作为一个无限的轨道或轉换到剪辑轨道选择“转换为剪辑轨道”从轨道的选择菜单
记录在自定义的可播放的轨道上:
关键帧也可以记录在任何unity动画的长度属性鉯相同的方式在Custom Playable tracks中
加载中,请稍候......