以很容易连接服务器,以一种标准的方式来得到设备上的数据。
VRPN被许多VR应用所使用:商业的有Virtools、WorldViz,也包括一些免费的应用如OpenSceneGraph或Panda3D。
VRPN是跨平台的,可以运行在许多不同的系统如Windows,Linux和MaxOS...
理解VRPN:(这段翻译的很难受,建议看原文)
VRPN“转换”来自许多设备的数据为通用的三种类型:Tracker、Analog和Button。
Tracker保留一个位置和一个方向。(The Tracker type holds a position and an orientation.)
Analog用于任何类型的轴类:游戏摇杆,鼠标轴...(The Analog type is used for any type of axis : joystick axis, mouse axis ...)
Button用于任何类型的二进制按钮:操纵杆按钮,鼠标按钮...(The Button type is used for any type of binary button : joystick button, mouse button ...) 例如:一个鼠标有二通道Analog和三通道Button。
一个典型的VR设备Wand,有一个Tracker,一个Analog数据给它的操纵杆,以及Buttons。
Wiimote被视为有许多Analog通道以及一些Button通道。
配置VRPN server:
我们会为鼠标配置VRPN server。对于其它设备,这一过程是一样的。你可能需要添加一些配置参数。
要做的第一件事是配置VRPN server。
按照前一篇文章介绍的,在编译好的VRPN文件夹中的server_src文件夹下有一个'vrpn.cfg'文件,将这个文件拷贝到和vrpn_server.exe文件在同一个目录下。vrpn_server.exe文件应该在server_src文件的Debug或Release目录中。'vrpn.cfg'文件是用来对vrpn_server.exe进行配置。
修改'vrpn.cfg'文件,位于\这一行。说明启用“vrpn_Mouse Mouse0”。
移除\,然后运行vrpn_server.exe。这一行的第一个词是我们使用的驱动类型,第二个词是你选择的设备名称,以及你会用到的客户端连接。
(说明:这个图片是翻译的文章中的图片,自己的情况是运行vrpn_server.exe后,没有输出内容,不知道什么原因,但是VRPN server应该是已经运行了,下面可以验证。)
VRPN server现在正在运行。我们使用vrpn_print_devices应用来测试这个server。
在Windows下,用cmd打开DOS,进入到“...\\vrpn\\client_src\\Debug”,然后运行vrpn_print_devices应用,带上这个参数“Mouse0@localhost”,即:“vrpn_print_devices Mouse0@localhost”
“Mouse0”是你在vrpn.cfg中定义的,'localhost'是你的server网络地址。 当你移动鼠标,并点击几次,你应该能够看到一些东西像下图所示:
(说明:这个图是自己电脑上运行时,截的图。在移动鼠标时会不断的输出一个值。)
下面一篇文章会介绍如何利用VRPN编写简单的程序。
【转载】教程——使用VRPN(3)
2013-07-07 22:12:56| 分类: 默认分类 |举报 |字号大中小 订阅
本文转载自hailin_xin《教程——使用VRPN(3)》
前一篇文章介绍了编写一个简单的client,这里要介绍添加Buttons和Trackers。
和Analog类似,添加Buttons和Trackers代码如下:
#include \#include \#include \#include