Cult3D基础教程之事件与动作
来源:互联网
现在,想必朋友们已经学会了使用Cult 3D建模和制作三维立体对象的方法,不过很多朋友也许还有疑问,前面的例子中涉及一些3D对象的事件和动作设置,那么在Cult 3D中,还有哪些事件和动作,他们又是该如何使用呢?如何实现功能各异的3D网页对象呢?这正是这次我们将要讨论的话题。对于Cult 3d对象的操作,一般都需要首先为它赋予一个事件,然后再赋予动作,并指向相应的场景对象。
事件类型
Cult 3D通过接收内部和外部事件来实现三维场景、物体的交互性。“事件(Event Map)”窗口左侧列表框中列出了Cult 3D所有的事件类型。
1、World Start
“启动世界”事件是在Cult 3D场景加载初始化后引发,比如执行“File/Add Cult3D Designer File”命令导入一个3D对象后,即可将World Start事件拖放到事件的预览窗口中,这时可以拖放一个动作到此事件上,以实现某种动作,然后在场景窗口(Scene Graph)中将引发事件的物体直接拖放到此事件上,即可完成对象的启动,如图1。
图1
2、World Stop
“停止世界”事件会在卸载Cult 3D场景时引发,比如我们建立一个停止事件,然后给此事件赋予一个复位动作,再在场景窗口中选择一个球体对象,这样当场景复位后即可激发球体对象。
3、World Step
“世界步进”事件在场景运行时可以频繁发生,一般能达到30或15次每秒,此事件主要用于需要时刻监测某状态变化并引发操作的情况。对于需要实时限制和持续发生的事件利用这一事件来调用Java动作完成是极为有效的。
4、Timer
“计时器”事件会在指定的一定时间后引发相应的动作,对于此动作的设置,可以双击该图标,在打开的对话框中进行设置要延迟的时间。
5、Left Mouse Click on Object
“鼠标左键单击”事件必须和一个几何体对象关联,使用方法是,首先建立一个鼠标左键单击事件,然后拖动一个几何体对象到该图标上,再为此单击动作添加一个动作,比如Play sound,这样单击鼠标左键后即可播放相应的音乐了,从而建立了一个完整事件,如图2。
图2
6、Right Mouse Click on Object
“鼠标右键单击”一个物体时会触发相应的动作,需要注重的是,此类鼠标事件不能成组触发,可通过和几何体或其他事件建立关联后触发。在建立此类鼠标事件后,双击其图标,在打开的选择对话框中选择对象后,单击“Add”按钮设置其触发的对象。
其他事件的设置和使用比较简单,大家可以自己完成。
动作类型
Cult 3D为了方便用户使用,设计了一些用来控制场景的动作行为,通过事件来激发动作,并作用与场景中的对象,比如物体或声音对场景对象的控制等。Cult 3D提供了一个“Action”窗口,这里包含了所有的动作类型设置。
调用动作行为的方法是,首先在“Event Map”窗口放置好引发行为的事件图标,比如“启动世界”事件,再拖动要执行的动作到该事件上,最后再在场景对象窗口中拖动对象到动作上,完成后就可以双击动作图标设置参数了。
1、Object Motion
在这个分支中,可以对物体和摄像机进行变换操作。比如“Reset”动作可以重置一个物体的移动和旋转到初始位置;“Arcball”动作可以在窗口中拖动鼠标时旋转或移动物体,在这里可以设置鼠标特定键的功能,旋转轴或移动方向,缺省是左键旋转物体,右键拉远、拉近物体,两键同时按下移动物体。假如该动作对象是摄像机时能实现控制视图的导航。
2、Vertex-level Animation
Vertex Animation Play动作可以播放物体在三维程序中建立的节点动画。
Vertex Animation JumpTo动作播放到特定时间点位置的节点动画。当持续时间为0时是跳跃到该时间状态,当持续时间大于0时是建立到该时间点状态的变形动画。
3、Worlds
Load world用于加载一个3D场景。
Unload world用于卸载一个3D场景。
Hide/Unhide world用于隐藏或显示一个3D场景。
4、Connection
Load URL可打开一个URL地址。
Load CO可以从一个URL地址载入Cult 3D co文件。
5、Event
Trigger Event用行为引发一个事件,主要用于引发自定义事件,只有当事件处于reset状态才能引发。
Reset Event重置一个事件到reset状态。
Cult 3D将动作分为10种类型,每个动作都可以在其属性窗口中进行相关的设置,比如“Arcball”动作,双击即可进其属性窗口,如图3所示,在这里可以设置对象的旋转方向以及其他参数设置,可以根据自己的实际需要进行相关设置。
图3
好了,今天就说到这里,Cult 3D之所以能够设计出那么多丰富3D网页,与其强大的功能是分不开的,假如要熟练使用,还需要不断练习、细心体会,下次我们就要一起输出一个3D网页。