今天我们将学习使用vizard软件开发一个简单的虚拟现实程序。通过这个程序的学习,你能够对vizard软件的使用方法有一个总体的了解。
启动vizard软件,选择菜单“file/new vizard file”,创建一个新的脚本程序。在空白的脚本程序中输入如下代码。其中,第一行代码在所有的vizard程序中都是必需的,它的功能是导入vizard软件开发包,这样我们就可以使用开发包中的接口了。第二行代码利用开发包中的函数“go”创建了一个空白的三维虚拟空间。
import viz
viz.go()
接下来需要保存脚本程序。选择菜单“file→save”,然后将脚本程序命名为“myroom.py”即可。需要注意的是,脚本程序所在目录是该程序的工作目录,它会影响到vizard软件对该程序所使用的多媒体素材的检索方式(参考本章的第三节)。因此,我们需要将所有多媒体资源放在与脚本程序相同的目录下。读者可以从本书电子资源中找到“gettingstarted”文件夹,然后将文件夹中的所有文件拷贝到自己的工作目录中。 2添加三维模型
上一步建立的虚拟场景是一个空白的三维世界,我们需要为其添加三维模型。在脚本编辑窗口中添加两行代码,如下面的粗体文字所示。
import viz
viz.go()
myroom = viz.addchid(\’room.wrl\’)
mylectern = viz.addchild(\’lectern.wrl\’)
在vizard软件中输入上述代码
上述代码为虚拟场景添加了一个教室模型和讲桌模型,它们使用了vizard软件的库函数“viz.addchild()”。上述两个模型被添加到虚拟场景中后,分别被命名为“myroom”和“mylectern”。通常情况下,vizard软件对脚本代码的先后顺序没有特别的限制,尤其对初始化虚拟场景的代码更没有先后顺序的限制。但是,一个特别需要注意的地方是,所有vizard的指令必须出现“viz.go()”指令之后,因为该指令用于启动绘图环境。
至此,就可以运行程序了。在程序运行窗口中,用户可以看到一个教室的场景,在教室的角落里有一个讲桌。具体效果如下图所示。
教室场景
这里有必要介绍一下程序运行时的一些功能键。当vizard程序正在运行时,用户可以点击如下功能键。
(1) f1键:点击该键将显示用户为该程序编写的html格式的帮助文档;再次点击f1键将关闭该文档。
(2) f2键:点击该键将变为全屏显示模式,再次点击该键将恢复到原始窗口大小。
(3) f3键:第一次点击转换为线框显示模式;第二次点击转换为点云显示模式;第三次点击转换为正常显示模式。
(4) f4键:第一次点击显示帧频;第二次点击显示更多的程序运行效率信息;第三次点击恢复正常显示模式。
运行效率显示
在程序运行时,用户可以通过鼠标浏览场景。在浏览时,用户可能会发现虚拟视点能够穿过墙壁来到另一个房间。我们可以打开虚拟视点的碰撞检测功能,从而阻止虚拟视点穿过三维模型。打开碰撞检测功能的代码如下,用户可以将其添加到脚本程序的末尾。
viz.collision(viz.on)
vizard软件内置了一些osg模型,可以按f12打开resooures文件夹查看,用户可以通过上述教程中的代码导入来进行操作和练习(如果你还没有自己准备的模型),赶紧动手试试吧!
ag凯发k8国际的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。