UDN
Search public documentation:

PerActorParticleCollisionCH
English Translation
日本語訳
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 主页 > 粒子 & 效果 > 粒子系统 > 设置 Actor 级粒子碰撞事件
UE3 主页 > FX 美术 > 设置 Actor 级粒子碰撞事件

设置 Actor 级粒子碰撞事件


概述


现在可以为粒子效果实例设置针对 Actor 的碰撞。这个功能通常在效果需要碰撞的时候使用,通过 Kismet、Matinee 或 Script 从一个没有发生改变的修复世界位置中调用这种效果。(编写脚本的事件)

事实上,在 matinee 触发的效果实例中每次发射器位置、方位等等都会是一样的。

通过指定要发生碰撞效果的 Actor,我们可以减少与粒子碰撞相关的计算所消耗的 GameThread。 粒子系统中具有 Collision Actor Module 的任何发射器都将只与 Emitter Actor 中指定的 actor 发生碰撞;后续其他的都会飞走或掉落。

它对于在设置 actor 级碰撞之前了解粒子参数是有帮助的。请参阅碰撞模块了解有关设置碰撞行为的更多信息。

设置粒子系统

对于这个示例,我们将会使用已经设置碰撞的粒子系统,并且默认情况下使这个系统与场景中的所有对象发生碰撞。

collisioneffect.jpg

当前,粒子会使用常规的 Collision 模块与静态网格物体以及 bsp 地面平面发生碰撞。 通过使用 Actor 级碰撞,我们可以指定粒子系统要与之发生碰撞的对象(在这个实例中是一个网格物体发射器),而不是将整个场景作为具有常规 Collision 模块的实例。

如果您在您的发射器中已经有一个 Collision 模块,那么禁用它,并保留这个设置供以后使用。右击并使用 Collision > Collision Actor 将一个新的 Collision Actor 模块添加到您的发射器中。

collidemodule.jpg

通过按下 Add a New Item(添加一个新的物品) 按钮 ( icon_additem.png ) 选择 Collision Actor Module 并创建唯一的 actor 参数名称(这是在放置在场景中的效果中引用的实例名称。*注意:* 您将需要为每个您想要与之发生碰撞的 actor 提供一个参数名称,在这个实例中是 2 个。

collideactors.jpg

设置实例参数

要想为效果设置实例参数,请在场景中选择您的 Emitter Actor 并选择 Emitter > Auto Populate

autopopulate.jpg

Note: 您的 Emitter Actor 的 Instance Parameter(实例参数)现在将使用 2 个新的元素 [0] 和 [1],其中 Instance Parameter 名称在您引用的效果中指定。 将 Instance Parameter(实例参数)指向您放置在场景中的 actor。

点击右上角的 Lock Selected Actors(锁定选中的 Actor) 按钮 ( icon_lockproperties.png ) 使焦点保留在您的 Emitter Actor 上,选择您想要使其第一个发生碰撞的 actor (Collider1) 并使用 Use Selected Object(使用选中的对象) 按钮引用这个 actor ( icon_useselected.png )。 选择您的第二个 Actor (Collider 2) 并再次使用 Use Selected Object(使用选中的对象) 按钮 ( icon_useselected.png ) 进行引用。

instancevalues.jpg

您的粒子现在将会只与在您的场景中指定的 actor 发生碰撞,任何没有指定的 actor 都无法发生碰撞。 如果您的粒子在碰撞后消失,那么检查您的 Collision Actor 设置并确保没有将 Collision Completion Option(碰撞完成选项)设置为 Kill。

completionoption.jpg

由此设置碰撞选项,定义碰撞行为。