Cult3d技术综合篇 - Cult3D
在scene graph栏有一个名为root nude的子项,里面是全部物体(包括系统默认的摄像机和使用者自己设立的摄像机——camera01.02.03.....,有一点需要强调:一定要给物体建立层级关系,可能在max或其他建模软件中使用者已经给场景建立了层级关系,在root nude中显示为左图的形势——color105是父级,后边的是子级,这样才能建立动画。想要自行定义层级关系只需拖动物体到相应的父级物体上就成为了它的一个子物体。
本例用到action栏中object motion子项中的Rotation XYZ、Translation XYZ和event子项中的activate event、Deactivate event。前两个无须解释,后两个可以这样理解:这是一种特殊的事件,它使得特定的事件具有“条件触发性”,比如要控制观看者的操作,要让其点击鼠标后才能按键盘上的某个按键,就得用到他俩了。
请大家自行参阅我提供的helloworld.c3p文件,里面包括了所有物体和事件的属性。下图为设置好的event map(连线代表已经建立关联)
全部制作完毕,就可以打包输出了。选file/save internat file,全部使用默认设置(在html选项卡中可以将save a simple html for this前面勾去取掉,不用生成这个垃圾文件)。
第三步:在网页中调用(推荐安装cult3d for dreamweaver 插件)
如果再上一步结尾选择生成一个简单的html文件,那么直接双击它就能看到作品了(当然得安装cult3d IE viewer)。
如果已安装cult3d for dreamweaver 插件,那么在dreamweaver的insert项中就会多出一个“cult3d”选项,然后就选择输出好的.co文件,在dreamweaver的designer view版面中,cult3d的场景显示为activeX控件,点击它会出现属性设置:
其中有重要的抗锯齿选项(最右边),选为enable则开启,默认是关闭。注意!开启抗锯齿后会大幅度降低观看速度(和3d游戏中一样)。除长宽外其他的属性不要修改。 如果想要自己在html文件中加
调用.co文件的代码,如下(建议将.co文件拷贝到html文件同级目录)
cult3d的方便之处在于它易于上手,使用者只需具备建模和designer的基本使用常识便可以制作web3d场景。而且有了它为dreamweaver开发的插件后,在网页中调用也成了举手之劳。
但是这只是cult3d强大的处理能力的十分之一!下面是一个结合了java编写的处理材质透明度变化的class文件的场景:
这是cult3d的java action窗口(view/java action),点击“add”选择相应的class文件,就可以将编译好的class文件引入场景中来。
可以把“mouseClick”这个方法拖动到场景event map中来,系统以一个java的“茶杯”图标显示
可以把任何事件连接到这个方法上来(但是在class中需要声明相应的接口,关于java class for cult3d 的编写我会在下一篇文章中详细介绍
这样做的好不言而喻——designer再强大,它提供的事件也是极为有限的(在材质和贴图的处理上尤为匮乏),很多情况下,我们需要自己编写所需要的方法(其实designer中的一切事件都是用java编写,固化到界面中去的!),结合了java,cult3d的扩展性是很强大的。
可以说,cult3d激发了很多网页设计师的创作灵感,使他们不拘泥于现有工具;也给很多java程序员注入了新鲜的血液,让他们在更广泛的领域内应用这门语言。