Unity动画 相机动画 推拉摇移
2021-04-29 本文已影响0人
暴走TA
简介: 做视频的时候,有很多的时候相机是会运动的,我们趁热打铁,来做一个相机的动画,教程当中也会讲一些快捷的文件创建方法
版本:Unity2019.4.12f1 HDRP 7.5.1
准备
- 我们创建一个相机,然后将其统一放到一个父物体下面,这样方便我们统一做动画,也方便我们管理
- 给 cams 添加组件。可以看到我们的 Animator 的Controller 属性这时是空。
- 我们这里不再分开创建Animator和Animation文件了,直接 Ctrl+6 打开动画窗口,点击动画窗口空面板中的 Create 按钮
- 在弹出的动画文件保存窗口中选择合适的保存路径,并起一个好听的名字,点击确定按钮
- 这样便会自动 创建好 AnimatorController 和 Ainmation 文件,其中 Animation 文件的名字是我们刚才保存时填写的名字,AnimatorController 是根据 Animator 挂载的物体自动命名的
推拉摇移
- 摄像基本操作,推拉摇移跟,我们先来实现一下相机的这些操作。
- 激活 Animation 的帧记录按钮,将时间线拖放到 1s 的位置,我们将相机向前推移,拉近与物体的关系
- 将时间线拖放到 2s 的位置,我们将相机向前推移,拉远与物体的关系
- 将时间线拖放到 2.5s 的位置,我们将相机向左旋转。这时会发现相机的动画属性多了一条Rotation
- 拖动时间轴可以发现,我们目的是让相机在2s的时候开始旋转,2.5s 停止旋转,但是实际情况是相机从0s的位置开始旋转,造成这一问题的原因是,在我们给相机 Key 2.5s 的位置的旋转动画之前,并没有给旋转key 过帧,所以系统会默认帮我们在最开始记录相机的初始旋转值,所以我们需要提前在2s的位置 key 一下相机的原始旋转值
现在要如何补救呢,我们只需要复制最开始系统自动记录的旋转帧到2s的位置即可。或则手动在2S的位置设置一下相机的初始旋转值也可以。
- 将时间线拖放到 3s 的位置,我们将相机向右旋转。
- 预览一下我们的推拉摇移效果,可以看到运动转折之间自动带有一些缓冲,这是因为引擎自动使用的是贝塞尔曲线模式