借助vizard创建虚拟现实环境
设备:HTC VIVE
软件:vizard、steamVR
inspector(场景编辑器)、coding(逻辑)、配置&连接显示设备
DEMO
- demo_lancher —— 选择vive的配置文件 —— 校准中心点 —— 校准地面(尽可能准确)
创建流程
使用前先使用steamVR校准设备。
- 使用insepctor搭建/设定场景模型。
- 点开vizard,选择vizconnet生成配置文件(.pyc)
- 新建项目,将配置文件绑定到当前
- 导入场景
- 写逻辑部分,直接在vizard中运行调试
Inspector
可对场景模型进行设定
coding
- vizard不支持mac
- pack:viz、vizact、vizshape
- 如何把代码和场景绑定?无需绑定,inspector中编辑场景即可,IDE中编辑逻辑
- ontimer函数
- 文档在哪里:官方文档
场景文件:.osgb
左手坐标系,大拇指、食指、中指分别为:xyz轴
可查阅文档
基础操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47import viz
import vizact
import vizshape
# 创建场景
viz.go()
# 加载自带的piazza场景
piazza = viz.add("piazza.osgb")
# 抗锯齿等级,可根据机器性能调整
viz.setMultiSample(4)
# 添加坐标轴显示
vizshape.addAxes()
# 添加碰撞效果(会把位置置为水平
viz.MainView.collision()
# 位置、视角、视场角设置
viz.MainView.setPosition([0,15,-15])
viz.MainView.move([0,1,1])
viz.MainView.setEuler([180,0,0])
viz.fov(30)
# 添加自带的植物模型
plant = viz.addChild('plant.osgb')
plants = []
for x in [-3,1,1,3]:
for z in [4,2,0,-2,-4]:
#旋转,参数:xyzs,沿xyz轴以s速度旋转
mySpin = vizact.spin(0,1,0,15)
plant.addAction(mySpin)
# 停止动作
def myClearAction(plantOBJ):
plantOBJ.clearactions()
# 旋转函数,旋转然后停止旋转
def mySpinPlant(plantOBJ):
plantOBJ.addAction(mySpin)
vizact.ontimer2(1,1,myClearAction, plantOBJ)
# 1s一次,执行19次mySpinPlant函数,vizact.choice会顺序选择plant数组里的内容
vizact.ontimer2(1,19, mySpinPlant, vizact.choice(plants))
1 | import viz |
vizconnet
生成配置文件,添加到viz.go()
明天:脑电仪