项目三:基于vizard软件的VR游戏开发
项目三:基于vizard软件的VR游戏开发
【知识点笔记】
1.了解 Vizard 的所有模块内容:
参阅 Vizard 命令索引(help>Introdution>welcome>Command index )
2.各个模块主要功能范围:
viz:核心模块,用于控制图形绘制状态、人机交互等。
vizact:动作处理。
vizmenu:菜单模块。
spi:用于显示全景图的模块。
videovision:用于实现增强现实和混合现实的模块。
vizcapture:用于获取屏幕缓存的模块。
vizcave:用于CAVE显示的模块。
vizinfo:用于组织二维图形用户界面(GUI)的模块。
vizjoy:用于访问游戏杆等交互设备的模块。
vizmat:用于矩阵操作等数学运算的模块。
viznet:用于建立客户端/服务器(C/S)结构的网络虚拟现实程序的模块。
viztask:用于建立串行逻辑子程序的模块。
3.基本语法操作:
对象名=object.command()
#object必须是模块(.py)里有的,没有的话要导入模块。
4.setEuler(朝向)、setPosition(位置)(左右,上下,前后)
#实现对人物的随时间自主运动
import math
import time
avatar.state(11)
def run_around():newX = -math.cos(time.clock()) * 2.1newZ = math.sin(time.clock()) * 2.2avatar.setPosition([newX, 0, newZ], viz.ABS_PARENT )avatar.setEuler( [time.clock()/math.pi*180,0,0], viz.ABS_PARENT )
vizact.ontimer(.01, run_around )
5.
viz.link(A,B) #把A、B两个对象连接
link.preTrans( [0,-1,.1 ]) #相对位置 (左右、上下、前后)
6.将人物视角设置为主视角:
#Link the view to the male's head.
head_bone = male.getBone( 'Bip01 Head' )
view_link = viz.link( head_bone, viz.MainView )
#Set the eyeheight at 0 (so the default
#eyeheight is not added to the data).
viz.eyeheight( 0 )
7.飞球操作:
def shoot_ball():ball.reset()ball.setPosition( [1,2,5])ball.setVelocity([-2.8,.8,-15])
vizact.onkeydown(' ',shoot_ball )
8.第一视角:
#Add a subwindow and associated it
#with a viewpoint.
subwindow = viz.addWindow()
subview = viz.addView()
subwindow.setView( subview )
subwindow.setSize( .35,.35 )
subwindow.setPosition( .65,1)
subwindow.visible( viz.OFF )
#Link the subview to the position
#of the main view but put it up a distance.
subview_link = viz.link( viz.MainView, subview )
subview_link.setMask( viz.LINK_POS )
subview_link.setOffset( [0,8,0] )
subview.setEuler( [0, 90, 0 ])
#Link a dart to the main view.
dart = viz.add( 'art/dart.ive' )
dart.setScale( 2,2,2)
link = viz.link( viz.MainView, dart )
link.preTrans( [0,.15,0] )
9.yeild语句:
一个带有 yield 的函数就是一个 生成器(generator),每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行。继续执行用__next__()方法。看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield 返回当前的迭代值。
项目三:基于vizard软件的VR游戏开发相关推荐
- 【项目三 基于A*算法的迷宫游戏开发】
一. 实验要求 1.迷宫随机生成 2.玩家走迷宫,留下足迹 3.系统用A*算法寻路,输出路径 二.前期准备 解决迷宫问题要用到两个算法,深度优先遍历(DFS)生成迷宫,A*算法寻路.那么首先要对这两种 ...
- 实验三 基于A*算法的迷宫游戏开发
实验要求: 1.迷宫随机生成 2.玩家走迷宫,留下足迹: 3.系统用A*算法寻路,输出路径 解决问题: 1.如何显示迷宫的图形界面: 2.如何生成随机的迷宫: 3.怎样移动游戏中走迷宫的"玩 ...
- 基于Unity3D的AR小游戏开发【100011412】
本科毕业设计(论文) GRADUATION DESIGN(THESIS) 基于 Unity3D 的增强现实游戏程序 摘要 增强现实(AR)作为一项新兴技术近年来被越来越多的人群所获知,AR 也渐渐走进 ...
- 走进VR开发世界(4)——走进VR游戏开发的世界
注: 原文2016年2月发表于公司内部社区, 最近才由同事转载出来, 删去了文中引用的一些内部文章和视频. 在这里我也只是把外网版本转过来, 留做备份. 背景介绍 我们组在2014年下半年尝试开发了一 ...
- 揭秘VR游戏开发:与传统3D差距仅10% 低延迟是核心
背景介绍 北京时间3月16日,索尼在GDC 2016上公布了其虚拟现实头盔--PS VR消费者版的售价:399美元(约合人民币2600元).同时,著名电子游戏<孤岛危机>开发商Crytek ...
- 走进VR游戏开发的世界
原文地址:http://geek.csdn.net/news/detail/76504 我们组在2014年下半年尝试开发了一款Xbox One平台的体感游戏,2015年上半年进行收尾工作的同时,结合之 ...
- 基于cocos2d-x的快速的游戏开发--回合制游戏
2019独角兽企业重金招聘Python工程师标准>>> #基于cocos2d-x的快速的游戏开发--回合制游戏 开发时间:3天 开发工具:cocos2d-x和cocostudio 开 ...
- 基于python的植物大战僵尸游戏开发
1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于python的植物大战僵尸游戏开发. 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 21世纪是信息化时代,随着信息技术和网 ...
- 100天学会VR游戏开发
最近看了一篇关于VR的文章,没事干就在翻译,希望对其他人有所帮助. 第一次翻译,不足的地方还请包含和纠正. 原文链接: https://medium.com/@skynite/100-days-of- ...
最新文章
- hbase 0.96 java api_HBase(九) HBase JAVA API - 运维API
- 【机器学习入门到精通系列】推荐系统之协同过滤算法
- 【Laravel】连接sqlite,Database [] not configured,sqlite example
- Active Directory 定义了五种操作主机角色
- 19、Fragment
- 关于Linux fontconfig 字体库的坑
- leetcode:203. 移除链表元素(两种方法)
- Federated learning论文修改2021-11-14(X-Y Liang)
- 虚拟专题:知识图谱 | 其他文章
- python简述列表特征_python高级特性简介
- 转岗测试工作三年经验总结(前端开发转测试)
- python根据字符串实例化对象_解密 Python 中的对象模型
- Inside NT Boot
- 使用ab命令进行压力测试
- cogs339 维修数列 ……
- Blos查看计算机硬盘,bios查看硬盘损坏
- 常用的60招电脑操作
- 用串口操作手机收发短信总结
- 全球与中国液体合成橡胶(LSR)市场深度研究分析报告
- CSS教程:vlink,alink,link和a:link