利用VRML设计交互的三维室内漫游场景
利用3dmaxs建模
首先,利用3dmaxs或其他的建模工具建模。这里建的模很简单,因为小文件方便调试,示例中的文件大小在240k左右,20M以上开始会运行缓慢。
也可以利用其他建模工具,我尝试过用c4d,但是c4d会出现导入后模型没有颜色以及灯光过亮的情况。
建完模后,放置摄像头在合适的位置,示例中放置在两个门口。只有有摄像头才不用在VRML编辑器中手动打入视点代码。
命名好你要做交互的物体的名称,以免导进编辑器后找不到。
导出格式为wrl,就可以拖进VRMLPad里就可以编辑了。
导进去后通过场景树很容易找到自己想要编辑的物体,因为场景简单,处理要做交互处理的物体外,其他的物体我没有去命名它。
VRMLPad里编辑代码
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- PlaneSensor传感器 ;
- PositionInterpolator插补器,实现茶壶/椅子等的移动;
- OrientationInterpolator插补器,实现门的旋转开与关;
- 利用VRML的脚本节点(Script node)完成开灯关灯的交互设计;
对于比较简单的动画,使用内插器可以完成。内插器接受到一个事件后,使用其域中的预先定义的事件值和数据,计算出一个新值并向场景发送。但是对于比较复杂的动画,如在特定条件下数据发生变化的,这时内插器就很难实现。为了弥补VRML中的缺陷,VRML提供了与外部程序(如JAVA,JavaScript等)接口的脚本节点(Script Node)。利用脚本节点可以构建复杂的实时交互行为动画。 - 插入视频,播放电视的交互效果;
视频文件应当和wrl文件放置在同一个文件夹中。
- intensity调节灯光强度;
DEF Omni001-64 PointLight {
intensity 1.5
color 1 1 1
location 13.81 89.03 60.89
on TRUE
radius 203.1
}
完成代码后就可以实现简单的交互了。运行后可以看见,通过右击-“视点”,可以选择你在建模时加入的摄像机。
上过几节没认真听的课后临时搞出来的作业
欢迎大佬指点