论文无忧 | 论文发表 | 手机版 | 二维码

《新闻界》杂志
本刊往期
您当前的位置:首页 杂志文章 基于手机JAVA运行平台的M3G角色制作探究
基于手机JAVA运行平台的M3G角色制作探究_杂志文章
基于手机JAVA运行平台的M3G角色制作探究
发布时间:2018-04-23浏览次数:262返回列表

乔凤天

(浙江传媒学院,杭州310018)摘要本文研究了基于手机Java平台的M3G格式的三维角色制作流程,通过这种方法,手机三维动画设计人员可以更加高效地制作适用于手机平台的三维动画角色,并可以达到较为逼真的动画效果。关键词手机动画三维角色贴图中图分类号G206文献标识码A

随着3G网络在国内的全面铺开,网络传输速度不断提升,服务内容不断推陈出新已使得手机成为越来越强大的用户通讯终端。智能手机的处理器频率日益提升,手机画面质量日益改善,也使得手机游戏用户的数量持续激增。据iResearch艾瑞市场咨询的数据显示[来自wWw.lW5u.Com],全球手机游戏市场用户规模已从2005年的2.9亿增至2008年的10.3亿,市场收入将从2005年的102亿美元增加到2008年的520亿美元。易观国际统计结果表明,2008年中国手机游戏总体市场规模达13.65亿,与去年同期相比增长75.22%。其中JAVA市场占比72%.BREW市场占比28%。

尤其近年来随着高端手机的降价和普及,以及手机3D图形技术的发展,现在很多手机里都已经内置了3D图像引擎,新一代手机也将提供了涵盖从先进的移动游戏到3D用户界面等方面的服务,在手机上提供高质量的3D体验正变得越来越重要。手机3D显示性能的增强将推动手机3D游戏的普及,也将在未来改变手持游戏玩家的消费习惯。

手机游戏也将会和电脑游戏一样将由2D游戏逐步向3D游戏过度,这将是整个手机游戏的发展趋势,这和PC单机游戏市场以及网络游戏市场非常相似。但是,手机毕竟不是专门为游戏玩家开发专业的掌上游戏机,手机3D游戏曾经面临一系列技术挑战。例如,独立手机3D图形芯片不可避免的体积、发热、能耗等问题;手机显示屏像素小而在使用过程中与人眼距离的变化范围大,需要比PC显示器更高的分辨率;手机的内存容量与处理器速度问题会限制纹理与采样率等等。因此,手机3D相关技术的开发应用不能完全照搬PC上的处理模式,手机应用领域的研发经验显得更为关键。

与此同时,像高通这样在手机芯片领域的领导厂商不断加强手机芯片对3D图形应用的支持,使手机完全可以呈现以往仅属于PC平台的视觉效果。摩托罗拉、诺基亚、索尼、爱立信,为了能在手机3D领域占的一得之地,都竞相开发移动JAVA 3D网部分。这种JAVA 3D所能支持的3D模型格式叫M3G.那么M3G又是怎样的一种文件格式呢?‘

JAVA 3D的应用开发程序叫做JSR 184,JSR 184标准又有自己的格式,就称为M3G。这种格式可以保存大量数据,例如,模型、灯光、三维摄影机、纹理贴图、甚至动画。非均匀是这个格式最大的好处,它能容易的装载入你的应用程序。M3G格式对于长期从事影视动画制作的人员相对比较陌生,但随着手机JAVA 3D的迅速普及,影视动画制作人员将如何快速、高效地制作出优秀的M3G模型?本文将结合具体的制作实例,对上述问题进行探讨。

一、建模工具与M3G格式输出

目前,主流的3D建模程序如3DSMAX、LightWave、Maya等都能完成用于M3G的模型制作。但M3G格式的输出就没有那么容易了,目前通用的3D建模程序还没有对M3G格式的输出有很好的支持,大都需要第三方插件的帮助。这里将着重介绍Maya和3DSMAX的M3G格式输出的方法。

l.Maya的M3G格式输出

