
原视频教程在Youtube上有一整套系列,是由CG Shortcuts创建的免费项目系列,每一项都具有源文件与视频教程。链接如下↓ ( 需要翻墙 )。
https://www.youtube.com/watch?v=-Bye0kaMjz8&t=2s&ab_channel=CGShortcuts

可以评论获取视频教程,私信发送给你(如果有人看的话 haha )
在这个案例中将会使用到的模拟器或者标签
Simulate:Emitter
Mograph: Cloner, Random
Tags:Align to Spline, Rigid Body, Collider Body
步骤目录:
1. 建立运动路径。
2. 根据路径生成粒子,得到粒子由底部至上随机生成的动画,然后再将随机生成的粒子换为圣诞球。
3. 将圣诞球链入粒子模拟器,将随机的粒子换为圣诞球。
4. 添加摄像机,将摄像头位置重置为原点。
5. 添加地面。
6. 使随机生成的圣诞小球在尖端出现衰减的效果。
7. 使随机生成的小球具有不同的大小。
8. 使随机生成的小球具有不同的材质。
9. 加入一些弹射出来的小球。
一开始的源文件为两个简单的多边形物体与材质贴图。

开始之前,需要先将板块改为Rigging

1. 建立运动路径 —— Helix
首先需要建立小球生成的路线,在这里我们选择与目标路径最接近的Helix
在属性栏调整参数,来得到想要的形状

2. 这时我们需要根据路径生成粒子,使粒子根据路径随机生成,打上关键帧,得到粒子由底部至上随机生成的动画,然后再将随机生成的粒子换为圣诞球。
添加粒子模拟器Emitter,并为Emitter添加路径标签,设定运动路径(Tag Align to Spline)

Tag Align to Spline 的参数调整


2.1 Emitter参数讲解(粒子模拟器)
在这个案例中,我们需要球随机的在路径上生成,但运动范围保持在路径中,通过调节生成密度( Birthrate Editor 与 Birthrate Renderer,两个参数同时调节)与运动范围(Seed)使生成的粒子在路径上生成并围绕着路径小范围运动。

3. 将圣诞球链入粒子模拟器,将随机的粒子换为圣诞球。
在MoGraph(位于工具栏上面)中添加Cloner,来实现粒子换为圣诞球。

在Cloner 的参数栏中,由于我们需要将物体克隆到粒子模拟器上,所以我们将Mode中的Linner切换为Object(这里的Object指我们上文添加的粒子模拟器Emitter),并把要克隆的Bauble(圣诞球)放入Cloner 的子集中。

将Bauble拖入Cloner的子集后,将Cloner改名为Baubles(要养成为物体命名的习惯)。
这时的球已经被克隆在路径上,但出现重叠,为了避免这样的现象,需要给Baubles添加标签 Tags - Simulation Tags - Rigid Body(中文意思不知,大概是刚性物体)。

在Rigid Body中的参数调整中,将Collision(碰撞)中的 Individual Elements 改为 Top level。然后你就会看到↙这样的现象
这时找到属性栏 - Force - Follow Position:10,Follow Rotation:1,最终将会得到↘的效果

4. 添加摄像机,将摄像头位置重置为原点。

5. 添加地面,将平面的细分减为1,在Tag一栏,添加标签Collider Body,使球能够与地面产生力学的碰撞互动。

6. 这时可以发现,当球运动到尖端的时候,堆在一起的球破坏了圣诞树的轮廓,要想让球越往后运动生成的越少,可以通过 Emitter - Particle - Visibility 的参数调整来达到效果,先在第一帧将Visibility调为100%,然后移到最后一帧(比如本案例是120帧)将Visibility调为0%,就可以实现生成小球在尖端衰减的效果。



7. 使随机生成的小球具有不同的大小。
选中Baubles( Cloner ) ,在MoGragh中找到Effector - Random - 属性栏 - Parameter,会看到默认勾选的是Position,这时勾选 Scale, 然后勾选上Uniform Scale,将Scale参数设置调为0.2。


8. 使随机生成的小球具有不同的材质。
先打开Baubles(Cloner)的子集,将Bauble复制(按住Ctrl用鼠标拖拽)两次(取决于你有多少个材质),然后将准备好的材质赋予上去后,则得到↘。

9. 创建一些射出来的小球
先选中Buables与Emitter并复制,然后将新的Buables.1的Object(对象)替换为Emitter.1
点击Emitter.1,在属性栏 - Practical ,Birthrate Editor:20,Birthrate Renderer:20
点击Baubles.1后面的标签,属性栏 - Force - Follow Position:0.1, Follow Rotation:0.1
将会得到少数的射出来的运动小球。

这时候基本上就会得到开头的动画了。