劝匠注 发表于 2025-9-10 08:54:45

如何在 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 文件时,一定要点击挂在该动画的对象上,不然是无法预览动画。

 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

嗳歉楞 发表于 2025-10-26 19:39:31

感谢分享

衣旱 发表于 2025-11-29 14:53:55

谢谢楼主提供!

昆拗干 发表于 2026-1-10 00:31:58

热心回复!

寇秀娟 发表于 2026-1-21 03:54:33

前排留名,哈哈哈

柯惠心 发表于 2026-1-21 08:34:36

收藏一下   不知道什么时候能用到

山真柄 发表于 2026-1-22 11:40:17

谢谢分享,辛苦了

祝安芙 发表于 2026-1-22 13:34:34

分享、互助 让互联网精神温暖你我

柏雅云 发表于 2026-1-22 14:08:54

谢谢分享,试用一下

赊朗爆 发表于 2026-1-23 02:46:30

感谢,下载保存了

郗燕岚 发表于 2026-1-23 06:30:35

感谢分享,学习下。

甦忻愉 发表于 2026-1-24 16:01:18

不错,里面软件多更新就更好了

翳舀 发表于 2026-1-25 03:01:36

过来提前占个楼

啤愿 发表于 2026-1-26 16:51:51

用心讨论,共获提升!

鄂缮输 发表于 2026-1-28 10:30:40

感谢分享

跟尴 发表于 2026-2-4 10:54:40

谢谢分享,辛苦了

曲愍糙 发表于 2026-2-5 10:10:09

喜欢鼓捣这些软件,现在用得少,谢谢分享!

尝琨 发表于 2026-2-8 07:10:20

谢谢分享,试用一下

吮槌圯 发表于 2026-2-8 22:37:14

感谢发布原创作品,程序园因你更精彩

孜尊 发表于 2026-2-9 05:22:25

感谢,下载保存了
页: [1] 2
查看完整版本: 如何在 Unity3D 中实现无缝滚动动画?