多用于影视特效、动画制作的三维程序Maya,还没有提供自身程序所支持的M3G输出及输入格式。本例中将借助KISHONM公司的M3GExport插件对Maya所制作的模型进行输出。

M3GExport插件是目前为Maya提供M3G输出格式中较为优秀的第三方插件,可以支持从Maya5.0到8.5版本的使用,它不仅能保证模型输出的完整性,还提供了动画输出、3D烟雾输出、多层贴图输出、顶点着色输出、透明材质输出、以及高级用户ID指定。(参见图1.1)首先在Maya先制作好所需要输出的3D模型,然后用户就可以按自己所需设置输出选项了,设置好后即可点击Export All或Apply进行M3G格式输出。

M3G格式是无法用一般的看图程序或浏览器打开,这

里推荐使用M3GViewer4.OE来进行观看

通过M3GExport插件输出的Maya模型,

(参见图1.2)M3GViewer4.OE不仅可以

查看静态的模型,也可以查看输出的动

画。

其操作非常简洁,很容易上

手。这里就不做详细介绍了。

另外HI Corp公司的H3T

Exporter for Maya Ver.2.0也可以

实现Maya中M3G格式的输出,

但是其格式是H3T,这需要使用

软件包M3GConverter2.0把H3T

格式转换为M3G格式。

2.3DS.MAX的M3G格式输

3DSMAX9、2008、2009等版

本都支持M3G格式输出,在文件

菜单中点击导出,就能在对话框

中选择导出M3G文件里的所有

场面,动画,骨架,材质等。然而,众所周知很多复杂模型直接通过3DSMAX的导出都很容易

产生问题,无论是法线方向,坐

标,三角面等各种细节有一丝

不慎,就直接影响输出模型的

完整性和兼容性。因此推荐使

用 HI Corp 公 司 的

H3TExporter_Max _verl.3插

件。(参见图1.3.1.4)

制作流程上与正常影视动

画制作流程相类似,模型首先需要在3DSMAX中先制作好,在输出的时候,选择通过H3TExporter_Max_verl.3进行输出,得到H3T格式,然后再通过M3GConverter2.0把H3T格式转换为M3G格式。在H3TExporteF_Max_verl.3的输出设置中需要着重注意三维

坐标比例、贴图质量设

置、和场景灯光设置,

这些设置将直接影响

到M3G模型在Java运

行程序中的成像质

量。(参见图1.5,1.6)

(注:图1.5中是H3TExporter_Max_verl.3成功输出后,显示的模型信息,其中主要包含模型名称、模型顶点数、模型三角面数、和贴图信息)

另外,需要注意的就是制作模型场景的单位问题,因为3DSMAX总是为普通单位保持缩放,这需要在模型导出时注意与Mascot的比例关系,3DSMAX的单位在制作之前需选择基于使用大小的单位,常用的单位可以选择英寸与厘米等,具体的数值需要进行相应的测试。

还有一个问题就是顶点的缩放.3DSMAX中缩放工具和旋转工具是非常常[来自WwW.lW5u.com]用的工具,一般动画或游戏模型制作人员都习惯用缩放工具去放缩物体的大小。但是注意缩放工具并不会影响到物体的顶点。因为3DSMAX的缩放是应,用缩放到一个网格的转换矩阵上,这意味着如果你将物体缩放了10倍并导出,这个网格顶点坐标仍然是原来的l倍,只是附加了缩放应用到转换矩阵上。因此当我们对物体进行旋转和缩放的操作时,在3DSMAX中看起来是正常的,但一旦应用到手机游戏中就会产生模型的混乱。

解决方案是不要在模型网格上使用缩放工具,而应该进入点层级,直接针对顶点进行放缩。如果已经在模型网格上进行了放缩,应该用3DSMAX的“Utilities tab”面板下的“Reset Xform”工具,“Reset Xform”将设置旋转/平移矩阵至单位矩阵“冻结”顶点当前位置,其结果可在放缩工具上右键得到,XYZ三轴的显示百分比均为100%.即可避免上述问题的存在。Reset Xform工具在重置放缩参数的同时,也将重置旋转参数,并且将模型网格的顶点旋转至能与世界坐标相匹配,将旋转参数重置为00。

