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

简介:
本站文章均为  李华明Himi  原创,转载务必在明显处注明: 
转载自【黑米GameDev街区】 原文链接:  http://www.himigame.com/j2me-kjava/249.html


        由于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游戏开发相关资料,请谅解。

相关文章
|
6月前
|
设计模式 前端开发 数据库
探索安卓开发之旅——从初学者到专家
在数字时代的浪潮中,安卓应用开发成为了众多开发者的热门选择。本篇文章旨在为初入安卓开发的新手提供一个清晰的学习路径,从基础概念到高级技巧,逐步引导读者掌握安卓开发的核心知识。我们将通过实际代码示例,展示如何从零开始构建一个安卓应用,并介绍一些提升开发效率的工具和库。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往安卓开发世界的大门。
|
8月前
|
测试技术 Linux Android开发
探索安卓开发之旅:从初学者到专家
【8月更文挑战第29天】本文是一篇为初学者和有一定经验的开发者准备的安卓开发指南。我们将从基础概念开始,逐步深入到高级主题,如自定义视图、性能优化等。无论你是刚刚入门,还是希望提升自己的技能,这篇文章都将为你提供有价值的信息和建议。让我们一起踏上这段激动人心的旅程吧!
|
9月前
|
JSON JavaScript 前端开发
|
10月前
|
Java Unix Linux
编程入门(二)【计算机基础三】
编程入门(二)【计算机基础三】
76 1
|
10月前
|
存储 数据处理
编程入门(二)【计算机基础二】
编程入门(二)【计算机基础二】
63 0
|
10月前
|
存储 人工智能 网络协议
编程入门(二)【计算机基础一】
编程入门(二)【计算机基础一】
58 0
|
存储 运维 算法
嵌入式进阶从小白到大神学习全攻略(学习路线+课程+学习书籍+练习项目)
嵌入式进阶从小白到大神学习全攻略(学习路线+课程+学习书籍+练习项目)
|
人工智能 缓存 自然语言处理
初学者必须知道的对于面试的技术记汇
如何回答的一个技术记汇,或你对xxxx的理解 例如:你说一下对闭包的理解 答:1.xxx是什么 2.应用场景 3.优缺点 ​ 4.具体实现 5.还有没有更好的解决方案!
143 0
初学者必须知道的对于面试的技术记汇
|
运维 前端开发 JavaScript
自学开发技术,从入门到入行
说到学习这种事情,无论是学什么,都需要持之以恒,拥有坚持的决心才有可能会学到一些东西。如果只是三天打鱼,两天晒网的态度,不出差错的话,结果一定是和你想的大相径庭。
235 0
自学开发技术,从入门到入行
|
XML 前端开发 小程序
后端工程师入门安卓开发笔记(一)
我是daxia,一个做了8年多的后端开发,对前端一直仅限于Web页面开发,对移动端开发和小程序开发基本零基础; 有时候想做一些有意思的东西出来,用网页实现对手机支持现在是不理想,忙里偷闲学了学安卓,把一些我觉得是重点内容做一个笔记,也希望笔记对其他人有所帮助。
203 0
后端工程师入门安卓开发笔记(一)
下一篇
oss创建bucket