我一直在想,游戏程序员如何将外部3d建模软件(如maya或3dmax)中的游戏角色与用它们最喜欢的编程语言(如c或c++ )完成的实际游戏逻辑联系在一起。
你如何将这两件事结合在一起,从角色建模到编程,构建游戏的实际过程是什么?
一些让我好奇的事情是,你是根据代码还是3d模型来编程角色的动作?
如果能看到这样的例子就更好了。
发布于 2009-01-31 08:47:55
大多数信息,如字符移动,实际上存储在代码之外。实际上,这是一个相当简单的过程:
事实证明,游戏中的所有内容最终都与代码分开存储,当游戏运行时,代码只是读取它们并将它们组合在一起。当我说一切的时候-我是说所有的事!所有的文本,生命值和武器伤害量的统计数据,菜单屏幕图像,甚至人工智能都与脚本中的程序代码分开存储。程序代码最终只能做很少的事情。
你可能听说过人们制作游戏的mod。Modders是编辑位于程序代码之外的数据的人,这反过来又改变了游戏以适合他们的方式。他们只是在利用这样一个事实,即基本上关于游戏的所有东西(除了一些核心内容)都没有写入到程序代码中。
发布于 2009-02-15 06:58:16
与最喜欢的答案不同,我敢说,如果你提到一个有动画的角色,这实际上是一个相当大的任务。
最终结果是启用大多数通过脚本和配置文件绑定的功能(换句话说,数据驱动),但构建这样一个系统的过程并不简单。
通常,您可以从一个外部建模器开始,在该建模器中您可以执行以下操作: 1.构建皮肤模型。2.构建骨架,并根据权重等附加到皮肤。3.根据需要应用所有纹理和材质。4.导出到您的引擎。
现在,您可以开始为该角色骨架或任何类似的角色骨架构建动画库,如果您将其关联到多个角色骨架(通常是在骨架足够接近或模块化的情况下)。一些动画将只包含部分层次(为了能够混合动画的一部分-例如,下半身正在奔跑,而上半身可以使用不同的动画或反向运动学-在奔跑过程中向敌人射击就是一个很好的例子)。
现在终于到了代码部分。您需要构建一个将动画关联到骨架并正确渲染它的系统。这个系统还需要能够在动画和IK之间混合(例如,在站立和奔跑之间切换),并且能够组合几个动画和部分动画-例如,行走(全身动画),看着某人(上半身的IK),挥手(带有部分动画的IK)和呼吸(部分动画)将同时组合4种不同的部分或完全混合。
我没有提到你需要构建导入器的事实,而且动作和动作的动画之间也有区别。动作可以有几个动画组合或随机拾取-它们将通过数据映射文件相关联。
我建议您看一看XNA -它有许多示例、导入器和更多内容,并且在库中包含了许多基本的东西,因此您不必从头开始。正如人们还提到的- Blender3D是editor+的一个很好的选择,因此Torque可能只是为了体验游戏引擎。
最后一句话-如果你打算尝试一下,这不会是在公园里散步,但是嘿-非常有趣,结果会让你为自己感到自豪。
发布于 2009-01-31 08:58:56
看看Blender Game Engine Tutorials,还有他们的Project Apricot,这是一个用Blender游戏引擎创建3D游戏的开放项目。
https://stackoverflow.com/questions/498507
复制相似问题