二、M3G模型制作标准

1.M3G模型的建模及优化

M3G模型的建模要求基本与游戏建模类似,都是要做到模型面数的高效精简,M3G模型主要是用于手机3D交互游戏,因而要保证游戏的运行速度,一般来说手机3D动画的播放速度是15帧,秒,因此具体的多边形面数的控制,需要结合具体的制作项目而定(一般会对应的参照同等要求的游戏模型制作要求),本人所进行的是用于面部表情的M3G模型的制作,因此需要人物面部保持一定的变化细节,因而把多边形面数控制在2000左右,经过测试可以达到很好的效果。但是M3G模型的建模要求基本与游戏建模也有不同,主要的不同点是.M3G模型的布线要更为均匀,最好呈连续四边形,不要有三角面、五边面的出现。(参见图2.1)

目前在手机3D人物面部交互游戏中,Java程序的生成原理是基于Blend的混合插值变形,这与在三维软件中制作角色面部动画的原理是一样的。这就意味着模型必须具有相同的顶点数、多边形面数。也就是基于同一个Mesh进行变形。就连最后的模型合并也必须要保证相同的物体合并顺序,否则会因为输出模型的多边形顶点的无法一一对应,而造成模型面部的完全或部分破损。(参见图2.2)

图2.2中模型的面部破损的主要原因就是在M3G模型的输出过程中没有保证模型多边形面数的一致所造成。

另外,在M3G模型减面的过程中,一定不要使用诸如PolygonCruncher这样的减面插件,

因为这类插件的减面是基于对Mesh多边形分布来进行删减,这就必然造成模型在变形过程中的严重破损。

(参见图2.3)

2.2 M3G模型的贴图制作

在JSR-184中所有的材质的尺寸必须是2^n x 2^n(2的n次方)(如32x32,128x64)。在贴图的制作中建议最大的尺寸是256x256(长宽为256的材质通常是最大的限制当它们加载进内存中)。如果材质有不同的属性,如alpha通道(透明),我们应该为每个的模式用不同的材质。对于UV.3DSMAX将其限制在O.Of至l.Of的范围之间(这是一个围绕在材质周围的蓝色的正方形在unwrap UVW中)。也就是说在贴图的制作过程中必须要保证uv贴图在O.Of至l.Of的范

围之间。

由于贴图尺寸的限制,

因而在贴图制作中要特别

注意贴图细节的处理,尤其

在需要模型达到较高的真

实度时,就尤为重要,因为

贴图是实现真实度的最重

要的技术手段。∞这里推荐

使用照片建模技术,在贴图

环节则主要体现为从实拍

照片中提取贴图素材,增加

表面细节。这需要有充分

为的耐心和贴图制作经 三、M3G模型的检测 这一部分工作主要由编成程序员和工程师进行。 在三维软件中看起来完善的模型,一旦经过输出,转格式,就有可能产生很多问题,诸如三角面与多边面,焊接点,物体交叉,布尔运算等都很容易使得看上去很美的模型在输出后产生破坏。当遇到模型显示出现缝隙或有贴图破损等情况,主要是由于在三维中模型接缝的焊合点在程序中的表述出现不对等。需要与模型制作人员或游戏美工,进行沟通,共同解决。(图2.5)

随着手机3D引擎技术的不断发展。手机3D图像化不仅改变了人们的通信习惯,还给受众带来了前所未有的移动虚幻体验。经过与摩托罗拉中国区手机3D研发团队的反复测试与研究,在M3G模型研发上积累了一点经验。希望抛本文之砖引中国M3G研发之玉。让中国人在不远的将来真正体验到手机3D的移动虚拟之乐。

注释① 【美】安东尼·沃德(Antony Ward): KMaya游戏角色制作完全攻

略》,中国电力出版社,2006年版,第247页.

您对《基于手机JAVA运行平台的M3G角色制作探究》一文的评论