《反恐部队》游戏场景制作实例(3)
第二部分:森林的制作
在第一部分中笔者讲到了制作一棵完整的树。现在笔者继续谈谈如何将这棵树变成森林里的一个树种。
1. 将上一章制作完成的树命名为English-Oak(英国枞树)。单击软件工具条的Display(显示),在下拉菜单中选择Hide(隐藏)。
小提示:⑴初学者在制作较大的场景时一定要为场景中的每个物体命名一个惟一的名字,并且在随时可以拿到的记事本上记上这个名字所代表的含义。⑵在制作相对独立的物体时,制作完成一个就立即将其隐藏起来,这样可以保持界面的干净,对创作是很有利的。养成这两个习惯对一个三维爱好者来说非常重要。
2. 选中Forest-Land对象给它赋予一个制作好的草地贴图。注:草地的贴图制作方法很多三维制作网站有介绍。
3. 单击3DSMAX6软件界面右边的命令菜单,选择utilities (锤子标志),在More的下拉列表中选择Speed-Forest,会出现完整的Speed-Forest下拉列表命令函数组。
4. 在Object(卷展栏)中单击Pick Object(选择对象),然后单击键盘上的H键,在出现的选择对象对话框中选择English-Oak,这样确定森林中English-Oak树种的样本树种,该树种的其它树都以该样本为摹本生成。见图1。
图01 5. 接下来,Blue Studio公司派出一个外景小分队到场景所参照的加勒比海小岛上,实地对各种树种的数目和分布进行调查,并对每一个树种的分布制图,画出该树种的每棵树的大致位置和外观参数。有了这些资料,接下来的一些参数进行设置就有了依据(分布图数量太多,故略)。
6. 根据5中的资料确定图2的参数:Object Count代表的是English-Oak树种树木的总数;Collision Radius代表该树种中每两棵树中最小必须相距36m。
图02 7. English-Oak树种中每棵树外观差异的调整在上一章中已经做了讲述。同时每棵树之间的高矮差异,距离差异还可以由其它的参数进行更深一步的控制。X、Y参数保证每棵树在该方向上的距离不会超出图中所设置的数值(具体数字来源于5中的调查数字)。Z参数控制每棵树的高矮差距不会超过3m。
8.接下来还要进步设置English-Oak树种中每棵树方向上的不同,即对每棵树进行不同的旋转和倾斜,让其具有更大的差异性。见图2:X、Y参数决定了每棵树在各自方向上的倾斜范围,Z参数决定了每棵树的垂直方向上的旋转幅度(具体数字来源于5中)。
到目前为止,森林中English-Oak树种的所有参数都已经设置完毕。接下来需要对English-Oak树种的范围和依附物进行确定。
1. 选择软件视图右边的命令菜单中的Shapes(平面)命令,在其下拉列表中选择Line,设置Initial Type为Corner(角度),设置Drag Type为Bezier。
小提示:这个闭合的曲线能限制English-Oak树种的范围,通常它可以用Lines和NURBS Curve曲线。但是,必须注意这个闭合的曲线一定要把它放在Forest-Land对象的上方。否则在Forest-Land对象下方的部分将不会有树木产生。
2. 单击Boundaries(边界)下拉列表中的Pick boundary shapes函数,鼠标变成可选择标志,在Top视图中选择上一步制作的闭合曲线。
3. 单击Terrain Meshes(地形)下拉列表中的Pick terrain objects函数,鼠标变成可选择标志,在Top视图中选择Forest-Land对象。
4. 现在可以看见50棵English-Oak树种的树木出现在视图上(见图3)。
图03 5. 这里只是介绍了English-Oak树种形成丛林的办法,利用这个办法可以把其它的树种加入到场景中,当然值得注意的是有些树种的个体差异性非常的大,为了保持游戏场景的真实性,制作人员还是要用Speed-Tree-CAD一株一株来做。所以说Speed-Forest虽然效率高,却并不是万能的。(完)