47、从2D到3D:Android游戏开发的新征程

从2D到3D:Android游戏开发的新征程

1. 2D游戏的回顾与3D的展望

在之前的2D游戏开发中,我们成功打造了像Super Jumper这样的游戏。在渲染方面,我们有背景、物体和UI元素三个批次的渲染,虽然理论上可以合并UI和物体批次,但会使代码变得复杂。借助纹理图集和SpriteBatcher,游戏性能表现良好。同时,合理设计游戏机制以及明确世界单位和像素单位的关系,让开发变得更加轻松。

现在,是时候迈向3D领域了。其实在之前定义视锥体和精灵顶点时,我们已经在3D空间中工作,只是顶点的z坐标默认设为0。3D渲染与2D渲染的区别主要体现在以下几点:
- 顶点不仅有x和y坐标,还有z坐标。
- 使用透视投影而非正交投影,离相机远的物体看起来更小。
- 变换(如旋转、平移和缩放)在3D中有更多自由度,可以在三个轴上自由移动顶点。
- 可以在3D空间中定义任意位置和方向的相机。
- 物体三角形的渲染顺序变得重要,离相机远的物体必须被离相机近的物体覆盖。

2. 3D开发的准备工作

在开始3D开发之前,我们会编写一些示例。和之前一样,会有一个启动活动展示示例列表,并且复用之前三章创建的框架,包括GLGame、GLScreen、Texture和Vertices类。

本章的启动活动名为GL3DBasicsStarter,我们可以复用之前的GLBasicsStarter活动代码,只需将示例类的包名改为com.badlogic.androidgames.gl3d,并在清单文件中以 元素的形式添加每个测试。所有测试将以固定的横向模式运行。

每个测试都是GLGame抽象类的实例,实

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值