粒子风
使用ParticleWind,您可以模拟吹向粒子的风。将ParticleWind节点连接到粒子流时,“查看器”中将出现一个箭头,然后可以使用该箭头确定风的方向和速度。箭头越大和越长,风力效果越强。
输入和控制
|
连接类型 |
连接名称 |
功能 |
|
输入值 |
粒子 |
您打算向其施加风的粒子系统。 |
|
Control (UI) |
Knob (Scripting) |
Default Value |
功能 |
|
ParticleWind Tab |
|||
|
display |
display |
unchanged |
调整粒子的显示特性。这些设置不会影响场景的渲染输出。这些仅用于3D Viewer中的显示目的。 • off -隐藏粒子。 • wireframe -仅显示粒子的轮廓。 • solid -以纯色显示所有粒子。 • solid+wireframe -将颗粒显示为纯色并带有颗粒轮廓。 • textured -仅显示表面纹理。 • textured+wireframe -显示线框和表面纹理。 • unchanged -不更改粒子显示模式。查看器可以覆盖此设置。 |
|
selectable |
selectable |
enabled |
启用后,您可以通过单击查看器来选择它们。 |
|
render |
render_mode |
unchanged |
设置粒子的渲染方式。此控件独立于display选择,但具有相同的设置。 |
|
from xyz |
from |
0, 0, 0 |
设置箭头的原点x, y和z轴。 箭头确定风效应的方向和速度。箭头越大越长,效果越强。 |
|
to xyz |
to |
0, 1, 0 |
设置箭头的目的地x, y和z轴。 箭头确定风效应的方向和速度。箭头越大越长,效果越强。 注意: 粒子会逐渐加速,不会以全速发射。 |
|
drag |
drag |
0.2 |
设置应用于粒子的模拟阻力的数量。较高的值会将粒子拖离其原点,反之亦然。 |
|
air resistance |
air_resistance |
disabled |
启用后,将模拟阻力添加到拖动控件中,以类似于粒子拖动的方式随着时间的推移逐渐降低粒子的速度。 |
|
Conditions Tab |
|||
|
probability |
probability |
1 |
设置此节点影响您的粒子的可能性。如果将此值设置为零,则该节点将不影响任何粒子;如果该值为1,则该节点将影响每个粒子。 |
|
min age |
min_age |
0 |
将此节点的作用限制为超过此最小使用期限的粒子。粒子的年龄是其寿命归一化为0到1。 |
|
max age |
max_age |
1 |
将此节点的作用限制为低于此最大使用期限的粒子。粒子的年龄是其寿命归一化为0到1。 |
|
random seed |
seed |
0 |
设置整数以更改粒子中生成的随机性的结果。通过更改此数字,您可以达到略有不同的效果。 |
|
channels |
channels |
all |
指定应将此节点的效果应用于哪些粒子通道。频道a和b是通道的任意名称,如果希望不同的ParticleEmitter节点或其他粒子力节点对单独的通道产生影响,则很有用。 |
|
Region Tab |
|||
|
region |
region |
none |
设置要用于将粒子效果限制到的区域。例如,如果您选择sphere,只有该球形区域内的粒子会受到粒子效果的影响。 • none -所有粒子均正常受影响。 • sphere, box, half-space和cylinder -控制区域的边界形状。 |
|
invert region |
region_invert |
disabled |
启用后,将影响区域外部的粒子,而不是区域内部的粒子。 |
|
|
file_menu |
N/A |
选择导入或导出频道文件: • Import chan file -导入通道文件并根据通道文件中的转换数据来转换区域标记。通道文件包含给定镜头中动画每一帧的一组笛卡尔坐标。您可以使用创建和导出它们Nuke或3D跟踪软件,例如3D均衡器,Maya或Boujou。 • Export chan file -将您已应用于区域标记的翻译参数导出为通道文件。这是在艺术家之间共享设置的有用方法。 |
|
|
snap_menu |
N/A |
• Match selection position -根据选定的点,区域标记将被捕捉到新位置。 • Match selection position, orientation -根据所选的点,区域标记将捕捉到新的位置和方向。 • Match selection position, orientation, size -根据所选的点,区域标记将捕捉到新的位置,方向和大小。 |
|
transform order |
xform_order |
SRT |
设置刻度(S),旋转(R)和平移(T)的操作顺序。可能的操作组合为SRT,STR,RST,RTS,TSR,TRS。 |
|
rotation order |
rot_order |
ZXY |
设置旋转顺序。可能的轴向组合为ZXY,XYZ,XZY,YXZ,YZX,ZXY,ZYX。 |
|
translate |
translate |
0, 0, 0 |
使您可以沿x,y和z轴平移区域标记。您还可以通过在3D查看器中单击并拖动轴来调整平移值。 |
|
rotate |
rotate |
0, 0, 0 |
使您可以围绕x,y和z轴旋转区域标记。您可以通过按住来调整旋转值Ctrl/Cmd并拖动到3D查看器中。 |
|
scale |
scaling |
1, 1, 1 |
使您可以在x,y和z轴上缩放区域标记。 |
|
uniform scale |
uniform_scale |
1 |
使您可以同时在x,y和z轴上缩放区域标记。 |
|
skew |
skew |
0, 0, 0 |
使您可以在x,y和z轴上倾斜区域标记。 |
|
pivot |
pivot |
0, 0, 0 |
更改区域标记的位置,缩放,倾斜和旋转时,这些更改将从对象的原点或枢轴的位置发生。枢轴x,y和z控件允许您偏移枢轴点并将其移动到任意位置-甚至可以将其移动到对象外部。随后将应用相对于新的枢轴点位置的后续转换。 你也可以按住Ctrl/Cmd+Alt并将枢轴点拖到3D查看器中的新位置。 |
|
Local Matrix |
|||
|
specify matrix |
useMatrix |
N/A |
启用此控件可以为要转换的对象指定矩阵值,以代替在上面设置变换,缩放,倾斜和枢轴值。 |
|
matrix |
matrix |
N/A |
矩阵显示对象的变换,旋转,缩放,倾斜和枢轴控件的值。 校验specify matrix并从另一个对象复制或拖放矩阵值以应用这些值,例如,如果要在场景中对齐对象。 |
分步指南
影片教学
NUKEX 6.3粒子教程:基础知识第1部分从铸造厂上Vimeo。
大家好,欢迎收看这个视频,看看Nuke 6.3内部全新的粒子系统。在这段视频中,涵盖了粒子系统的基本原理,我们将介绍您可以看到的这四个主要区域。因此,您在此处设置了基本的粒子,然后我们将研究如何使用边界框和区域自定义整个脚本中的粒子流。然后,我们将仔细研究粒子中嵌入的通道系统,使您可以将更多自定义效果应用于粒子组。最后,我们将研究场景中的子帧粒子。话虽如此,让我们开始吧。
让我们开始看一下基本粒子设置。在顶部,我正在定义我的粒子图像,该图像将是此Nuke徽标。但是在1534 x 1534也许这是一个很大的方面,所以我将其重新格式化为 100 x 100。在此基础上,我定义了发射几何体,它可以是您通过以下方式带入Nuke的任何对象.fbx要么 .obj文件。在这种情况下,我使用的是球体。如果我们看一下球体,您会看到我已经用一个渐变对其进行了纹理化,从底部的黑色到顶部的纯白色。当我们去看ParticleEmitter设置时,这将在一秒钟内派上用场。谈到这一点,我从这里开始引入了ParticleEmitter本身。我已经将几何插入了发射管道,以及我们的Nuke徽标粒子管。如果我们现在来看一下,如果我缩小并点击播放,我们应该看到的是,我们可以完整播放3D粒子系统。
现在,此系统需要注意几件事。首先,所有粒子都是精灵,因此它们将旋转并不断面对相机。第二件事是它是完全3D的,因此您可以放大和缩小,并且在渲染ScanlineRender节点时将获得正确的景深。第三点需要注意的是,从我们球体顶部发射的粒子要比从球体底部发射的粒子大得多。而且,如果您还没有猜到,那就是尺寸通道从ParticleEmitter,并从该斜坡获取颜色信息(rgba.red)充当粒子大小的乘数。因此,在渐变的最顶部为白色的情况下,我们基本上得到的是粒子的完整大小,即0.5,而在球体的底部为黑色的情况下,我们得到的是该0.5的0%,所以大小为0 。因为我们在黑色和白色之间逐渐增加,所以我们在两者之间得到了很好的大小渐变。因此,您实际上可以在率, 一生 , 速度, 旋转速度 , 尺寸和质量你的粒子。
现在,继续进行操作-在ParticleEmitter节点本身内,您可以控制您希望从实际发射系统获得的所有东西,例如率, 速度, 尺寸等显然,目前,我们正在使用该精灵纹理。如果我们要进入并从拍摄一张几何图形的图像来改变它呢? 好吧,它的工作原理完全符合您的预期。现在,我们将几何图形放在每个粒子上。这样做的好处是,因为它们并不总是旋转以面对相机,所以这些家伙的旋转速度也确实不错。考虑到这一点,我将把它放回到精灵上,并进一步缩小场景。设置发射器之后,我们将添加一些粒子力。现在,在这种情况下,我将添加一个ParticleGravity节点。因此,如果我看一下,马上就能看到这些粒子正受到重力的影响。因此,我们可以进入“ ParticleGravity”节点本身,并查看此处的设置。您可以看到我们有一个从场和至领域。现在,最好的知道是如果您想象从设置在原点, 至字段定义了重力的强度和方向。在这种情况下,我们将直接沿y取值为0.02。如果我要在X以及轴,您可以看到重力不仅在下降,而且还在下降 X 轴。因此,在这种情况下,重力更多是方向力。与仅使用标准重力节点相比,您拥有更多的控制权。
继续向下,我们将添加另一个节点,即ParticleBounce。如果查看此结果,我们将看到粒子在弹跳,如果我双击,则实际上可以看到弹跳平面本身。我在这里添加了一些旋转旋转我们的ParticleBounce节点的值。因此,您可以看到这架飞机很好地弹跳,并且粒子在弹跳,正如您所期望的那样。现在,在ParticleBounce节点内,应注意一些设置。现在,我们可以反弹您带入Nuke的任何自定义几何图形。但是,您确实可以通过三种方式弹跳: 飞机, 一种球或圆筒。您也可以在这些对象的两侧弹跳,这就是外部跳出模式和内部跳动模式进来。现在我有我的弹跳设置为1,而我的摩擦设置为0,因此您可以看到反弹距离此处很大。如果我将其降低到0.5,则这些粒子的反弹将少得多,并且在更改这些值时会得到非常互动的反馈。
我已经设定好粒子弹跳设置回1。我们将继续研究下一个节点,即ParticleCurve。现在,如果我进入该节点并进行查看,您会看到我们可以通过[R, G, b和一种我们粒子的通道,以及尺寸和质量。现在,对于粒子的生命,从0(即出生)到1(即死亡),生命一直存在。在底部的此处,我们可以看到我仅将这些曲线应用于α和尺寸价值观。让我们来看看我们的曲线尺寸。您可以在出生时看到值为0的粒子尺寸设置为1。当粒子的生命朝着1前进时,即死亡, 尺寸在死亡之前逐渐变小,它的值为0。因此,如果我们看一下粒子曲线,我们应该看到的是,这些粒子从一开始就具有尺寸当它们反弹并向一侧缩小时,它们会变得越来越小,然后完全消失并消失。现在,这里的另一个值是α但是,不幸的是,目前看来,它对我们场景中的精灵没有太大影响。其背后的原因是,当我们创建原始图像时,我们需要在顶部添加一个额外的节点。在“重新格式化”下面,我将创建一个BlendMat节点。我将进入其属性并更改表面混合选择调制。这将使我们能够随着时间更改粒子的颜色,alpha和不透明度。正如您现在所看到的,不仅大小发生了变化,而且粒子在此处向侧面缩放时也逐渐消失。因此,将BlendMat节点放置到位并正确设置为调制。完成此操作后,我们的两条曲线都具有我们想要的效果。
现在,我的确还有一个节点,在我解释了另外两个概念之后,我们将回到上面。但是除此之外,还有最后一点要注意该系统。现在,我们仅使用单个图像作为源精灵,如果将其移至几何图形,则仅使用单个几何图形对象。但是,在此处最底部的“粒子发射器”节点中,您具有输入顺序和预先设置。这使您既可以引入对象序列又可以引入图像序列,并让ParticleEmitter智能地选择如何在场景中使用它们。您可以选择将随机图像或随机对象附加到每个粒子上,并使它与整个系统中的单个图像或对象粘在一起,也可以应用随机图像或对象,然后逐步将其应用于整个系统。所有这些都有很好的文档记录,但是您可以做的最好的事情就是去玩这里的不同设置,以查看它们的确切作用。完成后,我们将进入第二种设置。
在本节中,我们将研究力节点内的力的边界框或区域。初始设置与我们在基础部分中创建的设置非常相似。我们所做的全部工作就是将我们的精灵和几何体应用到我们的ParticleEmitter中,并对其应用了一个基本的ParticleGravity节点。因此,您可以看到粒子被发射并沿着-y轴。现在,在此之下,我们将开始尝试区域。我在这里拥有的第一个节点是ParticleWind节点。我将打开“ ParticleWind”节点,您将在其中看到一个区域标签。当我们打开它时,您会看到我们在3D空间中有这个边界框。现在,该区域可以是许多几何对象。您可以将其设置为none,在这种情况下,它将在Nuke的全球范围内起作用。您可以将其设置为球, 框, 一半的空间 , 要么圆筒。在这种情况下,我将其设置为框,您可以真正进入此处并调整场景中的位置。您可以随着时间对其进行动画处理- 规模, 翻译或者回转值-随心所欲。要知道的重要一点是,边界框定义了该力将作用于何处。在这种情况下,我将粒子风设置为指向+ z轴。如果我进入我们的区域,我们来看看框我看到了我们的风我们将看到,只有粒子落入此盒子区域时,风才会生效。如果我要移开此盒子-那么我进入区域标签并移动框沿z轴-由于粒子不再落入此框中,因此不会受到影响。
因此,在将原始盒子移回顶部之后,我还引入了其他两个ParticleWind节点,如您所见,它们应用了它们的区域。同样,这个ParticleGravity节点只是为了证明它存在于系统中的所有力节点上,不仅是ParticleWind。因此,如您所见,这是决定整个场景中粒子流的一种非常好的方法,并且在Nuke 6.3中的所有力节点上都可用。
视频1就是这样。在视频2中,我们将更深入地研究系统,并研究信道和子帧技术,并且我们还将回头研究粒子生成。因此,非常感谢您,我将在视频2中看到您。
NUKEX 6.3粒子教程:基础知识第2部分从铸造厂上Vimeo。
大家好,欢迎回到第二段视频,了解Nuke 6.3粒子系统的基础知识。现在,在第二部分中,我们将首先看一下渠道。现在,可以将通道视为粒子的子集,您可以在其上施加不同的效果和作用力。好处是您不必将它们拆分为单独的管道。它们都可以维护在单个粒子系统中。让我们来看看我的意思。
因此,在下面,我有基本的粒子设置-与视频1中的设置非常相似。我们的Nuke徽标由于一点重力而掉落,在此之下,我要做的第一件事是添加一个ParticleBounce节点。让我们双击并查看它以查看它在场景中的位置。应该期望我们的粒子在重力作用下掉落,从飞机上弹开并从那里离开。让我们看看会发生什么。如您所见,粒子从反射平面掉落。不用担心这实际上是一个功能,不是错误。在ParticleBounce节点中,我们有一个外部跳出模式和内部跳动模式我们以前见过的,我都将它们都设置为没有。重要的是,在这两种模式旁边,我们都有新频道设置。这基本上是说,只要粒子落入该反弹平面,就将其通道从原来的通道更改为通道b。当我们发射粒子时,如果我们在粒子发射器的场景中向上看,我们可以看到通道将要发射到通道中一种。所以,它的工作方式是当它们发射时一种,它们会因重力而掉落,一旦通过此点,它们就会从通道a切换到通道b。现在,在“ ParticleBounce”节点下,我还有另一个。如果我们看一下这个家伙的属性,我们可以看到,当粒子落入该平面时,它们将从通道改变b引导C在此之下,我有最后一个。您可以看到在这种情况下,我们的新频道是d。因此,为了澄清起见,我们从最顶层开始发布一种,我们跌落到第一个弹跳平面并切换到通道b,然后我们进入第二个,然后更改为C,然后我们进入最后一个,最后,我们的粒子被卡在通道中d。因此,我们要做的就是使用所有这些渠道,并为每组提供不同的效果。
在此之下,我们有一个以前从未见过的节点,这是ParticleExpression节点。我将单独制作一个简短的视频,很快就会出现。现在,您需要知道的是,ParticleExpression节点基本上将允许您随着时间影响粒子的这些变量中的任何一个。因此,现在,我在第一个表达式节点中具有此值, v(1,0,0),这就是说将颜色更改为[R值1,a G值为0,并且一个b值为0。因为我们将BlendMat进一步应用到场景中,因此将颜色设置为调制,颜色将受到影响。因此,如果查看“ ParticleExpression”节点,将看到粒子被发射并保留了Nuke徽标,并且一旦它们落入该集合中,它们就会变成红色。他们只在这一点上受到影响而在排放方面没有受到影响的原因是因为在条件标签,在最底部,我已经设置了频道至b。现在,如果我要说回来, 没有,然后将其设置为一种,它将从发射角度影响所有粒子。我要做的是将此设置回b然后关闭我们的一种频道,因此我们将Nuke徽标保持在顶部,从飞机上掉下来,然后变成红色。我们的第二个粒子发射节点,如果转到条件,设置为c。在里面粒子表达标签本身,我们已经设置了颜色到0 [R,1对G,并且在0上b,使用表达式v(0,1,0)。因此,如果我们查看它,应将它们从该反弹平面落下后立即从红色变为绿色。让我们看一下,您会发现这正是发生的情况。
现在,需要注意的另一件事是,如果我们看看实际的节点本身。在节点名称下的括号中,我们具有当前受影响的通道。这是一种非常准确地了解粒子设置中正在发生的事情的快速方法。因此,在我们的第三个ParticleExpression节点上,您可以看到该节点内发生的一切只会影响通道d。一旦粒子落入最终的反弹平面,它只会影响粒子。让我们来看一下,您可以看到我正在做的是将粒子恢复为原始颜色,但是在这里,我还设置了尺寸使用以下表达式在该帧上获取当前大小并在下一帧上乘以1.04 尺寸* 1.04。现在,我将在表达式视频中对此进行更详细的说明,但是,现在,您需要知道的是随着时间的推移,这会增加粒子的大小。
这不仅会影响ParticleExpression节点。如果继续下去,我有一个ParticleWind节点。通过观察,您可以看出的第一件事就是只会影响d设置,或 d 粒子通道。因此,如果我查看此ParticleWind,则只有在有这种情况时,此力才会生效d我们场景中的粒子。他们只有落在最后的弹跳飞机上时,才被风吹着。
现在我们了解了粒子通道,我将快速回到我的基本粒子设置树中,向您展示我承诺向您展示的那个节点。实际上,那是ParticleSpawn节点。如果我们看一下名称,您会发现我们有一个b用括号括起来,这意味着在此ParticleSpawn节点内发生的任何事情都只会影响 b 粒子通道。正如我们在ParticleEmitter节点中所经历的那样,默认情况下,粒子设置为在通道中发射一种,那么这个神秘的渠道从哪里来? 好吧,它实际上是在ParticleBounce节点内生成的。如果我们看看这个,旁边开始我的内部跳动模式, 我已经设定新频道至b。现在,这意味着粒子将在通道中发射一种,它们将在重力作用下掉落,一旦在该平面上反弹,它们就会从通道中移出一种引导b。此时,ParticleSpawn节点可以起作用。
因此,我们别再等待了。我将向下查看“ ParticleSpawn”节点的结果。您会看到,我们从这些弹起的粒子上得到了这类痕迹或尾巴。如果我们进入ParticleSpawn节点本身,我们会看到一些有趣的事情,这些事情告诉我们为什么会这样。首先,在条件标签,将频道设置为b,因此可以解释为什么我们只有在撞到弹跳平面时才得到这些尾巴,因为那是将粒子移入通道的时间 b。在ParticleSpawn节点本身中,我们拥有您在ParticleEmitter节点中发现的值非常熟悉的内容,例如率, 半衰期 , 速度, 尺寸和传播 -所有这些设置均可单独用于生成粒子和原始发射的粒子。最后,在本节中,我们将通道设置为顶部,并且当前将其设置为C。因此,一旦我们获得了这些生成的粒子,您的场景中就会同时存在三组粒子。那将是通道中最初发射的粒子一种,通道中的反弹粒子b,并在通道中生成粒子C。现在,有了设置,我们可以通过几种方法来更改这些粒子的外观。在ParticleSpawn节点本身上,我们实际上有粒子管。如果您确实想更改应用于这些生成的精灵的纹理,则只需将其插入此处,即可立即进行,但是由于我们已将它们放入单独的子集或单独的通道中,因此实际上可以加入类似于ParticleExpression节点,并且只影响我们生成的粒子。在里面条件标签,在这里,我要进入通道,将其设置为none,然后将其设置为仅存在于我生成的粒子上,即channel C。然后,在ParticleExpression节点中,我将设置尺寸减小到0.25,如您所见,我们仅影响场景中生成的粒子的大小。有很多不同的方法可以利用此方法-通过将粒子放入不同的子集中,更改力,更改影响生成的粒子的外观-我相信您会从中获得很多乐趣。
最后,在本视频中,我们将介绍可应用于粒子系统的子帧设置。现在,在场景中,我有一个非常简单的粒子设置。它确实比以前的看起来更复杂-这仅仅是因为我在发射几何图形上附加了动画,所以随着时间的推移,它将沿着这种螺旋上升。关于此设置,您会注意到的一件事是,在粒子之间存在一些缝隙。其背后的原因是,当使用一个排放率 1,我们将每帧发射1个粒子。我们不会在帧之间发射粒子,这就是造成此间隙的原因。
为了解决这个问题,我们可以做的是引入一个“粒子设置”节点,在该节点内有一个控件,即每帧步数。如果我们看一下此设置中的前三个粒子,现在,我们有一个每帧步数值5。一旦查看此节点,我们将获取第一个粒子并将其替换为五个新粒子,这些粒子将均匀分布在第一个粒子和第二个粒子之间。然后,它将对序列中的下一个间隙执行完全相同的操作,因此该粒子将被替换为五个,并将均匀地扩展以填充该间隙。通过将五个新粒子填充到每个粒子中,它会向下迭代,并均匀分布以创建一个不错的粒子条纹。现在,还有一件事。如果我现在查看“ ParticleSettings”节点,即使我们已经设置了每帧步数,我们看不到很好的,完整的条纹。原因是,虽然我们告诉粒子每帧有5步,但实际上还没有生成那么多粒子。因此,我们需要回到粒子发射器并使用我们的每帧步数作为我们原始排放率的乘数。因此,在这种情况下,我们的发射率为1,并且每帧发射一个粒子。我将乘以我们每帧步数值,即5。这将每帧发射五个粒子,然后将它们散布开来,使我们得到的结果看起来像这样。现在,我们的条纹变得更加丰富,如果我缩小并单击播放,它将一直沿场景中的螺旋上升。现在,值得注意的是,因为这实际上是场景中粒子数量的乘数,因此,ParticleSettings 每帧步数您确实要注意设置。如果确实将其设置为100,则会发现场景会稍微变慢。您希望将其保持在最终渲染所需的最小数量。在这种情况下,5看起来不错,所以我将其保留。现在要注意的另一件事是,因为这是一个Sprite设置,所以我们在前面获得了这些小热点。这在最终渲染中不可见。
这段视频就是这样,展示了Nuke 6.3中全新粒子系统的基础。我们已经介绍了基本设置,力的边界框和区域,粒子的通道和子集以及子帧设置和生成设置。希望您有足够的精力来尽快启动和运行。我将在下一个视频中看到大家。
例Nuke剧本
注意: 只有从以下位置启动了帮助,才能加载示例脚本Nuke并设置documentation source至local在里面Behaviors > Documentation的标签Preferences。
看到Using Script Links了解更多信息。