今天我们将学习使用Vizard软件开发一个简单的虚拟现实程序。通过这个程序的学习,你能够对Vizard软件的使用方法有一个总体的了解。
1 创建脚本程序启动Vizard软件,选择菜单“File/New Vizard File”,创建一个新的脚本程序。在空白的脚本程序中输入如下代码。其中,第一行代码在所有的Vizard程序中都是必需的,它的功能是导入Vizard软件开发包,这样我们就可以使用开发包中的接口了。第二行代码利用开发包中的函数“go”创建了一个空白的三维虚拟空间。
import viz
viz.go()
接下来需要保存脚本程序。选择菜单“File→Save”,然后将脚本程序命名为“myroom.py”即可。需要注意的是,脚本程序所在目录是该程序的工作目录,它会影响到Vizard软件对该程序所使用的多媒体素材的检索方式(参考本章的第三节)。因此,我们需要将所有多媒体资源放在与脚本程序相同的目录下。读者可以从本书电子资源中找到“gettingstarted”文件夹,然后将文件夹中的所有文件拷贝到自己的工作目录中。 2添加三维模型
在Vizard软件中输入上述代码
上述代码为虚拟场景添加了一个教室模型和讲桌模型,它们使用了Vizard软件的库函数“viz.addChild()”。上述两个模型被添加到虚拟场景中后,分别被命名为“myroom”和“mylectern”。通常情况下,Vizard软件对脚本代码的先后顺序没有特别的限制,尤其对初始化虚拟场景的代码更没有先后顺序的限制。但是,一个特别需要注意的地方是,所有Vizard的指令必须出现“viz.go()”指令之后,因为该指令用于启动绘图环境。
至此,就可以运行程序了。在程序运行窗口中,用户可以看到一个教室的场景,在教室的角落里有一个讲桌。具体效果如下图所示。
教室场景
3Vizard运行时的功能键这里有必要介绍一下程序运行时的一些功能键。当Vizard程序正在运行时,用户可以点击如下功能键。
(1) F1键:点击该键将显示用户为该程序编写的HTML格式的帮助文档;再次点击F1键将关闭该文档。
(2) F2键:点击该键将变为全屏显示模式,再次点击该键将恢复到原始窗口大小。
(3) F3键:第一次点击转换为线框显示模式;第二次点击转换为点云显示模式;第三次点击转换为正常显示模式。
(4) F4键:第一次点击显示帧频;第二次点击显示更多的程序运行效率信息;第三次点击恢复正常显示模式。
运行效率显示
在程序运行时,用户可以通过鼠标浏览场景。在浏览时,用户可能会发现虚拟视点能够穿过墙壁来到另一个房间。我们可以打开虚拟视点的碰撞检测功能,从而阻止虚拟视点穿过三维模型。打开碰撞检测功能的代码如下,用户可以将其添加到脚本程序的末尾。
viz.collision(viz.ON)
Vizard软件内置了一些OSG模型,可以按F12打开resooures文件夹查看,用户可以通过上述教程中的代码导入来进行操作和练习(如果你还没有自己准备的模型),赶紧动手试试吧!
,