Update Lehrstuhl link to renamed project authored by Dr. phil. Stephen James Tobin's avatar Dr. phil. Stephen James Tobin
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
At first you need some programs to run the VR-classroom in developer mode. These programs are listed below and sample sources are linked to them.
* [git](https://git-scm.com/downloads) is a version control program that allows you to download the current version of the project and do versioning of your changes.
* [gitExtensions](http://gitextensions.github.io/) is a GUI for git. There are various GUIs for git, however some of them have known issues with unity, so use of gitExtensions is advised.
* [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.
* [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.
**Optional**
* [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 structure trees
* Audio recording software: according to your own preference
......@@ -20,19 +22,22 @@ At first you need some programs to run the VR-classroom in developer mode. These
There are currently two versions of the front end; follow the setup steps corresponding to the one you want:
Old site -->
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)
New site --\>
* [Angular](https://angular.io/guide/setup-local)
## Training
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
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._
......@@ -45,14 +50,16 @@ Unity offers a great number of options, windows and packages, and a not insignif
## Paketstruktur in Teach-R
The functionality of Teach-R is organised according to role and purpose into Unity Packages, which are themselves categorically organised.
![TeachR_PackageStruktur](uploads/ecf9331e6771dc491f648d001db8e3d7/TeachR_PackageStruktur.png)
The functionality of Teach-R is organised according to role and purpose into Unity Packages, which are themselves categorically organised. ![TeachR_PackageStruktur](uploads/ecf9331e6771dc491f648d001db8e3d7/TeachR_PackageStruktur.png)
## Theoretical foundations
Since this project is primarily a research project, development decisions should be based on scientific sources to the best of our ability. Circumstances already researched with this project can be found [here](https://www.uni-potsdam.de/de/multimedia/projekte/anwendungen/vr-klassenzimmer). A knowledge collection of used sources of developments is not linked here for clarity. However, elaborated publications will be shared on the linked page and student works, in the future will also be provided on request.
Since this project is primarily a research project, development decisions should be based on scientific sources to the best of our ability. Circumstances already researched with this project can be found [here](https://www.uni-potsdam.de/de/multimedia/projekte/anwendungen/teach-r). A knowledge collection of used sources of developments is not linked here for clarity. However, elaborated publications will be shared on the linked page and student works, in the future will also be provided on request.
## Documentation for developers
To visualize dependencies of classes and other helpfull tools, we created a [documentation](https://echalk.soft.cs.uni-potsdam.de/docs/index.html) with doxygen.
## Taking credit for your work
After a substantial contribution has been made to the code, your name can be included as the developer of the software. So as soon as the software is referenced, your name will also be mentioned. To be cited in this way, please modify the "citations.cff" by adding your data to it, in accordance with the present style.
\ No newline at end of file