-
Notifications
You must be signed in to change notification settings - Fork 10
Setup Guide
Florian Spiess edited this page Feb 20, 2023
·
11 revisions
This guide explains step-by-step from zero to have the full VIRTUE development environment set up.
VIRTUE is the collective name of VREP, the Virtual Reality Exhibition Presenter, VREM, Virtual Reality Exhibition Manager and VREMui, VREM's User Interface. VRE-x usually stands for a Virtual Reality Exhibition and is suffixed by a name, e.g. vre-mixnhack19.
- Grab yourself JetBrains Toolbox and install IntelliJ IDEA (used for VREM development) and Rider (used for VREP development)
- Install Unity Hub and install the newest version of [Unity3d 2020.3.X LTS]
- Install MongoDB -- ideally using Docker -- and (optionally) Robo3T, a handy GUI for MongoDB.
- Clone VREP, VREM and, if needed VREMui, VREM's User Interface. in a way that they are siblings in the file tree.
- Having a JDK is required for development hence, install OpenJDK 11
- Important: Having Steam and SteamVR is essential, as well as having a HTC Vive Pro setup running. Please set those up accordingly beforehand.
First, we'll set up VREM and import a VRE (we use for this setup a demo VRE, created at the 5th Open Cultural Data Hackathon, "Mix'n'Hack 2019". The VRE is called vre-mixnhack19)
- Navigate to your VREM clone
- Build VREM by calling
./gradlew clean distZip
unzip build/distributions/virtual-exhibition-manager-$
- Start MongoDB by calling (if you used Docker for MongoDB, as we recommend)
./launch_db.sh
Otherwise it's pretty easy to start an appropriate MongDB docker:
docker run --name vrem-container -d -p 27017:27017 mongo
If you have MongoDB installed without docker, just make sure you have MongoDB running on localhost and port 27017
.
- Import the demo VRE (vre-mixnhack19) by calling
virtual-exhibition-manager-$/bin/virtual-exhibition-manager import-folder --config=../vre-mixnhack19/mixnhack19.json --path=../vre-mixnhack19/exhibition --name=demo
- Verify that the import was successful. Start Robo3T and connect to your database (host should be
localhost
, port27017
). Navigating through the tree, you should see a database called vrem with a collection called exhibitions with a single object in it. Make a note of the "_id" field of this collection. If you chose not to install Robo3T, you can retrieve this collection ID simply by connecting to the database with the mongo shell:
$ docker exec -it <vrem-container docker container hash> /bin/sh
$ mongo
> use vrem
> db.exhibitions.find({}, {_id: 1})
-
Optionally, only for VREM development Start IntelliJ IDEA and open the
build.gradle
file in VREM folder to start developing on VREM. -
Optionally, only for VREMui development Start JetBrains WebStorm (or similar) and open the VREMui folder. Run
npm install
there (WebStorm most likely prompts you to do so).
Now lets setup VREP (development):
- Start UnityHub and click on the ADD button. Navigate to your VREP folder and add the VREP folder.
- Select an appropriate Unity3D Editor for the project (should be 2018.4.X), open the project and wait (this might really take a while).
- There is the Project tree in the bottom of the screen, navigate to
Scenes/Exhibition
and double click it, to open that scene. - Set Rider as your default IDE: In the Menu go to Preferences (Edit/Preferences...) and select External Tools, there chose Rider in the drop down at External Script Editor.
- Double-click the
settings.json
file (the extension might be hidden) and wait a few seconds. Rider should open the settings file. Replace the existing entry inexhibitionIds
with the one collected when you set up the exhibition in MongoDB above, adjust the VREM host if necessary and save the file. - Navigate to your VREM folder and start VREM with the following command (either create your config your copy the config from the
vre-x
folder into VREM:
virtual-exhibition-manager-$/bin/virtual-exhibition-manager server --config=mixnhack19.json
- Navigate back to Unity and hit the play button