找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 291|回复: 0

[转贴]:《反恐部队》游戏场景制作实例

[复制链接]
发表于 2004-3-23 15:30:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
自从有了数字图形技术以来,游戏就成了风光无限的产业。从二维游戏到三维游戏,从单机游戏到网络游戏,直到近日美国军方提出的用于各种训练的全息成像游戏已越来越多地融入我们的生活。从本期开始,笔者就以实例谈谈新版的3DSMAX6在这方面给游戏带来了哪些发展。
  游戏场景通常由室内或室外构成。室外场景的制作集中体现在地形、地表和树木。如图是《反恐部队》游戏的一个场景图(以加勒比海上的一个小岛为参照)。下面,笔者将为读者详细叙述如何使用3DSMAX6来完成这个场景的制作。  
  制作前的预设置
  1. 从3DSMAX4开始,Discreet公司开始采用把特定用途的函数制成插件随升级软件附送的战略。这次随3DSMAX6赠送的插件大多和游戏开发有关。本例将选用两个插件:Speed Tree(用于生成单株的树)、Speed Forest(用于生成树林);两个自带函数:Grass(用于生成地表的苔藓和草皮)、Ground crew(用于生成各种类型的地貌)。
  2. 准备好Speed Tree、Speed Forest插件,将其复制到3DSMAX\Plug in目录下。
  3. 选择Customize?自定义?\Configure path?路径?\ Plug in(插件)。使用add,添加Plug in目录。
  4. 重新启动3DSMAX6。你会发现Speed Tree插件出现在Geometry下拉列表当中;Speed Forest插件出现在Utilities下拉列表当中。
  基础场景制作:大地
  提示:《反恐部队》是一款由美国著名游戏制作商BLUE STUDIO公司为测试新一代硬件开发的试验性三维作战游戏,该游戏放弃了传统的“贴图”制作工艺,利用3DSMAX6提供的具有超前意识的制作技术,制作场景和角色,力图提供给游戏者一个完全真实的游戏场景。
  1. 根据资深游戏设计师的经验,当制作场景尺寸符合设计者从书本和电影中得来的战场范围的印象时,创作就会变得容易。所以,制作的开始就是更改视图所用尺寸,改变软件中抽象的单位为熟悉的m单位。
  2. 进入创建命令面板的Patch Grids选项,在Top视图中创建一个QuadPatch type object,并命名为“Ground(大地)”具体设置参数如下:Length(长)=2400、Width(宽)=3000、Length Segment=1、Width Segment=1。
  3. 单击Modifier(修正)加入Edit Patch Modifier(编辑Patch对象),取消Sub-Object按钮。设定如下:Step(分段数)=100。
  提示:这个值根据地形的需要来决定大小。如果地形复杂,则取值较大;如果地形平缓则可以取较小的值。
  4.在Modifier堆栈中加入Edit Mesh Modifier(编辑Mesh对象),取消Sub-Object按钮。这使四边形对象转换为多边形几何图形。
  5.选中Ground对象,在Modifier中加入Displace Modifier。在Displace Parameters的Image(图像)栏中单击Bitmap(位图),在文件选项框中选择右图:设置:Strength(强度)=20。
  提示:这种Bitmap通常由游戏制作小组中的美工根据剧情的要求,在Photoshop中绘制,为了保证能准确反映地形的细节,这种灰度图形的尺寸通常较大,在该场景地图中这个图形尺寸为2400×3000。
  6. 将文件“另存”两次,第一次文件名为:Forest-Ground(该文件用来制作树木和森林);第二次文件名为:Grass-Ground(该文件用来制作草地和道路)。
  7. 关闭文件。打开Forest-Ground文件,将场景中的Ground对象改为Forest-Land。
场景第一部分:树木制作
  1. 单击Geometry(几何体),在Standard Primitives下拉列表中选择IDV Software,会出现Speed Tree选项,单击Speed Tree。
  2. 在Top视图上单击一下,出现一棵树的模型。
  3. 单击Modify出现下拉菜单,对下面菜单进行操作:
  4. 单击import “.spt” file(导入不同形状的树种),在出现的对话框中选择English oak(英格兰枞树)。
  5. 如果大家这时候渲染一下场景,你就会看到一棵English oak(如图)。
  6. 设置树的大小:Size=6;+/-=2。
  提示:由于确定了整个场景以m来做单位,这里大家就很容易确定一棵树的高度,设置的Size=6m为树的平均高度,其它树可以在这个基础上,正负相差2m。
  7. 《反恐部队》对场景的真实性提出了很高的要求,既然场景是以加勒比海的一个小岛为参照的。从3DSMAX6中的树的模型就必须满足该小岛上树种多样性的要求。当模型库中的树模型不能满足制作要求的时候。单击“.spt” Data列表中Edit,屏幕上便会出现另外一个3DSMAX6自带的软件Speed-Tree-CAD(树木编辑器)。该软件专门用来编辑各种树的形状,它几乎能满足你对树的所有要求。
  注:在下一篇文章中笔者会专门讲到Speed-Tree-CAD软件的应用。
  8. 如果场景具有真实性则必须保证从不同角度观察树的时候,树的形状是不一样的。
  注:这在以往的游戏中是不可以想象的。勾选Bill boarding-Rollout?树木观察方向?列表中Auto-Billboard to Camera(随视觉角度的不同而不同),就可以达到这个要求。
  9. 树木在自然环境中还受到风的影响。在以前的游戏中出于对硬件的考虑,游戏者当然不会计较树木会不会随风而动。然而Speed Tree插件还是考虑了在这方面的可能性,设置了有关的选项,如图5:通过Wind(风)列表中的Pick wind space warp(选择风的吹动方式),设计人员甚至可以把加勒比海的海风的数据曲线加入到场景当中(这涉及到复杂的计算),当整个场景导入到游戏中时,树木也会模拟真实环境中一样随风摇摆。
  注:在以后的章节中笔者将谈谈如何动手制作树、草皮、道路以及对地形进行进一步的调整。
第二部分:森林的制作
  在第一部分中笔者讲到了制作一棵完整的树。现在笔者继续谈谈如何将这棵树变成森林里的一个树种。
  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。
  5. 接下来,Blue Studio公司派出一个外景小分队到场景所参照的加勒比海小岛上,实地对各种树种的数目和分布进行调查,并对每一个树种的分布制图,画出该树种的每棵树的大致位置和外观参数。有了这些资料,接下来的一些参数进行设置就有了依据(分布图数量太多,故略)。
  6. 根据5中的资料确定图2的参数:Object Count代表的是English-Oak树种树木的总数;Collision Radius代表该树种中每两棵树中最小必须相距36m。
  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虽然效率高,却并不是万能的。(完)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-18 18:24 , Processed in 0.173684 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表