

用Sprite粒子系统做树 (Sprite - Based Particle Trees)作者:Steven J. Tubbrit (steven_tubbrit@yahoo.co.uk) 翻译:杨栋(九界建模) -English Version Here- 用Sprite粒子系统可以做出效果很好的树木,用于时下流行的游戏之中。当然我不建议在你制作的游戏当中用这种树来覆盖大片大片的面积。但是你可以把它们用在一些需要突出视觉效果的地方,比如说赛道的转角处,或者在近景处安排一块由这些树组成的林区,等等。 让我们现在就开始制作这些树木。首先我要说的是, 虽然我用的软件是Maya,但是制作的原理可以用于任何一款三维软件之中。 首先,用Maya(或者你正在使用的三维软件)制作一个基本的树的模型。我们将在这个模型上面加上Sprite粒子。我用的模型是之前已经建好的。 为了加快速度,我没有花很多时间在这棵树的UV Map上。我只在上面用了一张128x128的贴图。见下图: 点击这里下载Maya(4.5)的场景文件 你也可以自己做一棵树,或者就直接下载上面的文件做练习。接下来我就开始讲解怎样把Sprite粒子加到这棵树上面。 首先,打开Maya,按F4键到Particle Menu,然后找到Particles > Particle Tool,打开选项菜单(option box)(如下图所示)。输入Particle Name,比如说“Leaves”。把 Number of Particles设为6,或者用其他的数字以符合你的要求。把Maximum Radius设为5。如果你用的是自己做的树,你要试验一下这个选项,看什么尺寸适合。最后,也是最重要的一个选项是:Sketch Particles这个选项必须打开,这样我们才可以把Sprite粒子画到我们想要的地方。 下一步,如图所示,把'Snap To Points'的选项打开。这个选项你可以在最上面的工具栏(Status Line)里面找到。 把镜头移近树枝的顶端,点击树枝顶端,因为你打开了'Snap To Points'选项,你可以看到粒子直接吸附到了树枝顶端。当你点击了一个树枝顶端以后,按回车键,这样就会完成创造一组粒子。在提供的文件里面一共有9个树枝。你要在每一个树枝的顶端创造一组粒子。如果你在创造了一组粒子,没有按回车键, 那在后面调整粒子大小的时候就不灵活了。把这9组粒子分别命名为Leaves1一直到Leaves9。 因为你把Number of Particles设为6,所以每一组粒子里会有6个粒子。又因为把Maximum Radius设为5,所以每一组里面的一些粒子会和树枝保持一定的距离。这样做的好处是当你把树叶贴图加上去的时候,树冠就会看上去很饱满。 下面是一个重要的步骤。选中一个粒子组,按CTRL+A,打开Attribute Editor(属性编辑器)。在里面找到'LeaveShape'(如果你用了其他的名字命名你的粒子组,那么这个名字可能就是 " ***Shape " ),在这个面板里找到Render Attributes, 打开它, 找到 Particle Render Type(粒子渲染类型), 预设的是Points(点), 把它改为SPRITES。你可以看到粒子由点状变成了四方形。对其它八个粒子组做同样的设定。设定完成以后如下图所示: 下一步, 打开Outliner (Window > Outliner), 选择第一个粒子组, 按CTRL+A代开Attribute Editor(属性编辑器)。找到Render Attributes面板, 选中Depth Sort, 然后点击Current Render Type按钮, 把 Sprite Scale X 和 Sprite Scale Y 设为6。对其它8个粒子组做同样的设置。完成以后如下图所示: 打开Hypershade, 创造一个新的Lambert材质。打开Outliner, 选择所有的particle objects(粒子组), 然后在Hypershade里右键点击新创造的Lambert材质, 选择Assign Material To Selection(把材质赋予选中的物体)菜单。在键盘上按下6 键, 场景就会转到Textured Shaded Mode, 可以直接看到贴图效果。回到Hypershade, 双击新建的Lambert材质打开Attribute Editor。把树叶的贴图(最好是有Alpha Channel的), 加到Lambert材质的颜色节点(Color Node)上。完成以后你应该可以看到如下效果: 移动你的镜头, 看看效果如何。 如果镜头移动的时候感觉有点跳的话, 在游戏引擎里面可以很容易的进行调整。这样的树已经用在很多游戏里面了, 比如说"Ridge Racer"。 点击这里下载最终完成的场景文件 - Maya(4.5) 注: 以下是一些使用的技巧: 你可以把这些粒子转成Polygon, 然后在上面贴图。把每一片Polygon进行分别命名, 比如说: Leaves_CF, the _CF, 这样你的程序员就可以区分他们。这些名字可以在你的游戏引擎里面作为标记, 这样你的程序员就可以把这些Polygon设定为总是面对摄像机。 如果你使用粒子系统的话, 你还可以做一些树叶在风中摇摆的动画。(当然, 即使转成了Polygon, 这样的动画也是可以很容易实现的)。 感谢你的访问了我的文章, 希望这篇教程对你有所帮助。 |