UDN
Search public documentation:

ParticleSpriteSubUVEmitterTutorialCH
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 主页 > 粒子 & 特效 > 粒子系统 > 粒子子 UV 教程
UE3 主页 > FX 美术 > 粒子子 UV 教程

粒子子 UV 教程


概述


虚幻引擎的粒子系统提供了一个发射器 TypeDataModule(类型数据模块)允许您从源贴图中选择显示在它的粒子上的子图像。它是通过允许您为一个特定的粒子选择要显示的子图像并作为粒子生命周期的一个函数的方式来工作的。请查看Cascade 用户指南了解关于 Cascade 粒子编辑器的概要信息。

这个文档假设您已经熟悉了 Generic Browser(通用浏览器),也了解如何创建包及在这些包中如何创建对象。

创建一个新的粒子系统


启动编辑器,在 Content Browser(内容浏览器)中右击,然后选择“New Particle System(新建粒子系统)”。将会弹出一个新的窗口,提示您输入包的名称、对象的名称以及工厂,如下所示:

PS_SubUV_01_New.jpg

输入以下信息:

Package(包) MyEmitters
Group(组)  
Name(名称) SubUV_Emitter
Factory(工厂) 应该在 ParticleSystem 中

[[注意: 如果您已经学习了其它的粒子系统指南,或许包 MyEmitters 已经存在了。在这种情况下,如果您不想丢失以前的工作并且那个包没有打开,那么您需要打开 MyEmitters 包,并右击浏览窗口来查找 MyEmitters。

这将会导致以下内容插入到您的 MyEmitters 包内:

PS_SubUV_02_InitialBrowser.jpg

导入贴图


在这个例子中,我们将会使用一个简单名称为 ColorQuarter 的‘细分贴图’。贴图由简单的四分的不同颜色的四方形组成,从左到右从上到下在每个子四方形中设置内嵌的 alpha 通道的数值为 1、2、3、4。这个图像是子图像系统如何工作的简单验证。

当导出贴图后,在浏览器中的 MyEmitter 应该和以下的截图类似:

PS_SubUV_03_AddTexture.jpg

创建一个 ParticleSubUV 材质


下一步是创建一个应用于由粒子发射器产生的平面粒子的材质。在 MyEmitters 浏览窗口中右击鼠标并选择 "New Material(新建材质)"。命名材质为 "SubUV_Mat" 并在材质编辑器中打开它。

在子 UV 发射器情况下,必须使用一个专用的材质表达式 ParticleSubUV。首先在内容浏览器中选择 ColorQuads 贴图,然后在材质编辑器窗口中右击并从下列表中选取它,如下所示:

PS_SubUV_04_Mtrl_NewExp.jpg

以下材质表达式控件将会出现在编辑器中:

PS_SubUV_05_Mtrl_ExpPic.jpg

下一步是将 SubUV 表达式和材质的输出相连接。在这个简单的例子中,只要将RGB的输出端连接到 Emissive 的输入端、将 Alpha 输出端连接到 Opacity 输入端,如下所示:

PS_SubUV_07_Mtrl_HookUp.jpg

如果需要,材质的混合模式可以根据您希望粒子如何进行描画来设置。在这个实例中,我们将使用 "BLEND_Translucent" 模式,所以选择它,如下面的屏幕截图所示:

PS_SubUV_08_Mtrl_Translucent.jpg

到目前为止的视图


假设这个指南是从没有 MyEmitters 包开始的,浏览器窗口看上去应该和以下类似:

PS_SubUV_09_ReadyToEdit.jpg

创建粒子子 UV 发射器


为了打开粒子编辑器 Cascade,可以右击 ParticleSystem(粒子系统)并从菜单中按照以下显示的图片进行选择:

PS_SubUV_10_OpenEditor.jpg

只要打开了 Cascade,在内容浏览器中选择 SubUV_Mat 并右击 `emitter bar(发射器条)' 同时选择 "New ParticleSpriteEmitter(新建 ParticleSpriteEmitter)",如下所示:

PS_SubUV_11_CreateNew.jpg

在这时,您应该在 Cascade 中看到以下信息,在预览窗口中显示了新创建的粒子发射器:

PS_SubUV_12_CascadeView.jpg

位于 'Required(需要的)' 类中的是与子UV 相关的设置: InterpolationMethod(插值方法)、贴图的水平方向及垂直方向上子图像的数量。

Emitter_SubUV.jpg

设置子 UV 参数


在给定字段内输入以下信息:

SubImages_Horizontal(水平方向的子图像数量) 2
SubImages_Vertical (垂直方向的子图像数量) 2
InterpolationMethod (插值方法) PSSUV_Linear

这将会告知发射器将会布局一个 2x2 格子,并且在子图像间以线性的方式来插值。

Emitter_Running.jpg

正如您所看到的,发射器正在从提供的贴图中选择‘第一个’子图像,因为默认的子图像索引是常量 0。

设置子图像选项


通过右击并在列表中选择一个 SubImage 索引模块可以将其添加到发射器中。这个模块的属性将会显示在 Cascade 面板的左下角。在 SubImageIndex 模块中仅包含了一条信息,即一个称为 "SubImageIndex" 的标量分布。

PS_SubUV_17_SIIUniform.jpg

通过在蓝色箭头上点击并从列表中选择一个 Constant Curve(常量曲线)将分布转换为一个常量曲线。

PS_SubUV_17_SIIUniform2.jpg

点击在发射器的 SubImage Index 模块上的绿色 '图示按钮' 来将曲线添加到曲线编辑器中。

PS_SubUV_17_graph.jpg

添加一条使用以下增量的数据点的曲线:

时间
0.00 0.00
0.75 3.01

这将会产生一个可以在所有的存在的子图像间进行平滑转换的发射器,赋予每个子图片大约 25% 的粒子生命周期时间。以下是屏幕截图:

PS_SubUV_18_SIIConstCurve.jpg

MyEmitter 可以在这里获得。