Update Developer introduction: updated to match state of German version. authored by Dr. phil. Stephen James Tobin's avatar Dr. phil. Stephen James Tobin
:warning: slightly outdated -> check german introduction for some optional tools and information
For standard use in teaching and research, please see the [ReadMe file](https://gitup.uni-potsdam.de/mm_vr/vr-klassenzimmer/blob/master/README.md). This page covers the setup necessary to make changes to the project and use it for your own work (e.g. theses). For standard use in teaching and research, please see the [ReadMe file](https://gitup.uni-potsdam.de/mm_vr/vr-klassenzimmer/blob/master/README.md). This page covers the setup necessary to make changes to the project and use it for your own work (e.g. theses).
## Installations ## Installations
...@@ -9,14 +7,32 @@ At first you need some programs to run the VR-classroom in developer mode. These ...@@ -9,14 +7,32 @@ At first you need some programs to run the VR-classroom in developer mode. These
* [git lfs](https://git-lfs.github.com/) is an extension for git that takes care of files that are not readable by humans because they are too large or binary. * [git lfs](https://git-lfs.github.com/) is an extension for git that takes care of files that are not readable by humans because they are too large or binary.
* [unityHub](https://unity3d.com/de/get-unity/download) provides an overview of your Unity projects, manages different Unity versions and offers many tutorials and helpful add-ons. * [unityHub](https://unity3d.com/de/get-unity/download) provides an overview of your Unity projects, manages different Unity versions and offers many tutorials and helpful add-ons.
* [unity](https://unity3d.com/get-unity/download/archive) is a GameEngine and the development environment of the VR-classroom's VR environment. To find out the version you need, use unityHub, add the project there and download the suggested unity version to open the project. *WARNING* using wrong unity version may cause unexpected errors and cooperation with other developers is almost impossible. * [unity](https://unity3d.com/get-unity/download/archive) is a GameEngine and the development environment of the VR-classroom's VR environment. To find out the version you need, use unityHub, add the project there and download the suggested unity version to open the project. *WARNING* using wrong unity version may cause unexpected errors and cooperation with other developers is almost impossible.
* [nodeJS](https://nodejs.org/en/download/) is a development environment for web applications based on JavaScript. In this project nodeJS is responsible for the frontend.
* [redux Toolkit](https://redux-toolkit.js.org/introduction/quick-start) is a package for nodeJS and provides the frontend with necessary functions. **Optional**
* [electron](https://www.electronjs.org/docs/tutorial/installation) provides a browser-independent interface for the frontend and thus presents the frontend as a full-fledged app. * [SRanipal Unity SDK](https://developer.vive.com/resources/vive-sense/eye-and-facial-tracking-sdk/download/latest/) Eye and Facial Tracking SDK (aktuell nutzen wir nur eyetracking)
* [viveport](https://www.vive.com/de/setup/viveport/) may solve inexplicable errors...
* [Blender](https://www.blender.org/) useful tool for creating models, 3D-objects and changing the environment
* For class discussions:
* [yEd Graph Editor](https://www.yworks.com/products/yed/download): creating dialogue trees
* Audio recording software: according to your own preference
* Optional: Image creation software, e.g. Gimp, etc.
There are currently two versions of the front end; follow the setup steps corresponding to the one you wantÖ
* *Old site -->*
* [nodeJS](https://nodejs.org/en/download/) is a JavaScript-based development environment for web applications. NodeJS is responsible for the frontend in this project
* [redux Toolkit](https://redux-toolkit.js.org/introduction/quick-start) îs a package for nodeJS and supplies the frontent with necessary functions.
* [electron](https://www.electronjs.org/docs/tutorial/installation) provides the frontend with a browser-independent interface, thus presenting the frontend as fully-fledged app.
* *New site -->*
* [Angular](https://angular.io/guide/setup-local)
## Training ## Training
Now that there is a whole load of new software on your system, you are faced with a historically grown project with various developers. This can be overwhelming at first and you wish you had a little more clarity. These are the issues this chapter is intended to address. Now that there is a whole load of new software on your system, you are faced with a project that grown and developed over time with various developers. This may be overwhelming at first and you might wish you had a little more clarity. These are the issues this chapter is intended to address.
### Get an overview ### Get an overview
Depending on the area you want to develop in, you will of course need to get to know the development environment. There are various sources for this on YouTube, Stackoverflow, etc. Of course, no concrete tips on this project will be given to you, but it is useful to know how the development environment is structured. In the following, the structure of the VR environment is discussed and _short familiarization exercises are highlighted_. Depending on the area you want to develop in, you will of course need to get to know the development environment. There are various sources for this on YouTube, Stackoverflow, etc. Of course, no concrete tips on this project will be given there, but it is useful to know how the development environment is structured. In the following, the structure of the VR environment is discussed and _short familiarization exercises are highlighted_.
As of this writing (06/01/2021), there are two versions of the VR-classroom. One version is specialized for the use with Vive glasses (master branch) and the other one is specialized for Oculus glasses (oculusVersion branch). So depending on your hardware, you should check out the correct version in git (extensions). Once the project is open, you will see a folder hierarchy. All assets (folders) under "AssetStore" are designed by third party developers and have not been significantly modified. The folders starting with "own" like "ownScripts", "ownPrefabs", etc. contain own developments. The folder "Scenes" contains different seating arrangements for the virtual class and tutorial or menu environments. For own testing to get used to the project, the "Scenes" folder is recommended, although "test environments" should be removed before the first git push. _To build up an orientation, try for example to find the self-written script that manages an audio ambience for the scenes._ As of this writing (06/01/2021), there are two versions of the VR-classroom. One version is specialized for the use with Vive glasses (master branch) and the other one is specialized for Oculus glasses (oculusVersion branch). So depending on your hardware, you should check out the correct version in git (extensions). Once the project is open, you will see a folder hierarchy. All assets (folders) under "AssetStore" are designed by third party developers and have not been significantly modified. The folders starting with "own" like "ownScripts", "ownPrefabs", etc. contain own developments. The folder "Scenes" contains different seating arrangements for the virtual class and tutorial or menu environments. For own testing to get used to the project, the "Scenes" folder is recommended, although "test environments" should be removed before the first git push. _To build up an orientation, try for example to find the self-written script that manages an audio ambience for the scenes._
... ...
......