零基础学VR开发:一个简单的Vizard开发实例(vr开发入门)

今天我们将学习使用Vizard软件开发一个简单的虚拟现实程序。通过这个程序的学习,你能够对Vizard软件的使用方法有一个总体的了解。

1 创建脚本程序

启动Vizard软件,选择菜单“File/New Vizard File”,创建一个新的脚本程序。在空白的脚本程序中输入如下代码。其中,第一行代码在所有的Vizard程序中都是必需的,它的功能是导入Vizard软件开发包,这样我们就可以使用开发包中的接口了。第二行代码利用开发包中的函数“go”创建了一个空白的三维虚拟空间。

import viz

viz.go()

零基础学VR开发:一个简单的Vizard开发实例(vr开发入门)

接下来需要保存脚本程序。选择菜单“File→Save”,然后将脚本程序命名为“myroom.py”即可。需要注意的是,脚本程序所在目录是该程序的工作目录,它会影响到Vizard软件对该程序所使用的多媒体素材的检索方式(参考本章的第三节)。因此,我们需要将所有多媒体资源放在与脚本程序相同的目录下。读者可以从本书电子资源中找到“gettingstarted”文件夹,然后将文件夹中的所有文件拷贝到自己的工作目录中。 2添加三维模型

上一步建立的虚拟场景是一个空白的三维世界,我们需要为其添加三维模型。在脚本编辑窗口中添加两行代码,如下面的粗体文字所示。

import viz

viz.go()

myroom = viz.addChid(\’room.WRL\’)

mylectern = viz.addChild(\’lectern.wrl\’)

零基础学VR开发:一个简单的Vizard开发实例(vr开发入门)

在Vizard软件中输入上述代码

上述代码为虚拟场景添加了一个教室模型和讲桌模型,它们使用了Vizard软件的库函数“viz.addChild()”。上述两个模型被添加到虚拟场景中后,分别被命名为“myroom”和“mylectern”。通常情况下,Vizard软件对脚本代码的先后顺序没有特别的限制,尤其对初始化虚拟场景的代码更没有先后顺序的限制。但是,一个特别需要注意的地方是,所有Vizard的指令必须出现“viz.go()”指令之后,因为该指令用于启动绘图环境。

至此,就可以运行程序了。在程序运行窗口中,用户可以看到一个教室的场景,在教室的角落里有一个讲桌。具体效果如下图所示。

零基础学VR开发:一个简单的Vizard开发实例(vr开发入门)

教室场景

3Vizard运行时的功能键

这里有必要介绍一下程序运行时的一些功能键。当Vizard程序正在运行时,用户可以点击如下功能键。

(1) F1键:点击该键将显示用户为该程序编写的HTML格式的帮助文档;再次点击F1键将关闭该文档。

(2) F2键:点击该键将变为全屏显示模式,再次点击该键将恢复到原始窗口大小。

(3) F3键:第一次点击转换为线框显示模式;第二次点击转换为点云显示模式;第三次点击转换为正常显示模式。

(4) F4键:第一次点击显示帧频;第二次点击显示更多的程序运行效率信息;第三次点击恢复正常显示模式。

零基础学VR开发:一个简单的Vizard开发实例(vr开发入门)

运行效率显示

在程序运行时,用户可以通过鼠标浏览场景。在浏览时,用户可能会发现虚拟视点能够穿过墙壁来到另一个房间。我们可以打开虚拟视点的碰撞检测功能,从而阻止虚拟视点穿过三维模型。打开碰撞检测功能的代码如下,用户可以将其添加到脚本程序的末尾。

viz.collision(viz.ON)

零基础学VR开发:一个简单的Vizard开发实例(vr开发入门)

Vizard软件内置了一些OSG模型,可以按F12打开resooures文件夹查看,用户可以通过上述教程中的代码导入来进行操作和练习(如果你还没有自己准备的模型),赶紧动手试试吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年5月13日 上午9:31
下一篇 2023年5月13日 上午9:41

相关推荐