矢量场模块

矢量场模块

GPU粒子特性的最有趣之处,除了高效外,还有矢量场。 矢量场就是对粒子运动产生影响的统一的矢量网格。 矢量场被作为Actors放置在世界中(全局矢量场),而且可以像其它Actor一样被平移,旋转和缩放。 它们是动态的,而且在任何时候都可被移动。 矢量场也可放置在Cascade内(本地矢量场),这样它对粒子的影响就被限制在其相关的发射器中。 当粒子进入矢量场的边界时,粒子的运动会受矢量场影响。当粒子离开该边界时,矢量场对粒子的影响消失。

默认情况下,矢量场会对其中的粒子施加一个力。 矢量场同时还有一个叫"紧密性"的参数。 这个参数控制了粒子跟随场中矢量的紧密程度。 当该值被设置为1,粒子会直接读取矢量场速度,然后完全跟随矢量场来运动。

静态矢量场指恒定不变的矢量网格所在的场。 这些场可以从Maya中导出并以立体贴图的形式导入。 静态场占用资源很少,可以用来对粒子添加有趣的运动,特别是对场自身的运动添加动画效果。

另外,矢量场可以从2D图像中重建。 本例中,我们可以导入一个犹如法线贴图的图像并将其围绕该空间挤压或旋转来重建立体贴图。 除了重建外,可以添加静态矢量场,这样可以添加一些噪点和随机性。 另外,2D图像可以通过在atlas贴图中存储单独帧来添加动画。 这样做可以让您在离线的状态下执行流体模拟,并以很少的系统性能来实现对粒子运动的实时重建。

全局矢量场

GlobalVF.png

本图中,贯穿整个场景的小的高亮条纹就是放置在关卡中的全局矢量场空间的可视化图像。

全局矢量场模块使得粒子系统可以使用全局矢量场。 这些是通过在关卡中以体积占用方式来放置的矢量场,矢量场不是粒子系统的一部分。

为能充分利用全局矢量场,关卡内必须存在关联了矢量场的矢量场空间Actor。

属性 描述

Vector Field

Global Vector Field Scale (全局矢量场比例) 该浮点值控制全局矢量场对粒子运动的特效数量。 低于1的值将会影响特效的实现,高于1的值将无法实现特效。

本地矢量场

LocalVF.png

本地矢量场模块使得矢量场能直接与粒子系统内的发射器关联。 当矢量场和粒子系统被作为一个整体来处理时,这样就很有用了。

属性 描述

Vector Field

Vector Field (矢量场) 该属性包含了从 内容浏览器 中分配的矢量场。 选择您想要的矢量场然后点击箭头按钮来分配。
Relative Translation (相对平移) 该属性使得矢量场在发射器内产生位置偏移。

尽管您可以用改变数字的方法来平移本地矢量场,但通过 预览 面板的移动控件来进行这项操作要直观得多。 您可以在选中发射器列表的本地矢量场模块后,访问该控件。

Relative Rotation (相对旋转) 该设置使本地矢量场发生旋转偏移。
Relative Scale 3D (相对3D缩放) 此设置可编辑本地矢量场的比例,根据矢量场被创建时的大小而产生相应作用。
Intensity (强度) 该设置会影响本地矢量场的总体强度。 您可以把它想象为矢量场的力的乘数。 当值为0时会取消矢量场。 值大于1将无法实现特效。
Tightness (紧密度) 该值控制矢量场如何控制粒子运动。 值为0表示矢量场是作为力来发生作用的,同时会影响粒子的速度。 值为1表示粒子速度值完全由在矢量场网格中定义的速度值来取代。 从0到1的值混合了这两个极限值间的所有结果。

矢量场初始旋转

VFInitRot.png

矢量场初始旋转模块将会应用初始数量的旋转到矢量场中。 在矢量场总体方向需要调整时,或是希望粒子系统的运动更为随机时,这就很有用了。 对随机化的矢量场旋转,此模块会自动使用最大/最小范围。

在使用这个模块时,使用 预览 面板来进行矢量场的可视化会很有帮助。 您可以通过在 Preview Panel(预览面板)中点击View > Vector Fields(查看>矢量场)来完成该操作。

属性 描述

Vector Field

Min Initial Rotation (最小初始旋转量) X, Y和Z 轴的最小初始旋转量。 该值是以[0..1]值来计算。 0.25 = 90度,0.5 =180度,以此类推。
Max Initial Rotation (最大初始旋转量) X, Y和Z 轴的最大初始旋转量。 该值是以[0..1]值来计算。 0.25 = 90度,0.5 =180度,以此类推。

矢量场旋转速率

VFInitRotRate.gif

如果您需要本地矢量场有一个持续的旋转速率,那么您应该使用矢量场旋转模块。 使用该模块将使得指定的矢量场能有分布式的旋转速率。 这就可以形成一些非常有趣的特效。

在使用这个模块时,使用 预览 面板来进行矢量场的可视化会很有帮助。 您可以通过在 Preview Panel(预览面板)中点击View > Vector Fields(查看>矢量场)来完成该操作。

属性 描述

Vector Field

Rotation Rate (旋转速率) 该属性设置了X, Y和Z 轴的旋转速率。 此值以每秒360度旋转来进行计算。 所以这个值如果是0.1,则需要10秒来完成一个360度旋转。

矢量场比例

使用矢量场比例模块将启用矢量场对粒子影响的比例。 该值仅在粒子生成的瞬间进行计算。

在使用这个模块时,使用 预览 面板来进行矢量场的可视化会很有帮助。 您可以通过在 Preview Panel(预览面板)中点击View > Vector Fields(查看>矢量场)来完成该操作。

属性 描述

Vector Field

Vector Field Scale (矢量场比例) 该浮点分布值类似于矢量场对粒子作用的乘数值。

矢量场比例/生命

随生命周期变化的矢量场比例可以让本地矢量场在发射器生命周期内发生比例的变化。 这是通过粒子的生命周期来计算的。

在使用这个模块时,使用 预览 面板来进行矢量场的可视化会很有帮助。 您可以通过在 Preview Panel(预览面板)中点击View > Vector Fields(查看>矢量场)来完成该操作。

属性 描述

Vector Field

Vector Field Scale Over Life (随生命周期变化的矢量场比例) 该浮点分布值类似于矢量场对粒子作用的乘数值。 通过应用曲线,可以在粒子的生命周期内控制该比例。