如何在 Unity3D 中实现无缝滚动动画?

一、前言

对于游戏开发的动画,可能大部分是采用第三方的制作工具单独完成,然后导入 Unity3D 2020.3 中。但是有些组件动画,比如像进度条这种,因为要完成色块移动控制,所以在 Unity3D 中实现更好。

二、操作流程

1. 搭建基本结构

结构主要是先一个空对象,对象下添加 Image 对象作为进度条背景,与背景同级创建一个带 Animation 组件的对象,最后在带 Animation 组件对象下添加两个 Image 对象。

2. 添加需要组件

Background 添加 Image 组件;ObjAnima 添加 Rect Mask 2D 组件和 Animation 组件;Animation01 和 Animation02 添加 Image 组件。

108053e7a86a67ce9a86fe184c557bf2_up-0fe315d8492f79b49ec2df159c75a482a5a.png

3. 创建 Animation 文件

在 Assets 资源管理中右键 ->Create->Animation,然后双击该文件打开 Animation 编辑器,点击 Create 保存到指定位置,文件后缀.anim。

2dfeb37246dc9cd1ab5f31a167830684_up-99a74a26208fe7ab9f5c80091e355f21beb.png

4.Animation 编辑

进入编辑框内,点击 “Add Property”,出现弹出小框,会出现当前有 Animation 下的子级,点击下拉会显示子级的属性,像上下移动就选择 Anchored Position 就可以。

c7a01f4e7f401b6c2a0f29431e29905a_up-c3f15a241580ceabf66affb611fa4d7d18a.png

5. 添加关键帧

为了实现无缝滚动,原理就是遮罩上一个图形往下移动,在视图中的图形往遮罩下面移动。也就只需对图形的 Y 轴进行操作。

b7fe4e53017bd99e1e1faaf0a34160f3_up-9c1da05bafbc84eb16e22b026627596a66e.png

6. 匀速动画设置

设置时间轴默认情况是有缓入缓出的效果,播放的时候就没有无缝滚动的效果,这时候就需要在 Curves 下设置匀速。 按 “shift” 选中两个关键帧,右键的时候不要离开关键帧的点,然后选择 “Both Tangents‘,再点击 ”Linear“,看到线条变成直线就表示匀速播放了。

06e2d6e79e27b90247514812043cdbad_up-ab747f54c11ee152113989e4c5174211e8e.png

四、写在后面

通过上面操作就完成了一个简单的无缝上下滚动的进度条动画效果,并且没有通过脚本控制。还有一个容易忘记的点是,在打开 anim 文件时,一定要点击挂在该动画的对象上,不然是无法预览动画。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容