游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6214|回复: 4

好久前写的ANDROID游戏DEMO,原码公开

[复制链接]

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2014-8-18 21:26:44 | 显示全部楼层 |阅读模式
本帖最后由 dana9919 于 2014-8-18 22:00 编辑

20140621_210255.png 20140621_210255.jpg 20140621_210248.jpg

原本的框架构造设计出现了重大问题,我之前构造时都把图形图像放在最底层,想把物理部分放到中上层,结果到头来发现错的不能继续了,现在把之前的源码公开下,有兴趣的可以看下,源码是WIN32下的CPP,要做成shared object的话,得自己动手过NDK。
把我的框架里重要点的几个类简单说明下
g9mesh 是 网格体(由文件读取)
g9model是模型(在场景中可见,有3D transform 架在网格体上,多个model可共享一个mesh)
g9markplate 是纹理动画(框架在指定的网格体上)
g9modelGroup 是模型组(模型组可以将各类模型、纹理动画、音效等结合,以SKIN ANIM为例,可以设定在某个动画集开始后的时间t开始播放某一纹理动画或音效)
g9ctl的各个派生类为 场景下的可见控件 主要有轨迹球 圆按扭 方按钮 3D 2D文字 process条(只支持ascII 嘿嘿 最近开始学freetype了 以后有希望支持unicode)等等
g9lua为LUA线程的总承
g9coodinator 是LUA与GL两个线程间的协调

还有几个QQ好友比较关心的从3DMAX COLLADA中提取MESH的方法在 g9mesh::loadmesh_collada中
由于COLLADA DAE事实上并不是一种3D模型格式,它只是将多种组成格式的方法杂合了一下,所以我这里只能有限支持
3DMAX生成COLLADA DAE中要注意
1 纹理全是通过ps保存过的 tga (GL的纹理空间坐标太可恨
2 3角形输出
3 骨骼必须由一个根骨引申(也就是一棵树)
4 MESH输出如下图
bones.jpg 3dmax_export_dae.jpg



最后,源码位置:
http://pan.baidu.com/s/1qWrypMc
DEMO的APK文件:
http://pan.baidu.com/s/1kT3I5xX


5

主题

266

帖子

809

积分

高级会员

Rank: 4

积分
809
发表于 2014-8-19 02:49:04 | 显示全部楼层
呵呵 精神可嘉

2

主题

30

帖子

288

积分

中级会员

Rank: 3Rank: 3

积分
288
发表于 2014-11-19 01:31:14 | 显示全部楼层
楼主是杭州的吗?

0

主题

16

帖子

46

积分

注册会员

Rank: 2

积分
46
发表于 2019-10-21 12:35:11 | 显示全部楼层
什么游戏可以吃部吃
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-11-24 10:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表