37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
# gdvrpn
|
|
|
|
A native GDScript implementation of the [VRPN](https://vrpn.github.io/) client protocol.
|
|
|
|
# Background
|
|
|
|
VR hardware and software provide commonly an interface for tracking data by implementing a VPRN server. Binding the actual VRPN client library into an extension is proven and working poses a burden for maintenance and deployability. To solve this gdvrpn allows for a native integration of VRPN tracking in Godot.
|
|
|
|
This project does not implement any server components or forwarding and is only tested with a limited number of devices in our lab. Currently, UDP mode is under development.
|
|
|
|

|
|
|
|
# Install
|
|
|
|
Install the project from the AssetLib in Godot or directly from the repository.
|
|
|
|
# Usage
|
|
|
|
There are two components, a `VRPN_Client` and needed for using this addon:
|
|
|
|
`VPRPN_Client` is mandatory and implements the network component of this addon that parses the data received and broadcasts them to the respective receivers within the scene tree.
|
|
|
|
`VRPN_Tracker` is a receiver taking pose information (i.e. position and orientation) of a rigid body and applies it to the nodes global transform.
|
|
|
|
`VRPN_Button` is a receiver of button events.
|
|
|
|
## Example
|
|
|
|
For some inspiration try the example `spin_tracker.tscn`. To create a test input use the shipped VRPN config file `test/vrpn.test.cfg` as follows (from the root of this repository)
|
|
|
|
```bash
|
|
$> vrpn_server -f addons/vrpn/tests/vrpn.test.cfg
|
|
```
|
|
|
|
# License
|
|
|
|
This project is licensed under the terms of the [MIT License](https://opensource.org/license/mit)
|