欢迎光临散文网 会员登陆 & 注册

MMD联动Unity学习笔记 Vol.4.1 使用Cinemachine制作MMD相机动画

2019-08-03 20:59 作者:NXL2  | 我要投稿

前言

    在学习笔记第四期中UP已经介绍了将MMD相机转换成Unity可以使用的两种不同类型文件的方法。这两种方法得到相机动画在Unity实际运行中还是很一些缺陷的。首先,它只能限定在固定的区域和固定的场景比例以内,我们在后期想对其修改十分麻烦,另外,它在切换镜头时还是根据位置移动动画瞬间转换的,观感上十分不自然。MMD中的相机动画可以算所有准备工作中最为简单的一项了,UP在之前的笔记中已经学习了Cinemachine这个强大的工具,它配合Timeline可以非常方便制作出各种类型的相机动画。所以这期UP准备使用Unity工具制作类似MMD中的相机动画。

制作方法

    Up这次还是(无耻地)以自己制作的MMD为例。在这个MMD里面,UP首次使用了卡通渲染的方式。还是立求突破自己的边界,尝试更多的可能性。当然很多东西都有不少问题,我们以后进一步完善。

    废话有点多,我们回到正题。

    我们之前要做一些准备工作,这些步骤我们可以参考以前的笔记的第1,16,36期的内容,这里不多赘述。另外我们这期要用到Cinemachine也要从PackageManager里事先导入Unity。

    搭建好场景,我们在项目中Asset文件内右键创建一条新的Timeline,我们命名为Miku。

    我们再将Miku这个Timeline拖拽到层级中。

    我们再新建两个虚拟相机,在导入Cinemachine后,就可以在主菜单里面找到Cinemachine这个选项,然后在它的下面点击Create Virtual Camera来创建虚拟相机。

    至于为何要使用两个虚拟相机,这里UP要说明一下,我们这里要实现镜头切换的效果,就需要使用两个相机来反复激活来达到这个目的。

    接下来,我们找到Window>Sequecing>Timeline,打开Timeline界面。

设置界面位置

    最好是将它拖到项目的资源界面一侧,因为我们后面要经常用到它。当然,这个完全是依据个人习惯而定的,小伙伴可以根据自己的喜好设置它的位置。

        我们还是以这个图以例,UP来说明一下具体实现的流程。我们现在有两个虚拟相机,我们要依照调用的顺序来依次激活想要使用的虚拟相机。另外,我们为了注意角色的动画的时长,还在下面加了一条角色动画的轨道。

    我们按照上面的思路来逐步创建虚拟相机的动画。首先我们创建两条激活轨道和三条动画轨道,两个激活轨道分别选择两个虚拟相机,三条动画轨道分别选择虚拟相机1和2,还有角色动画。

    我们点选第一条激活轨道,在右侧右键选择Add Activation Clip增加一段激活动画,这段激活动画我们可以控制这个时间段第一条虚拟相机的活动,我们可以拖拽左右边界来扩大和缩小时间段。

选择第一个虚拟相机

    接着我们选择第一个虚拟相机的动画轨道,我们这时就可以着手编辑相机动画了。

点击录制按钮后,后面的编辑区呈现出红色

    我们点击红色的圆点按钮来录制相机动画。它的动画生成方式和过去Flash非常相似,我们只要编辑关键帧就可以实现动画的自动生成,可以看到这里,我们右侧的编辑区里有两个白色的小圆点,这个就是我们制作好的关键帧。我们这里不准备制作复杂的相机动画,只要两点移动相机的方式来实现最简单的动画即可,我们在这一个片段的开始和结尾录制相机位置,就可以自动生成两点间移动的相机动画。

可以锁死Timeline方便编辑

    另外,这里有一个小技巧,我们在编辑动画时,要选择某一个物体时,可以锁定Timeline。这样可以让Timeline界面一直开启。

    在录制时我们的虚拟相机可修改区域呈现出红色,我们只需要在这里修改自己想要移动的位置即可。我们在两个关键帧设置好位置后,我们关闭录制按钮,然后点击Timeline上的播放按钮来查看动画效果了。

Timeline预览播放

    这个预览的动画与游戏运行时的状态是基本无异的,这时我们也可以切换到Game视窗来查看。使用这个方法运行的效率比起启动游戏要来得快得多,十分方便。值得一提的是,在新版Unity中Timeline的预览功能已经支持了声音的预览,非常棒。

    下面我们切换到第二个虚拟相机的动画编辑中,这个步骤其实和上一个虚拟相机的编辑是一样的,我们这里需要注意的是,要将两段激活片段中间拉开一段距离,这样可以让镜头在切换的时候不粘连,如果两段激活相机的片段搭在一起,就会出现像MMD导入相机的那种瞬移的粘连效果。

    后面的相机动画我们只需要反复切换两段激活片段,对两个相机动画进行编辑即可。

    另外,我们还可以双击相机动画区域来打Animation(动画编辑器)。我们在动画编辑器里面可以具体的对每个关键帧进行编辑,移动,增加,删除关键帧,还可以对每个参数值进行具体的设置和修改。关于动画编辑器的内容,我们这里暂不做详细研究,有想了解的小伙伴可以在B站找到有关动画编辑器的教程。

时间轴整体

    经过UP的琢磨,做过了很简单的类似MMD的相机动画,实际上这里面多数都是两个点间的移动动画,还有简单的镜头旋转动画。其实这个例子相对官方的项目来说,已经非常简明易懂。镜头可以说一门看似简单实则高深的学问,UP这里不研究镜头的深层含意,我们只研究镜头动画。如果你已经对Cinemachine有一定的研究,可以使用跟随,推轨等等高级技巧,让我们的镜头效果更加出彩。

    

MMD联动Unity学习笔记 Vol.4.1 使用Cinemachine制作MMD相机动画的评论 (共 条)

分享到微博请遵守国家法律