2012-09-29 102 views
0

我想用美观的图形制作一个相当简单的游戏。概念opengl:是由三角形构成的复杂图形?

我已经通过几个教程来创建opengl示例。我明白核心对象是点和三角形。我也理解映射纹理和应用照明。我必须错过一些概念。

让我们举个例子 - 一辆简单的汽车。我需要从3D的各个角度看到汽车。这意味着我在数学上必须以3D构建赛车?我会从字面上创建和存储数以千计的代表其整个表面的三角形?那么,我会为这些三角形添加颜色/纹理?

如果我想通过一个公园的动画导航 - 树木,道路,其他的人......即使我只是模仿每一个独特类型的对象只有一次,这可能需要几年的时间?

商业游戏开发者使用什么方法?

+0

你在这里问什么?在我看来,这与OpenGL无关。 – TheAmateurProgrammer

+1

@theAmateurProgrammer:实际上,它与* programming *无关。这似乎是关于如何创建模型,而不是编写代码。 –

回答

2

有几种方法可以解决这个问题。第一种方法是自己设计所有对象。这就是专业的游戏设计公司所做的,并且有整个部门都致力于此。您可以使用Blender(免费!),Maya,3DS Max,Modo或任何数量的3D建模程序来执行此操作。

第二种方法是做程序上一代所有这些对象(这是诚实更有趣)。程序生成是当程序生成它需要的每个对象时。这使您的磁盘空间使用量最小化,并且完全消除了加载时间。通常,程序生成算法将在单独的线程中运行,以免伤害帧速率。

实际上,你可能想要做一点两个:从程序生成的植物和环境,但模拟人物和汽车。

Here是程序生成算法一个很好的资源。

干杯, 斯内德

1

这意味着我有数学,构建汽车在3D?我会从字面上创建和存储数以千计的代表其整个表面的三角形?那么,我会为这些三角形添加颜色/纹理?

确实是这种情况。但是,没有人通过在文件中输入数字来硬编码模型。人们使用3D建模器,如3DS,SoftImage,Blender,Milkshape,Maya等。这些建模器通常都采用三角形网格化原理工作,即它们将模型表示为三角形的网格。

如果我想通过一个公园的动画导航 - 树木,道路,其他的人......即使我只是模仿每一个独特类型的对象只有一次,

动画通常发生的动态修改单个网格,或者在复合对象(如汽车)中编排单个网格的动态修改。

,可能需要几年的时间?

对于一个人:是的,它的确如此。这就是为什么游戏工作室雇佣大量艺术家的原因,他们在一起工作时,仍然需要数月甚至数年才能完成大规模的制作游戏。

在你的平均游戏工作室中,很可能会找到比程序员多10到20倍的艺术家。虽然程序员的工作很复杂,但在整个游戏中无处不在。任何新功能或错误修正都会使整个游戏受益。然而,游戏中的大多数作品都是在本地使用的,即仅用于手绘或单个地图。一些艺术品,如非人物角色动画(步行周期,动作,攻击/防御动画等)可能会被重复使用,但即使是这些艺术品也会个性化以适应每个角色的变化。普通道具也可以重复使用。但总而言之,所有的游戏作品都是非常冗长乏味的任务。

+0

我很失望,这是封闭的非建设性。它被称为一个概念性问题,我还没有找到任何说明方法以及这个问题和良好答案的文档。不像技术/实施细节那么重要吗?感谢那些回答你的人。 – torpedo51

+0

@ torpedo51:那么,SO是一个关于编程问题的论坛,并且最终,你的问题并不适合那些。你可能会更好地帮助gamedev.stackexchange.com或类似的。 – datenwolf

+0

如果有人最初会重定向我,而不是简单地将问题简单地视为“不具有建设性”,我会很感激。我会在别处看看;谢谢。 – torpedo51