@@ -6,7 +6,7 @@ Zunächst benötigen Sie einige Programme um das VR-Klassenzimmer im Entwicklerm
...
@@ -6,7 +6,7 @@ Zunächst benötigen Sie einige Programme um das VR-Klassenzimmer im Entwicklerm
*[gitExtensions](http://gitextensions.github.io/) ist eine GUI für git. Es gibt diverse GUIs für git, jedoch haben einige von denen bekannte Probleme mit unity, weshalb zu Extensions geraten wird.
*[gitExtensions](http://gitextensions.github.io/) ist eine GUI für git. Es gibt diverse GUIs für git, jedoch haben einige von denen bekannte Probleme mit unity, weshalb zu Extensions geraten wird.
*[git lfs](https://git-lfs.github.com/) ist eine Erweiterung für git, die sich um Dateien kümmert, die nicht menschenlesbar sind, da sie zu groß oder binär sind.
*[git lfs](https://git-lfs.github.com/) ist eine Erweiterung für git, die sich um Dateien kümmert, die nicht menschenlesbar sind, da sie zu groß oder binär sind.
*[unityHub](https://unity3d.com/de/get-unity/download) bietet eine Übersicht über Ihre Unityprojekte, verwaltet verschiedene Unity-Versionen und bietet viele Tutorials und hilfreiche Addons.
*[unityHub](https://unity3d.com/de/get-unity/download) bietet eine Übersicht über Ihre Unityprojekte, verwaltet verschiedene Unity-Versionen und bietet viele Tutorials und hilfreiche Addons.
*[unity](https://unity3d.com/get-unity/download/archive) ist eine GameEngine und die Entwicklungsumgebung der VR Umgebung von eChalk. Um die benötigte Version herauszufinden, nutzen Sie unityHub, fügen Sie das Projekt dort hinzu und laden Sie die vorgeschlagene unity Version herunter um das Projekt zu öffnen. *ACHTUNG* beim Nutzen einer falschen unity-Version können unerwartete Fehler auftreten und die Zusammenarbeit mit anderen Entwicklern ist quasi unmöglich.
*[unity](https://unity3d.com/get-unity/download/archive) ist eine GameEngine und die Entwicklungsumgebung der VR Umgebung vom VR-Klassenzimmer. Um die benötigte Version herauszufinden, nutzen Sie unityHub, fügen Sie das Projekt dort hinzu und laden Sie die vorgeschlagene unity Version herunter um das Projekt zu öffnen. *ACHTUNG* beim Nutzen einer falschen unity-Version können unerwartete Fehler auftreten und die Zusammenarbeit mit anderen Entwicklern ist quasi unmöglich.
*[nodeJS](https://nodejs.org/en/download/) ist eine Entwicklungsumgebung für Webanwendungen basierend auf JavaScript. In diesem Projekt ist nodeJS für das Frontend verantwortlich.
*[nodeJS](https://nodejs.org/en/download/) ist eine Entwicklungsumgebung für Webanwendungen basierend auf JavaScript. In diesem Projekt ist nodeJS für das Frontend verantwortlich.
*[redux Toolkit](https://redux-toolkit.js.org/introduction/quick-start) ist ein Package für nodeJS und versorgt das Frontend mit notwendigen Funktionen.
*[redux Toolkit](https://redux-toolkit.js.org/introduction/quick-start) ist ein Package für nodeJS und versorgt das Frontend mit notwendigen Funktionen.
*[electron](https://www.electronjs.org/docs/tutorial/installation) bietet für das Frontend eine Browser-unabhängige Oberfläche und stellt so das Frontend als vollwertige App dar.
*[electron](https://www.electronjs.org/docs/tutorial/installation) bietet für das Frontend eine Browser-unabhängige Oberfläche und stellt so das Frontend als vollwertige App dar.
...
@@ -15,7 +15,7 @@ Zunächst benötigen Sie einige Programme um das VR-Klassenzimmer im Entwicklerm
...
@@ -15,7 +15,7 @@ Zunächst benötigen Sie einige Programme um das VR-Klassenzimmer im Entwicklerm
Nachdem nun eine ganze Batterie an neuer Software auf Ihrem System zu finden ist, stehen Sie vor einem historisch gewachsenen Projekt mit diversen Entwicklern. Dies kann beim ersten Kontakt überwältigend sein und Sie wünschten sich etwas mehr Übersicht. Diese Probleme soll dieses Kapitel ansprechen
Nachdem nun eine ganze Batterie an neuer Software auf Ihrem System zu finden ist, stehen Sie vor einem historisch gewachsenen Projekt mit diversen Entwicklern. Dies kann beim ersten Kontakt überwältigend sein und Sie wünschten sich etwas mehr Übersicht. Diese Probleme soll dieses Kapitel ansprechen
### Einen Überblick verschaffen
### Einen Überblick verschaffen
Je nachdem in welchem Bereich Sie entwickeln wollen, müssen Sie sich natürlich mit der Entwicklungsumgebung auseinander setzen. Hierfür gibt es diverse Quellen auf YouTube, Stackoverflow, usw. Es werden Ihnen natürlich keine konkreten Tipps zu eChalk gegeben, jedoch ist es sinnvoll zu erfahren wie die Entwicklungsumgebung aufgebaut ist. Im Folgenden wird hier auf die Struktur der VR-Umgebung eingegangen und _kurze Eingewöhnungsübungen werden markiert_.
Je nachdem in welchem Bereich Sie entwickeln wollen, müssen Sie sich natürlich mit der Entwicklungsumgebung auseinander setzen. Hierfür gibt es diverse Quellen auf YouTube, Stackoverflow, usw. Es werden Ihnen natürlich keine konkreten Tipps zu diesem Projekt gegeben, jedoch ist es sinnvoll zu erfahren wie die Entwicklungsumgebung aufgebaut ist. Im Folgenden wird hier auf die Struktur der VR-Umgebung eingegangen und _kurze Eingewöhnungsübungen werden markiert_.
Zum derzeitigen Stand (06.01.2021) gibt es zwei Versionen des VR-Klassenzimmers. Eine Version ist auf die Nutzung mit einer Vive-Brille spezialisiert (master branch) und die andere auf die Oculus-Brillen (oculusVersion branch). Je nach Hardware sollten Sie also die richtige Version in git (extensions) auschecken. Ist das Projekt geöffnet, sehen Sie eine Ordnerhierarchie. Alle Assets (Ordner) unter "AssetStore" sind von Drittentwicklern entworfen und wurden nicht maßgeblich geändert. In den Ordnern beginnend mit "own" wie "ownScripts", "ownPrefabs", usw. liegen eigene Entwicklungen. Der Ordner "Scenes" beinhaltet verschiedene Sitzordnungen für die virtuelle Klasse und Tutorial- oder Menü-Umgebungen. Für eigene Tests zur Eingewöhnung in das Projekt ist der Ordner "Scenes" zu empfehlen, wobei "Testumgebungen" vor dem ersten git Push wieder entfernt werden sollten. _Um eine Orientierung aufzubauen, versuchen Sie zum Beispiel das selbst geschriebene Script zu finden, welches ein Audio-Ambiente für die Szenen verwaltet._
Zum derzeitigen Stand (06.01.2021) gibt es zwei Versionen des VR-Klassenzimmers. Eine Version ist auf die Nutzung mit einer Vive-Brille spezialisiert (master branch) und die andere auf die Oculus-Brillen (oculusVersion branch). Je nach Hardware sollten Sie also die richtige Version in git (extensions) auschecken. Ist das Projekt geöffnet, sehen Sie eine Ordnerhierarchie. Alle Assets (Ordner) unter "AssetStore" sind von Drittentwicklern entworfen und wurden nicht maßgeblich geändert. In den Ordnern beginnend mit "own" wie "ownScripts", "ownPrefabs", usw. liegen eigene Entwicklungen. Der Ordner "Scenes" beinhaltet verschiedene Sitzordnungen für die virtuelle Klasse und Tutorial- oder Menü-Umgebungen. Für eigene Tests zur Eingewöhnung in das Projekt ist der Ordner "Scenes" zu empfehlen, wobei "Testumgebungen" vor dem ersten git Push wieder entfernt werden sollten. _Um eine Orientierung aufzubauen, versuchen Sie zum Beispiel das selbst geschriebene Script zu finden, welches ein Audio-Ambiente für die Szenen verwaltet._
...
@@ -26,7 +26,7 @@ Zurück zum Editor sehen Sie die Scene-View, in der alle 3D-Objekte der Welt dar
...
@@ -26,7 +26,7 @@ Zurück zum Editor sehen Sie die Scene-View, in der alle 3D-Objekte der Welt dar
Unity bietet sehr viele Optionen, Fenster und Packages, und eine nicht unerhebliche Teilmenge davon wird auch in dem Projekt verwendet. Wenn Sie sich ein paar Stunden mit dem Projekt beschäftigt haben, wie hier vorgeschlagen, finden Sie sicherlich die richtige Stelle um Ihre Entwicklungen einzubauen. Sollten Sie konkrete Fragen zu Ihrer Entwicklung haben, sind Sie schon sehr weit gekommen und Internetquellen helfen Ihnen sicherlich weiter. Sollten Sie sich einfach verloren und überfordert in dem Projekt fühlen, trotz dieser Einleitung, melden Sie sich gern bei Axel Wiepke. Dieser freut sich vorallem über Verbesserungsvorschläge für dieses Tutorial um künftigen Entwicklern einen stressfreien Einstieg zu ermöglichen.
Unity bietet sehr viele Optionen, Fenster und Packages, und eine nicht unerhebliche Teilmenge davon wird auch in dem Projekt verwendet. Wenn Sie sich ein paar Stunden mit dem Projekt beschäftigt haben, wie hier vorgeschlagen, finden Sie sicherlich die richtige Stelle um Ihre Entwicklungen einzubauen. Sollten Sie konkrete Fragen zu Ihrer Entwicklung haben, sind Sie schon sehr weit gekommen und Internetquellen helfen Ihnen sicherlich weiter. Sollten Sie sich einfach verloren und überfordert in dem Projekt fühlen, trotz dieser Einleitung, melden Sie sich gern bei Axel Wiepke. Dieser freut sich vorallem über Verbesserungsvorschläge für dieses Tutorial um künftigen Entwicklern einen stressfreien Einstieg zu ermöglichen.
## Theoretische Grundlagen
## Theoretische Grundlagen
Da dieses Projekt in erster Linie ein Forschungsprojekt ist, sollten Entwicklungsentscheidungen bestmöglich auf wissenschaftlichen Quellen beruhen. Bereits erforschte Umstände mit dem Projekt eChalk finden Sie [hier](https://www.uni-potsdam.de/de/multimedia/projekte/anwendungen/vr-klassenzimmer). Eine Wissenssammlung über genutzte Quellen der Entwicklungen wird hier auf Grund der Übersichtlichkeit nicht verlinkt. Ausgearbeitete Veröffentlichungen werden aber auf der verlinkten Seite geteilt und studentische Arbeiten, in Zukunft auch auf Wunsch bereitgestellt.
Da dieses Projekt in erster Linie ein Forschungsprojekt ist, sollten Entwicklungsentscheidungen bestmöglich auf wissenschaftlichen Quellen beruhen. Bereits erforschte Umstände mit dem Projekt finden Sie [hier](https://www.uni-potsdam.de/de/multimedia/projekte/anwendungen/vr-klassenzimmer). Eine Wissenssammlung über genutzte Quellen der Entwicklungen wird hier auf Grund der Übersichtlichkeit nicht verlinkt. Ausgearbeitete Veröffentlichungen werden aber auf der verlinkten Seite geteilt und studentische Arbeiten, in Zukunft auch auf Wunsch bereitgestellt.
## Dokumentation für Programmierer
## Dokumentation für Programmierer
Der Bezug von Klassen untereinander, die Funktionsweisen und Existenzen von Funktionen sowie viele andere hilfreiche Aspekte finden Sie in unserer [Dokumentation](https://echalk.soft.cs.uni-potsdam.de/docs/index.html).
Der Bezug von Klassen untereinander, die Funktionsweisen und Existenzen von Funktionen sowie viele andere hilfreiche Aspekte finden Sie in unserer [Dokumentation](https://echalk.soft.cs.uni-potsdam.de/docs/index.html).