WEB开发网
开发学院软件开发Java 导出M3G文件指南 阅读

导出M3G文件指南

 2007-12-23 12:33:53 来源:WEB开发网   
核心提示: 概述: 这个文档罗列了一些我们在开发3D模型和使用M3G作为最终输出模型时需要注意的一些问题,注意本指南中讨论的时使用的是3DMax为3D的建模工具,导出M3G文件指南, 1. 通常的问题:a) 如果你想你的应用程序能够运行一个任意的适合M3G的引擎,那们就不要使用任何额外的扩展接口,d) 使用时间槽控制器时,
 

概述:

    这个文档罗列了一些我们在开发3D模型和使用M3G作为最终输出模型时需要注意的一些问题。注意本指南中讨论的时使用的是3DMax为3D的建模工具。

 

1.  通常的问题:

a)    如果你想你的应用程序能够运行一个任意的适合M3G的引擎,那们就不要使用任何额外的扩展接口。当不确定某一接口是否可用时,可以参考在http://www.forum.nokia.com的文档(JSR184)。

b)    文件打算生成一个java压缩文件(JAR)或者普通的压缩文件时应当非压缩地导出。在程序开始时,解压同样数据两次会使程序变慢,并且相当关键地是增加内存的消耗。

c)     我们在代码中需要存取的那些对象需要有唯一的UserID值。

 

2.  摄像机

a)     手动设置摄像机的剪切框。

b)     尽可能的从零点移动近的剪切框。

c)     移动远的剪切框时,尽可能的接近近的剪切框。

d)     确保在场景中至少有一个可用的摄像机。

e)     如果使用了多个摄像机,确保在输出时至少其中的一个是可用的。

 


3.  几何学

a)     使用更好的表面纹理细节代替几何的贴图(译者注:尽量减少多边形个数)。

b)     确保无论在任何地方,网格都是实例的。

c)     删除所有不必要的顶点和多边形。

d)     不用在屏幕上不被显示的比较小的多边形。

e)     避免同一平面多边形彼此覆盖,举个例子使用二进制运算符将这些多边形连成不互相覆盖的多边形

f)     对于减少多边形的个数,使用相交的几何图形优于合并过的多变形。然而,注意过深的相交几何也增加了光栅化的负荷。在所有的接口中相交多边形可能不是抗锯齿(anti-aliased)

g)     确认所有的物体形状都已经被重新设置,尽可能多的让一些形状被设置成唯一的矩阵。

h)     单一的蒙皮网格可能比使用多等级的物体处理速度快,这依赖于接口和向量数组的宽度。

i)      在实时的光线渲染时,表面的法线向量是必须的。

 

4.  光线

a)     为了使光线看起来比较好,物体通常被分割(分割多边形)。

b)     只渲染那些需要光线的物体,因为光线计算十分耗费资源。

c)     光线映射在很多情况下是比较快和效果十分好的,相对于实时的光线操作。

d)     在同一个物体上使用光线映射和散射映射时,请确定你的目标硬件设备是否支持多贴图(所有的Nokia都支持)。


e)     如果可能,尽量使用方向灯光而不是点光源。

f)     天空光源(环境光源),面光源,和其他的更高级的光源是不支持的。

g)     动态阴影是不支持的,可以使用贴图映射的方式显示阴影效果。

h)     方向光照不能被消减和限制成一个锥体(相当于使用点光源)。

i)      在场景中不要使用多于一两个光源,如果你想使用更多,那们在你的程序中使用屏蔽和列表的方式,在需要光照的物体上分别使用不同的光源。

j)      如果你的程序想在所有的接口上使用,在任何物体上都不要使用超过8个的虚拟光源。

 

5.  表现和贴图

a)     保持贴图尽可能的消以节省内存。

b)     确保如果使用一种以上的材质素材时图片是实例化的。

c)     使用透明(Alpha)或亮度(Luminance)的格式代替使用RGB或RGBA的格式。

d)     使用压缩的象素格式代替原始的RGB或RGBA格式。

e)     不要使用低于16×16的调色板。

f)     如果使所有的设备都能够运行你的程序,那么贴图的大小不能超过256×256。而且长和宽都必须使2的幂(1、2、4、8、16、32、64、128或256),但不要求相同。

g)     在任何可能的地方,使用Compositing = REPLACE和Texture Blending = REPLACE模式,以减少每个象素点的计算。


h)     如果你使用1位alpha(就是透明绘制),总是使用Texture Blending = RPLACE的Alpha Threshold是0.5的贴图,这比使用Texturing Blending = ALPHA快的多。

i)      在你导出文件时,删除掉你不用的所有的数据,包括向量颜色或贴图坐标等,这样可以节省文件的大小和内存。

j)      如果可能使用8位的贴图坐标而不是16位的。

k)     对于背景的贴图必须是RGB格式的,除非你使用Image2D创建场景可以使用RGBA格式。

 

6.  动画

a)     删除所有不必要的帧。

b)     针对于较快的处理速度使用线性的帧,对于要长时间播放使用时间槽方式。

c)     旋转时使用时间槽控制器,以减少帧数。

d)     使用时间槽控制器时,确保所有输入输出设置都是相同的。

e)     在骨骼上不要使用没有定义的比例尺

f)  所有运动目标必须有相同的时间键数字。

(出处:http://www.cncms.com)


Tags:导出 MG 文件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接