零基础学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

相关推荐

  • 河南南乐县举办质量安全培训宣教活动

      11月5日,南乐县畜牧局组织召开2015年畜产品质量安全防线培训,特邀市局质管科科长张朝峰作专题报告。张科长以加强环境治理,严守法律法规为主线,从畜产品安全形势及影响、危害畜产…

    科研百科 2022年6月3日
    296
  • 地产项目管理做什么的

    地产项目管理做什么 地产项目管理是指对房地产项目进行有效的规划和管理,以确保项目按时完成,达到预期的目标和效果。在地产项目管理中,项目的范围、进度、成本、质量、安全等方面的管理都是…

    科研百科 2024年8月26日
    33
  • 科研项目组织管理改革亟待深化(科研项目组织实施机制)

    【科学随笔】 作者:杨 琨(华南理工大学科学技术研究院助理研究员) 科研项目是科技创新活动的核心载体,优化科研项目的组织管理是深化科技体制改革的重要任务。近年来,我国一直在深化科技…

    科研百科 2022年5月14日
    459
  • 一建进度事后控制内容

    一建进度事后控制内容一建进度事后控制内容一、旧知识的记忆。1、建功立业,养德留德。2、修德免罪,重在践行。3、不可不慎触犯,敬慎为师。4、防人之心不可无,害人之心不可有。5、防人之…

    科研百科 1天前
    0
  • 免费在线项目管理

    免费在线项目管理 随着数字化时代的到来,项目管理已经成为了一个不可或缺的技能。传统的纸质文件和电子邮件已经不能满足现代项目管理的需求,因此,在线项目管理工具成为了一个热门的选择。 …

    科研百科 2024年5月24日
    86
  • 内蒙古畜牧业转型升级 休闲观光牧场为“中国乳都”增彩

    a8d    图为全国首批8个休闲观光牧场之一——内蒙古子昂牧业奶牛主题公园。 受访者供图a8d   中新网呼和浩特5月6日电 题:内蒙古畜牧业转…

    2022年5月19日
    404
  • 无经验想做科研项目怎么做

    无经验想做科研项目,可以参考下述步骤:1. 确定项目类型和目标:首先需要确定项目类型,例如研究某个领域的问题,或者开发一个新的产品。确定目标有助于明确研究的方向和重点。2. 寻找导…

    科研百科 2024年4月10日
    39
  • 企业如何加强客户关系管理的举措(二)(企业应该如何有效的实施客户关系管理)

    对于企业加强客户关系管理的措施,可能不止有上一篇的两点,那小编就接着上一篇的举措来给大家分享剩下两点 三、加强对老客户的维护 忠诚的客户群体对于企业的发展非常关键,而这些客户群体一…

    科研百科 2022年11月22日
    255
  • 视频收益最高的平台

    视频收益最高的平台:抖音 抖音是一款非常受欢迎的短视频分享应用,拥有庞大的用户群体,同时也是视频收益最高的平台之一。抖音通过将短视频的形式与丰富的内容相结合,吸引了无数用户,并在业…

    科研百科 2024年10月18日
    0
  • 超市会员卡管理软件(超市会员卡管理软件有限公司)

    超市会员卡管理软件(超市会员卡管理软件有限公司) 超市会员卡管理软件是一款适合中小型超市使用的会员卡管理软件,会员一键填写会员信息办卡,可以设置会员等级及折扣、会员消费积分、会员卡…

    科研百科 2024年3月25日
    53