如何在Unity3D中实现无缝滚动动画?
一、前言
对于游戏开发的动画,可能大部分是采用第三方的制作工具单独完成,然后导入Unity3D 2020.3中。但是有些组件动画,比如像进度条这种,因为要完成色块移动控制,所以在Unity3D中实现更好。
二、操作流程
1.搭建基本结构
结构主要是先一个空对象,对象下添加Image对象作为进度条背景,与背景同级创建一个带Animation组件的对象,最后在带Animation组件对象下添加两个Image对象。
2.添加需要组件
Background添加Image组件;ObjAnima添加Rect Mask 2D组件和Animation组件;Animation01和Animation02添加Image组件。
3.创建Animation文件
在Assets资源管理中右键->Create->Animation,然后双击该文件打开Animation编辑器,点击Create保存到指定位置,文件后缀.anim。
4.Animation编辑
进入编辑框内,点击“Add Property”,出现弹出小框,会出现当前有Animation下的子级,点击下拉会显示子级的属性,像上下移动就选择Anchored Position就可以。
5.添加关键帧
为了实现无缝滚动,原理就是遮罩上一个图形往下移动,在视图中的图形往遮罩下面移动。也就只需对图形的Y轴进行操作。
6.匀速动画设置
设置时间轴默认情况是有缓入缓出的效果,播放的时候就没有无缝滚动的效果,这时候就需要在Curves下设置匀速。
按 “shift”选中两个关键帧,右键的时候不要离开关键帧的点,然后选择“Both Tangents‘,再点击 ”Linear“,看到线条变成直线就表示匀速播放了。
四、写在后面
通过上面操作就完成了一个简单的无缝上下滚动的进度条动画效果,并且没有通过脚本控制。还有一个容易忘记的点是,在打开anim文件时,一定要点击挂在该动画的对象上,不然是无法预览动画。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZERO开发!
评论