什么是Cult3D?
最近一段时间Flash等网上互动媒体技术得到了非常迅猛的发展,一时间充斥了我们的视野,成为网络界人士必须了解、掌握的知识。与此同时,另一类值得关注的技术也在不声不响地发展着,而且也已经取得了很大的成就,这就是网上3D技术。也许你曾经听说过VRML,但是由于一些技术上的原因,它已经不再是主流,而且与网上矢量动画领域中Flash的标准统一少数垄断的情况形成鲜明对比的是:众多网上3D厂商纷纷独立开发自己的技术,使这一领域中还没有一个明确的技术标准;这虽然给技术推广、插件的普及带来了不利的影响,却也因各家厂商竞争激烈,呈现出一派高速发展的景象。在此我们将陆续介绍一些最有实力、最有前途的网上3D技术,希望能够帮助你了解互动媒体技术领域内这块非常重要的内容。
这次我为大家介绍的是Cult3D.什么是Cult3D,让我这样来解释它:它是一种跨平台的3D渲染引擎,它使普通个人电脑和笔记本的用户可以看到以往只有在高端工作站上才能看到了精细的实时渲染的效果,甚至可以在完全没有硬件加速的情况正常的使用;Cult3D高效的压缩技术使用户可以通过因特网来访问Cult3D的内容,而且文件量的大小是普通拨号上网的用户也完全可以接受的Cult3D具有很好的跨平台效能,它支持目前主流的各种浏览器、从PC到苹果的各种机型和包括UNIX、LINUX、WINDOWS在内的各种常用操作系统;它的另一个吸引人的地方是可以作为元素插入到Word和Acrobat等文档中使用。一个Cult3D的例子(图1)
前面说了这么多,看起来好象是Cult3D的广告,不过从我自己使用的感觉来看,Cult3D的开发环境是目前众多网络3D技术中最友好、最容易上手的,你可以非常轻松地开发出具有交互功能的Cult3D物件。这就让我们开始进入Cult3D的网上三维世界吧。
准备工作
Cult3D技术由以下三个方面的内容组成
1、 Cult3D Viewer Plug-in,它使用户可以在网上浏览Cult3D的物件;
2、 Cult3D Exporter Plug-in,它是用户从3D图形设计软件中把模型输出为Cult3D所需文件的工具;
3、 Cult3D Designer,它是Cult3D的主要开发工具,我们就是利用这个工具把从Cult3D Exporter 中导出的数据开发成为一个具有交互性、声音和动画的文件。
(这些工具都可以从http://www.cult3d.com/上面下载。)
Cult3D的开发流程可以分为以下的步骤:
1) 在3D建模软件中载入或创建3D模型。
2) 将编辑完成的模型通过Cult3D Ex-porter插件输出为一个Cult3D Designer文件。
3) 将上一步生成的Cult3D Designer 编辑器中。(图4)
4) 给对象加上各种事件、行为。
5) 将Cult3D Designer 中的编辑状态保存为一个Cult3D Project 文件,用来记录当前的编辑状态以便下一次继续编辑。
6) 如果需要的话,重复上面的3-5步。
7) 当对象编辑完成以后,将它输出为一个Cult3D Player文件,这个文件是经过压缩的,可以用于在网上发布。(图5)
8) 发布Cult3D Player文件,将嵌入到Word、PowerPoint、Acrobat 文件中或者插入到Html文件中在网上发布。
Cult3D的详细开发文档和软件使用说明可以在下面的地址下载,这里我就不再细述了,大家有兴趣的话可以自己去研究。(Cult3D的开发者中心http://www.cult3d.com/design-ers/index.html)
自己动手做一个
终于到了最精彩的部分,让大家久等了——
这是一个很简单的例子,但是却演示了Cult3D中许多优秀的功能。大家可以看到这是一个摩托车的模型,可以用鼠标和键盘来控制,启动后还具有非常逼真的音效和烟雾。下面就让我们来一步步地完成这个Cult3D的作品吧。
首先我们要获得前面提到的3个工具:Cult3D Viewer plug-in、Cult3D Exporter plug-in、Cult3D Designer;并且都正确安装。
Step 1)创建3D模型
在3DMAX中载入一个摩托车的模型,为了让它可以方便地在Cult3D中实现各种运动,我把可能需要运动的部分都分别编组,比如前后车轮和摩托车整体,Cult3D中可以辨认出这种层级的编组方式,为了让车轮可以正确地转动,我特别设置了两个车轮的坐标中心和坐标轴。
当你对3D模型的编辑都已经完成,就可以输出了。
Step2) 输出Cult3D Designer 文件
如果你已经正确安装了Cult3D Exporter plug-in for 3DMAX,那么你就可以在3DMAX的export选项中看到 *.C3D这种格式。现在我们就把文件按照这种格式输出。(图7)Cult3D Exporter plug-in 的运行界面。
在这里你可以对要输出的模型、材质、贴图进行最后的设置,为了减少文件量,我把模型的多边形数目由2万多监守为8000个,按下Viewer按钮可以预览输出后的模型,质量还可以接受,应用这种设置然后选择保存。
Step3)在Cult3D Designer 中进行编辑
运行Cult3D Designer程序,载入刚才输出的文件。
(图8)Cult3D Designer的界面
看到这么多的窗口是不是觉得有些发怵,不用担心,其实这非常简单。Cult3D的编辑方法是面向对象的,而且完全不用你手写编程,仅用简单的鼠标拖拽就可以开发出具有复杂效果的文件。基本操作是在 Event map窗口完成的,我们需要做的就是把各个事件、对象、动作拖拽到这个窗口上再相互联系起来就可以了。
首先,我们在事件列表选择World Start事件,对整个场景做初始化,把它拖拽到Event map里生成一个叫做Event-1的事件在动作列表里选择Object motion > Arcball并把它拖拽Event-1上面,它就和Event-1连接起来;接着在对象树里选择代表摩托车模型的对象moto把它拖拽到Event map中的Arcball图标上,这样一个最简单的流程就完成了。(图9)Event map窗口
你可以在预览窗口中运行这个程序,你会发现你已经可以用鼠标控制观察摩托车的3D模型了。其实Cult3D中的所有编辑过程基本上都是以上面的流程为基础的,选定—拖拽—连接,就搞定了,是不是很容易啊?
现在你可能需要保存一下编辑状态,选择File > Save project,注意现在保存的这个*.C3P文件只是用来记录当前编辑状态的,你可以载入这个文件继续编辑,它是不能用作网上发布的。
接下来,我想让车轮动起来,选择键盘事件Keyboard’s key press,设置为UP箭头触发,动作为Rotation XYZ,对象为车前轮(Object树中选择)。对Rotation XYZ事件做如下设置。(图10)转动车轮的事件。设置Rotation XYZ。
现在我们再来预览一下,按下UP箭头以后,就会看到车轮转动起来了哦。我们可以用同样的方式设置车后轮的转动和车的前进停止。
下面让我们来给摩托车加点声音。
先找两段摩托车的音效,我用的是Wave格式的。在Scene Graph窗口的Sounds选项上点右键,选择Sounds > new > sound,把音效导入到Cult3D Designer编辑器中。接下来就可以用上面同样的方法来触发播放声音的事件。选择Scene graph窗口中Sounds选项下刚刚导入的音效run把它拖拽到Event map上,用刚才触发车轮转动的事件来触发动作Sound > play sound。(图12)播放声音的事件
设置Play sound
现在当我们按下UP箭头以后,就可以看到摩托车开始运动。同时可以听到摩托车运转的声音。用同样的方法,我们可以控制当松开UP箭头以后,停止播放摩托车运转的声音,并播放一次摩托车熄火的声音,呵呵,我们的摩托车越来越逼真了。
看来看去,总觉得还缺点什么,对了,我们的摩托车实在太环保了,一点烟雾都没有的,这样的摩托车也许还要再等上十年才有啊。所以我们这辆还是先加上点烟雾吧。这里我们将用到Cult3D 的另一个特性—粒子系统,Cult3D内建了一个粒子系统,我们可以用它来模拟烟雾、火焰等效果。
首先,我们要把粒子系统安装在摩托车的喷气口处,在object树里找到代表气筒的部件,在上面点击右键选择New > Particle sys-tem。将这两个粒子系统拖拽到Event map上,利用刚才建好的“按下UP键”事件触发动作particle system > start particle emission。(图15)触发粒子系统
为了让烟雾看起来更真实,我们需要对粒子系统进行设置。选择粒子系统的Detail将它进行如下的设置:(图16)设置粒子系统的参数
step 4) 输出为Cult3D player文件
好了,现在就可以输出了,执行File > save internet file,输出为一个扩展名为co的文件,这个文件中将包含用到的所有模型,声音等元素。同时我们可以在这里运行最后的压缩处理。(图17)输出时的压缩设置
step 5) 插入到网页中
我们需要在页面中置入这样一段代码,把Cult3D Player文件嵌入到页面中