【Stage3D学习笔记续】真正的3D世界(六):空间大战
2015-01-15 16:25
267 查看
这就是书上的最终效果了,一个完整的空间大战游戏:
点击查看源码
这里并没有太多的新知识,所涉及的东西更多的是游戏开发方面的优化和技巧,下面我们大家一起来看看:
飞船:
类似粒子效果中的粒子创建方法,我们的游戏飞船也需要一样的创建机制进行创建,大家可以点击查看源码:
GameActor
GameActorPool
需要额外说明的是,添加了进行碰撞检测的机制,代码里写了基于球形的距离的碰撞检测(简单高效)和基于AABB盒的碰撞检测,但AABB盒的碰撞检测在实际的游戏中并没有使用。
另外添加了一点优化,即对实体对象和摄像机的距离进行判断,如果太远就不进行渲染了。
关卡:
还是不得不佩服作者的聪明才智,关卡一般都是需要一个编辑器的,最不济也会手动填一下类似XML等的配置文件,而作者使用了两个位图来作为关卡的数据,一个是key位图,这个位图是一个1xn的长方形图片,第一个像素表示空,后面的像素和程序中传入的数组一一对应,表示对应的一个实体,可以是一个陨石也可以是一个敌人等实体对象;
另一个图片就是我们的关卡图片了,其中的每个像素都可以在key位图中找到对应的数据,表示一个实体的位置;
所以编辑关卡变得异常的简单,当然解析位图也并不复杂;
总结:
目前Stage3D的市场不是很好,不说移动端的失利,页游方面U3D的实力也不容小觑,不过可以从底层学起始终是好的,另外3D世界并不是只有这些技术,而我觉得我只是刚刚入门而已,接下来我会看一些U3D方面的东西,当然Stage3D也不会就这样放下,Let's keep moving!
点击查看源码
这里并没有太多的新知识,所涉及的东西更多的是游戏开发方面的优化和技巧,下面我们大家一起来看看:
飞船:
类似粒子效果中的粒子创建方法,我们的游戏飞船也需要一样的创建机制进行创建,大家可以点击查看源码:
GameActor
GameActorPool
需要额外说明的是,添加了进行碰撞检测的机制,代码里写了基于球形的距离的碰撞检测(简单高效)和基于AABB盒的碰撞检测,但AABB盒的碰撞检测在实际的游戏中并没有使用。
另外添加了一点优化,即对实体对象和摄像机的距离进行判断,如果太远就不进行渲染了。
关卡:
还是不得不佩服作者的聪明才智,关卡一般都是需要一个编辑器的,最不济也会手动填一下类似XML等的配置文件,而作者使用了两个位图来作为关卡的数据,一个是key位图,这个位图是一个1xn的长方形图片,第一个像素表示空,后面的像素和程序中传入的数组一一对应,表示对应的一个实体,可以是一个陨石也可以是一个敌人等实体对象;
另一个图片就是我们的关卡图片了,其中的每个像素都可以在key位图中找到对应的数据,表示一个实体的位置;
所以编辑关卡变得异常的简单,当然解析位图也并不复杂;
总结:
目前Stage3D的市场不是很好,不说移动端的失利,页游方面U3D的实力也不容小觑,不过可以从底层学起始终是好的,另外3D世界并不是只有这些技术,而我觉得我只是刚刚入门而已,接下来我会看一些U3D方面的东西,当然Stage3D也不会就这样放下,Let's keep moving!
相关文章推荐
- 【Stage3D学习笔记续】真正的3D世界(四):空间大战雏形
- 【Stage3D学习笔记续】真正的3D世界(五):粒子特效
- 【Stage3D学习笔记续】真正的3D世界(一):透视矩阵
- 【Stage3D学习笔记续】真正的3D世界(三):纹理效果
- 【Stage3D学习笔记续】真正的3D世界(二):显示模型
- Away3D学习笔记2--3D世界的坐标系
- 【学习笔记】3D图形核心基础精炼版-9:stage3D实战-图片纹理
- 【学习笔记】3D图形核心基础精炼版-5:stage3D实战-矩阵计算
- 【学习笔记】3D图形学:stage3D实战-延迟着色技术DeferredShading
- 【学习笔记】3D图形核心基础精炼版-7:stage3D实战-范例工程1
- Away3D学习笔记2--3D世界的坐标系
- 【学习笔记】3D图形核心基础精炼版-4:stage3D实战-环境搭建
- 【学习笔记】3D图形核心基础精炼版-11:stage3D实战-光照效果和范例工程3
- 【学习笔记】3D图形核心基础精炼版-8:stage3D实战-范例工程2
- 【学习笔记】3D图形核心基础精炼版-6:stage3D实战-顶点
- ORACLE DBA学习笔记--撤消表空间的管理
- 倪蒙oralce学习笔记之Oracle创建删除用户、角色、表空间、导入导出数据库总结
- DirectX 3D学习笔记(一)
- Away3d学习笔记4-View3D(视口)
- ORACLE DBA学习笔记--表空间的管理(tablespace)