安卓3D游戏开发

6

我是一名新的游戏开发者,已经开始为Android开发游戏。
我遵循了基本的教程,并且能够在屏幕上绘制一个3D对象。
我想要像背景和其他物体一样,在游戏中绘制场景以及玩家对象。
请建议我如何使用OpenGL实现这一点。我没有使用任何库。我从头开始进行OpenGL开发。
谢谢。


2
我发现这个视频非常有启发性 http://www.youtube.com/watch?v=7-62tRHLcHk 。从整体流程的角度来看,以及使用3D和2D技术方面都很不错。 - arunkumar
2个回答

2
这是一个非常抽象的问题,如果您想创建一个玩家可以移动的场景,有几种方法可供选择。
在这个答案中,我假设您在代码中创建模型时具有对顶点、索引、纹理、颜色和法线过程的知识和控制。
以下是几种常用的技术:
1. 使用3D程序建模您的世界。该3D模型应包含有关顶点、索引、纹理坐标、颜色和法线的信息。在运行时,您的应用程序将模型文件中的信息应用于常规顶点数组中。
2. 通过使用图像(通常是灰度图像)生成一个场景,并让黑色代表最低点,白色代表最高点。然后使用描述地形的纹理并将其映射到地形上,进一步为地形应用颜色,例如,黑色表示坑洞,白色表示山顶。
这些技术通常是我使用的,但是快速搜索“terrain generation OpenGL”或“heightfield terrain OpenGL”将为您提供良好的开始。我也知道网上有几个已经准备好使用的模型。

1
感谢您的快速回复。我使用3D程序对对象进行了建模,并将其加载到应用程序中。我想在该对象的背景中绘制场景,但它并不是静态的。因此,我无法在3D程序中进行建模。我会尝试第二种选择。 - Ashwini Shahapurkar
1
@Ashwini:你最终可能会将场景分成静态和非静态部分。 :-) - Wroclai
1
是的,现在看起来是这样的。我计划将静态图像作为背景加载,并仅绘制非静态图像。 :-) - Ashwini Shahapurkar

2

学习像Unity3D或UDK这样的游戏引擎可能是一个比从头开始尝试更好的主意。

http://www.unity3d.com/

下载引擎并完成教程。它附带免费的3D资产,因此制作第一款游戏相当容易。然后,您可以免费在Flash、PC和Mac上部署它。如果它们在那里成功了,那么您可以支付费用来分发到Android、iPhone、PS3、xBox和Wii......

编辑:现在,如果您不关心专业功能,他们允许您免费发布到Android和iPhone。好处是我编写的代码能够在许多平台上部署。这非常有意义。

另外,还有一个由Havok引擎团队制作的新引擎叫做Project Anarchy。

祝你好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接