为J2ME开辟移动3D游戏之保存情势[Java编程]
本文“为J2ME开辟移动3D游戏之保存情势[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
目前,3D图形几近是任何一部游戏的关键部份,乃至一些利用程序也通过用3D情势来描写信息而得到了成功.如前文中所述,以当即情势和手工编码成立全部的3D对象的方法举行开辟速度很慢且很复杂.利用程序中多边形的全部角点必须在数组中独立编码.在JSR 184中,这称为当即情势.
别的一种更高级的情势称为保存情势,它答应计划者利用诸如3D Max Studio等3D建模软件来计划场景图,然后把它们利用在程序中.
1、3D编辑器
目前,最风行的商业动画制作软件应是3D Studio Max,它支持输出模子或场景图到M3G格局(JSR 184中指定的文件格局).该文件格局是专门制订的,以实用于移动设备的特有需求.但是,3D Studio Max非常高贵,即便它是一个很好的工具,也大概并不合适于任何一个人.
Superscape公司有他自己的Swerve产品家族(Swerve Studio,Swerve Client,Swerve Content),以帮忙软件开辟者来开辟3D Java和本机利用程序.遗憾的是,Swerve Studio仅适于有限数目的对Superscape非常熟习的开辟者.
还有一个安闲工具可以挑选利用:Blender.Blender是一个开源的3D造型工具,其实它的功效相当强盛.你可以用Blender来举行任何3D计划-从简单的造型到完好的动画制作.固然目前还没有输出工具来输出Blender模子到M3G文件中,但是大概很快就呈现一些可用的工具(因为Blender是开源的).
3、建模
如安在MIDP利用程序中利用M3G 文件呢?首先,你需求一个已有某种3D模子的M3G文件.你可以用Google引擎快速查找一下,也可以利用和WirelessToolkit 2.2(在Demo3D 文件夹下)开辟包一同公布的现成文件.在本文中,我们将对Sun的Pogoroo例程作深度改正(简化).我们不让它动起来大概做任何独特的事情,而仅仅在屏幕上展示各个对象.
4、加载World(世界)
首先,要从M3D文件中加载World.在pogoroo.m3g文件中,你会看到一只袋鼠在一根弹簧单高跷杆上腾跃,其身边是一片绿茵.下面的列表1调用了加载器类的办法load().
列表1. 加载世界
try {
//从M3D文件中加载World
myWorld = (World)Loader.load("/pogoroo.m3g")[0];
getObjects();
setupAspectRatio();
}
catch(Exception e) {
e.printStackTrace();
}
5、从3D世界中获得对象
3D世界已经被加载,目前你必须从中获得各个对象(见列表2).这里,3D世界中有四个对象,此中之一是有关动画(袋鼠在单脚跳)的信息.你可以利用World的find()办法来获得这些对象.
列表2. 从3D World中获得对象
try {
tRoo = (Group) myWorld.find(POGOROO);
tCams = (Group) myWorld.find(CAMERA);
acRoo = (Group) myWorld.find(TRANSFORM);
animRoo = (AnimationController) myWorld.find(ROO);
//获得动画的长度
AnimationTrack track = acRoo.getAnimationTrack(0);
animLength = 1000; // 缺省长度为1秒
if (track != null) {
KeyframeSequence ks = track.getKeyframeSequence();
if (ks != null) animLength = ks.getDuration();
}
}
catch(Exception e) {
e.printStackTrace();
}
以上是“为J2ME开辟移动3D游戏之保存情势[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |