【J2me3D系列学习文章之一】J2me3D开发技术和基础知识

简介:

   以前不喜欢写博客,但是后来发现写文章其实也是自我提升一个方式,所以准备学3D历程写下来,学习研究顺序应该是从J2me 3D开发开始然后到 Android 3D开发。希望大家多多指教;写的不好,不要耻笑哈。 

    【 Android进阶胡同 】 Android开发的可以加入,现在1群满员了,成员上限200 - -、请童鞋们加入开发2群~
     由于J2me 3D(jsr184)的文章网上也有了不少,这里就不多说了,只是概括的说下针对于j2me 3D开发基本需要了解的知识以及简单阐述几个术语;

第一:开发模式;

    J2me 3D(jsr184)api 分为两种开发模式,一个是立即模式,另一个就是保留模式。这里简单的说下两者的区别和不同。

    立即模式:所谓立即模式通俗点说就是不需要外界导入数据,如m3g(3D模型的格式都是.m3g),所有的3D模型数据等都由开发者一个在代码中完成!例如自己定义3D模型的顶点,颜色,面等等......

    保留模式:由于立即模式下要自定义这些顶点,各个面 等等,数据量是相当的大,如果全部手工完整的去做一个RPG或者ARPG的游戏几乎是不可能了也就是很说设计一个复杂的游戏世界将成为一项令人望而却步的工作 - -、 所以我们可以通过建模工具来设计 3D 场景,并将数据导入程序。导入数据来简化开发工作量,例如通过导入m3g文件,从而得到 一个 world (3D世界) camera 等等,这样的方式被称为保留模式。

    概述:其实说白了,保留模式下我们开发就相同于J2me中用midp2.0去做一样,用别人封装好的东西来简化开发量!

第二:三角形带;

    什么叫三角形带,估计看过一些J2ME 中3d开发文章中,会发现很多出现这么个词语。其实三角形带,就是利用顶点重复用的方式;例如我们构造一个三角形描述立方体,那么需要条边 * 2 个三角形 * 3 个顶点 = 36 个顶点。这么多重复的顶点显然浪费了大量内存。为节约内存,首先应将顶点与其三角形定义分隔开来,然后例三角带方式来构造。假设两个顶点a1(1,2,3) 和 a2(2,3,4),那么我们写成1,2,3,4 的方式,这样就是三角带方式。重复利用重复的点坐标!当然这里可能说的比较含糊,那么后续文章中根据代码实例会详细讲解。

    那么这里简单的就说这两点,针对两种模式,肯定就要先从立即模式开始学习,毕竟就算以后用导入模型数据的方法来做开发,也应该知道原理才能更好的去理解!

    其实3D开发需要是基础知识很多,例如高数、图形学等,但是我感觉这些都是次要的,只要努力去做一件事,没有做不好的!这里我写的文章也只是根据自己理解认为重点的拿来先进行阐述说明,其实我也是刚开始接触3D开发。我的计划是从j2me 3D开始 (因为我是做J2ME 起身的),然后再转向Android 3D开发。当然如果你还没有对游戏开发脑子里没有一个简单的框架那么建议先去学习下,这里不多做说明。

    文章是记录本人学习3D的过程以及经验分享的文章,所以文章中对基本的游戏框架不会讲述和说明,

    希望不太理解的同学先去学习下J2me游戏开发相关资料,请谅解。 





本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/605186,如需转载请自行联系原作者
目录
相关文章
|
30天前
|
敏捷开发 算法 测试技术
C/C++ 编程大师的秘籍:轻松掌握高质量代码之道
C/C++ 编程大师的秘籍:轻松掌握高质量代码之道
91 0
|
2月前
|
网络协议 Unix Linux
Linux应用开发基础知识——网络通信编程(九)
Linux应用开发基础知识——网络通信编程(九)
54 0
Linux应用开发基础知识——网络通信编程(九)
|
9月前
|
存储 开发框架 小程序
【全栈小程序开发路线】手把手教你入门小程序开发,小白必看!
以下内容是结合我项目中实战经验,踩坑记录,大量时间学习小程序的积累,总结分享给大家。 学习路线包括前端基础、小程序开发框架、UI组件库、云开发、周边生态以及插件这几个纬度,学完这些,你也能全栈开发一个属于自己的产品。
327 0
|
存储 缓存 网络协议
强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍
强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍
强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍
|
运维 前端开发 JavaScript
自学开发技术,从入门到入行
说到学习这种事情,无论是学什么,都需要持之以恒,拥有坚持的决心才有可能会学到一些东西。如果只是三天打鱼,两天晒网的态度,不出差错的话,结果一定是和你想的大相径庭。
165 0
自学开发技术,从入门到入行
初识“方法”,步入编程领域 | 带你学《Java编程入门》之六
在程序之中很多情况下是有可能需要重复执行一些代码的。在有一些书上也会把方法(method)称为函数(function)。需要注意一点,本次进行方法定义的时候有一个前提:方法在主类中定义,并且由主方法直接调用。
初识“方法”,步入编程领域   | 带你学《Java编程入门》之六
带你领略Java运算符之美 | 带你学《Java编程入门》之四
所有的程序开发都是一种数字的处理游戏,那么对于数字的处理一定会有所谓的操作模式,而这些操作模式就称为运算符。例如:如果要进行加法运算肯定使用的“+”这样的运算符来完成,而对于运算符而言,也是存在先后的关系,像小学学习四则运算,采用先乘除后加减的顺序完成。当然,程序开发也会有这些运算符。
|
开发者 容器 Kubernetes
亲历者明日独家讲述K8s界“赤壁之战” | 开发者必读(022期)
最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》!
1342 0
|
算法 Linux API
后台开发,从基础到高级,有什么好的书籍推荐?
这篇博客原作者的博客链接:https://blog.csdn.net/analogous_love   首先,我觉得你应该好好准备算法和数据结构,做到常见的算法和数据结构知识点都能非常熟悉,这样的话你毕业求职的时候可以轻松拿一些大厂(BAT等)的offer。
1632 0