Unity学习笔记 Vol.79 实时动画叙事教程part4
摘要
使用Unity创建实时动画的具体流程第一部分。内容如下

流程

后处理的动态模糊我们可以在Volume添加Motion Blur。

下面我们准备制作迷雾的粒子效果。在层级面板中右击我们选择添加粒子系统。这个粒子特效可以根据我们的需求进行调节。但是必须要有Renderer这个选项。

我们可以在这里控制它的启动和停止。

我们在Inspector中对粒子系统进行设置,Start Lifetime为生命周期,Start Speed是开始的速度,Start Size为初始的大小,我们还可以调节粒子的颜色和透明度。Play On Awake是场景在运行时自动播放。如果我们希望用代码来控制就不要勾选这个选项。Max Particles为场景中最多粒子可以达到的数量。

我们勾选Shape这个选项,Shape可以控制粒子喷射的形状,以Cone为例,Angle和Radius可以控制粒子喷射的大小范围,Radius Thickness可以控制粒子喷射的内圈大小,Arc可以设置喷射的弧度大小,360就是整个圆形都可以喷射,而180就是半圈。

我们再勾选Color over Lifetime,这个选项是控制生命周期中粒子颜色的变化。我们可以将粒子的初始透明度设置较低,再中期拉高,在最后再让透明度为0。这样可以产生迷雾的效果。

我们在Renderer中对粒子进行最后的设置。我们可以自己选择想要Material赋予给粒子。
我们在层级面板中,创建一个空的GameObject,将粒子系统拖到它的下面,并将它命名为VFX。
Visual Effect Graph
首先在PackageManager中下载并安装Visual Effect Graph,在Asset文件夹下创建一个新的 文件夹,命名为VFX,然后再它里面右击新建Visual Effect Graph。

将它命名为Spark。并将它拖到场景中。

双击可以打开VFX的窗口,Spawn这个Context我们可以设置Rate,每秒可以产生粒子的数量,设置完成后我们点左上角 Compile可以看到编译的结果。

接着初始Context

Capacity为粒子的最大数量
Set Velocity Random可以设置粒子随机的移动方向
Set Lifetime Random可以设置粒子的随机生命周期

我们可以在Context中右击,创建新的模块。

比如我们想让它以盒子的形状进行发射,可以添加上面的模块。

Update Particle是每帧粒子产生的变化。
OutputParticle则是最终粒子输出的效果。
VFX给我们提供了很多模板效果。我们可以将当前这个模版的模块删除。
右击选择System中Simple Swarm Particle System。


马上可以看到效果。

前面我们使用过后处理效果,可能让场景过亮。我们可以先关闭后处理效果。我们可以查看Update和Output中的模块内容,可以尝试改变以达到自己需要的效果。

这里我们再换另一个模版。Simple Heads & Sparks

在这个模版的Update中我们可以看到它输出的Evt连接到另一个GPU事件Context。

我们要制作一个广告牌蹦出火花的效果。在Initialize Particle进行设置。

我们在输出时将颜色修改为红色。

具体VEG我们可参考官方文档,还可以在下载VEG同时下载官方样本案例。

背景音乐
下面我们来添加背景音乐。在场景中创建一个空的GameObject,命名为Background Music。

我们给这空的物体添加Audio Source组件。

正常情况下,在主相机的组件中会有Audio Listener这个组件可以让我们听到声音。

Audio Mixer可以把我们声音调整到不同的轨道,有点类似调音台的功能。打开的快捷键是Ctrl+8。

在播放场景的同时,我们还可以对音源进行各种设置。

我们可以在Spatial Blend中将声音设置2D或3D的相似程度,设置3D后我们可以展开3D Sound Settings选项卡,对更多3D声音内容进行设置。

我们还可以添加回响组件,Audio Source Filter。

回响组件可以模拟声音在各种场景下产生的不同变化。默认是用户自定义。我们使用下面的参数可以进行各种试验。另外Unity还给了我们很多模版,来模拟声音在不同场景的拟真效果,比如密室,森林,洞穴等等。

比如我们这个案例中使用在巷子中,我们可以选择Alley。

我们还要将声音表现得更加丰富有层次感,有淡入淡出的效果。将背景音乐拖到Timeline中。

我们找开曲线编辑,在显示的地方添加关键帧。

拖出一个淡出的效果。那么它就会有缓缓退出的效果。

我们将小狗和小猫的声音拖到Timeline中。

在轨道上右击选择Add From Audio Clip,选择我们需要的音源。
TextMesh Pro
在Package Manager中找到TextMesh Pro下载并安装。

下载完成后还可以需要下载基本资源和样本扩展资源。

在扩展包中我们只需要上面这些内容,可以选择后导入。

在层级中我们添加TextMesh Pro。我们在Inspector中找到Canvas Scaler。

在Canvas Scaler中选择Scale With Screen Size。这样字体会自动适应当前屏幕。

分辨率使用1920x1080,Match设置为0.5。

我们如果想要使用TextMesh Pro字体,需要有对应字体的Asset文件。

我们将需要的字体放入Unity,在该字体上右击选择Font Asset,如上图。

然后我们就可以进行各种字体的设置。



我们还可以设置颜色渐变的Asset。以便可以随时调用它。

我们再给字体添加一个淡入淡出的动画。在Timeline中右击创建Animaiton Track。

再将字体拖入其中。
我们在轨道中创建关键帧,思路是在第0帧将字体的Alpha设置为0,过5帧后再将它设置为255,再过几帧后再将它设置为0,这样就产生了淡入淡出的效果。
同样道理,我们还可以创建一个Image组件,把它拖入Timeline中制作出由黑屏转为场景的效果。

调整关键帧还有一个小窍门,正常在编辑关键帧可能会不太精确,我们可以在关键帧上右击,调整time的值就可以精确调节关键帧数。另外还可框选关键帧来调节曲线的宽度。