From 4a106a18f24180e98722f19b75c5efee06ab49b3 Mon Sep 17 00:00:00 2001 From: FB <43820946+FlorianBeckerle@users.noreply.github.com> Date: Sat, 5 Mar 2022 15:35:20 +0100 Subject: [PATCH] Started describing VR Plugins for Unity Explained the native Unity VR API Started SteamVR plugin --- auxil/thesis.ist | 2 +- bib.bib | 69 ++++++++++++++ pics/steamVR-Input-SaveAndGenerate.png | Bin 0 -> 19988 bytes pics/steamVR_Input_CopyJSON.png | Bin 0 -> 7709 bytes pics/steamVR_Input_MenuItem.png | Bin 0 -> 34199 bytes pics/steamVR_render_models_script.png | Bin 0 -> 15378 bytes pics/unity_basis_vr_api_settings.png | Bin 0 -> 22100 bytes sections/implementation.tex | 13 +++ sections/technologies.tex | 119 +++++++++++++++++++++++++ 9 files changed, 202 insertions(+), 1 deletion(-) create mode 100644 pics/steamVR-Input-SaveAndGenerate.png create mode 100644 pics/steamVR_Input_CopyJSON.png create mode 100644 pics/steamVR_Input_MenuItem.png create mode 100644 pics/steamVR_render_models_script.png create mode 100644 pics/unity_basis_vr_api_settings.png diff --git a/auxil/thesis.ist b/auxil/thesis.ist index d06bbf1..5c0f159 100644 --- a/auxil/thesis.ist +++ b/auxil/thesis.ist @@ -1,5 +1,5 @@ % makeindex style file created by the glossaries package -% for document 'thesis' on 2022-3-3 +% for document 'thesis' on 2022-3-5 actual '?' encap '|' level '!' diff --git a/bib.bib b/bib.bib index 170e798..93d49a7 100644 --- a/bib.bib +++ b/bib.bib @@ -520,3 +520,72 @@ author = {Oculus}, note = {letzer Zugriff 5.3.2022}, } + +//Mache die Kommentare grade so weil ich den Überlick verloren habe (Was gehört zu was, etc. ...) +////////////////VR in Unity//////////////// +@misc{Unity_VR_Overview_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Unity}, + title = {Unity - VR Overview}, + url = {https://docs.unity3d.com/540/Documentation/Manual/VROverview.html}, + year = {2016}, +} + +////////////////SteamVR//////////////// +@misc{SteamVR_Overview_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Valve}, + title = {Valve - SteamVR Overview}, + url = {https://valvesoftware.github.io/steamvr_unity_plugin/}, + year = {2020}, +} + +@misc{SteamVR_Quickstart_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Valve}, + title = {Valve - SteamVR Quickstart}, + url = {https://valvesoftware.github.io/steamvr_unity_plugin/articles/Quickstart.html}, + year = {2020}, +} + +@misc{SteamVR_Render_Models_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Valve}, + title = {Valve - SteamVR Render Models}, + url = {https://valvesoftware.github.io/steamvr_unity_plugin/articles/Render-Models.html}, + year = {2020}, +} + +@misc{SteamVR_Input_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Valve}, + title = {Valve - SteamVR Input}, + url = {https://valvesoftware.github.io/steamvr_unity_plugin/articles/SteamVR-Input.html}, + year = {2020}, +} + +@misc{SteamVR_Skeleton_Input_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Valve}, + title = {Valve - SteamVR Skeleton Input}, + url = {https://valvesoftware.github.io/steamvr_unity_plugin/articles/Skeleton-Input.html}, + year = {2020}, +} + +@misc{SteamVR_Interaction_System_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Valve}, + title = {Valve - SteamVR Interaction System}, + url = {https://valvesoftware.github.io/steamvr_unity_plugin/articles/Interaction-System.html}, + year = {2020}, +} + +@misc{SteamVR_Skeleton_Poser_2022, + note = {letzter Zugriff am 05.03.2022}, + author = {Valve}, + title = {Valve - SteamVR Skeleton Poser}, + url = {https://valvesoftware.github.io/steamvr_unity_plugin/articles/Skeleton-Poser.html}, + year = {2020}, +} + +////////////////OpenVR//////////////// diff --git a/pics/steamVR-Input-SaveAndGenerate.png b/pics/steamVR-Input-SaveAndGenerate.png new file mode 100644 index 0000000000000000000000000000000000000000..0c0898f687b64029261fe29e68135899c0f4bbd0 GIT binary patch literal 19988 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 ME2tw2ADjC9KiL-87ytkO literal 0 HcmV?d00001 diff --git a/pics/steamVR_Input_MenuItem.png b/pics/steamVR_Input_MenuItem.png new file mode 100644 index 0000000000000000000000000000000000000000..aa539297549ddb02a517ec7369b514ebba8c944a GIT binary patch literal 34199 zcmY(q1yo#36D^86g9dkk1$TD~fgpk4?(XhBNN|EX1PQ_2-8Hxc5AN=~L%#ps_a1Ap zfSEZ>cXf5uuDz?n73HN-kqD3=ARtg>K1zInfPm73fPln7fC64&l`ZE6en2{Xkrsm} zA1B%e{(vzP{VWOrQ5A#yWB?2NjcET-!wCWc)bsWYIbc_847`ZvEUE6SY-j51X5eT7 zVQ*kz>&#?p;!MWD#LC2hC1TzS0TF^ABO$8du6vvb@2xV>bmI_DNE3bBOI2Uh1*iP^ zlnfG6G7OZ58&2WLn&-wc`w>muu1QS7lmkq>#-*>7iV)Tt!;!PoQ^5A!513 zs-V})?ANE~Q$N4MvIaIbHVR5gSy@>R;630|s0eC~cgGEDy3Nk}d%yFQl$4$yt`FzR zwA9t{D*la_2f6VH)L^rWgMq09$aZPUv9Hp|Gb@`;9mFND6oXQ-luK1Hz$A6 zV`D3g2BIS(B4UJJ?ha;4+q`Z`1U*%NF`b;8Jox|pTLL6gUhl`_hR2&@LQG7@{iz?X zPrJflPmgP_S)5il6sN71AXBi@?zjnKREEwZ?cJnwt3DmU{hnfFq$YoCbgtX9Sg6GN z#&rf}9t&|Yug+La_M@NbByoMU-z`O~ZVA0&(z3S?CdaA!lEJ~K9(EILt|WUKgrJtB zM~j0KHm#_bz!S!S<7izzwfCs}N=v$x1)KtUOrQYkfGrNnV_T2ZsVowb{PwR!6}}_n zp8JW8SIV2;4=4JtHuHuf_XeP^j`6u|Y2!%xjT)pZ14Kb<-j`!cI?c|r=R!YA;W~?R*ggw)YRbMbz0D@Hq{uiOf6^729Epqh>Cc~0 z)h*Li;#jJTBgFcF?oj%V!7FR;Xuu*!Q#CngAnK29`YS|%p#cqW3q;ZHaKF|`twB1> z)U9aygCwL^k-VQhBm-I=WJ3kdFBYt#W^kCmdOp{)QH0!@4Yq%(O-6qH{At&IzoRt_ zIMD9oC(D+Q7$Kw@Y!0XC{kaKT=Fwd#qZMf z6xS(9X8LkMt%Uji-~6Xe%>JsSb7LL=^WPDz(L5<)Kbnphk#A>lAnyFRGBJ?N8 zpFGg^q>V45^Y7VcD*IR(XUpxX*J;P=3p}ZJrNwk1EtlQu({E`~o8Nh`)M39CODozn zwY5jRDGR4*B4&6cUa6;FKN!`yoEo_*k^nihq%FmWfoz!PT*Qw_y|%a}L+dKW`^ z92aS;Dq+M^sGLi)`*{#qj46Ssu|Pw~uFOvRM1NR{d%#u0j;eV|^YYSgwH1SoJb+`z zq)ciJdNo^BM65Pt!9QtmvJ>67d|EJmX-~+d^~R9BYguNDYQ8bMc=Cd984o1(lOl}5 z#nKDgQRA)`gPF!6JM*ZlWC~qO7PUt-7j+`XYdmjO-wnYS7iHNAbQmb@@v0GA6f*Ez zIUY5|h(OcJrouW}QlXrjVy4PZvt-1l8d|_uKD3&MOcL}*t!>mT^M>0_NmxR&$S#8N z)?Vcf0D#eb?3<4AQ?U1^iuKLXDxN%xc z8TW*u^1E8EH8~B8XYzB~uG|e$#{AOj$ZB)bR8{5jy0MML{gZsY+JV+ zAZvn?uyQQy?MEq#(y1#NNQ;_Zu<8Fo#YJylA5t7;0R

v8i6Zo0WL~!LuVH$ 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 literal 0 HcmV?d00001 diff --git a/sections/implementation.tex b/sections/implementation.tex index 8dd1ea7..0c2c18b 100644 --- a/sections/implementation.tex +++ b/sections/implementation.tex @@ -205,6 +205,7 @@ RaycastHit hit; \end{lstlisting} \section{3d Welt}\label{sec:3d-world} +\setauthor{Florian Beckerle} Jedes Spiel besitzt eine Spielwelt. Babei ist es egal ob es sich um eine 3D oder 2D Applikation handelt. Unter den Begriff Spielwelt fällt die Umgebung in welcher sich der Spieler befindet. @@ -252,6 +253,7 @@ In Forsaken starb Cayde jedoch und viele trauerten um ihn, als Gedenken wurde di \subsection{City Grid System}\label{subsec:city-grid-system} +\setauthor{Florian Beckerle} Um die Gestaltung der Welt in BeamVR zu erleichtern, wurde ein Grid System verwendet. Dafür ist die Stadt in ein Raster aufgeteilt, an welchem sich alle Objekte der Welt auf allen 3 Achsen (x,y,z) orientieren. Unity stellt, wie in Abb. ~\ref{fig:grid-system-unity} zu sehen, so ein Grid Snapping System zur Verf\"ugung. @@ -280,6 +282,7 @@ Als n\"achstes findet man unter dem Bereich World Grid ein Attribut namens Size, \subsection{Stadt}\label{subsec:city} +\setauthor{Florian Beckerle} Jede Stadt hat viele verschiedene Strukturen wie zum Beispiel Sehensw\"urdigkeiten, Bauwerke und Einrichtungen wie Kinos, Theater oder Restaurants. F\"ur BeamVR wurden daher insgesamt \"uber 34 Geb\"aude Modelle erstellt um eine Vielfalt in der Umgebung zu erreichen, siehe Abb. ~\ref{fig:beamvr_building-variety}. @@ -300,6 +303,7 @@ TODO: PERFORMANCE ERHÖHEN MITHILFE VON MAPS UND TEXTUREN ERKKLÄREN!!!! (hier) \subsection{Tag Stadt}\label{subsec:day-city} +\setauthor{Florian Beckerle} Es wurden 17 der 34 verschieden Geb\"aude f\"ur diese Map modelliert, siehe Abb. ~\ref{fig:beamvr_building-variety}. Der Fokus bei der Gestaltung des Bauwerke lag darauf, dass diese m\"oglichst realistisch aussehen und dennoch nicht zu rechenaufwendig in der Darstellung sind. Daher wurden Texturen verwendet um kleinere Details an den Fassaden darzustellen, statt diese zu modellieren. @@ -316,6 +320,7 @@ Daher wurden alle umliegenden Bauwerke mindestens 3 Meter h\"oher gemacht, als d \end {figure} \subsection{Nacht Stadt}\label{subsec:night-city} +\setauthor{Florian Beckerle} In der Nacht Version der Stadt wurde die Skybox angepasst. Diese zeigt nun einen Sternenhimmel. Es handelt sich hierbei um eine Sphere oder Box, welche sich um die Spielwelt befindet, sie wird dazu benutzt um einen Himmel oder andere Umgebungen, @@ -332,6 +337,7 @@ haben noch eigene Lichtquellen. \end {figure} \subsection{Apocalypse Stadt}\label{subsec:apocalypse-city} +\setauthor{Florian Beckerle} F\"ur diese Umgebung wurden alle Geb\"aude nochmal \"uberarbeitet. Statt den intakten Glasfassaden werden nun vor barrikadierte Fenster und Ziegelsteine ohne Verputz f\"ur die Bauwerke verwendet, siehe Abb. ~\ref{fig:beamvr_damaged_texture}. Durch diese \"Anderung sieht die Stadt verlassen und postapokalyptisch aus. @@ -356,6 +362,7 @@ Die Planzen und B\"aume wurden durch ausgetrocknete B\"usche ausgetauscht, damit \section{Sound Design}\label{sec:sound} +\setauthor{Florian Beckerle} Ohne Sound Design würden die Maps von BeamVR unrealisitsch, da in einer Stadt immer etwas los ist. In der virtuellen Umgebung der verwendeten Game Engine existieren anfangs keine Geräusche, diese m\"ussen von den Entwicklern selber erstellt und eingef\"ugt werden. @@ -376,6 +383,7 @@ Wenn der Spieler auf einem Pferd durch eine Weide reitet, kann eine dramatische Die Informationen für die Absätze wurden hier gefunden ~\cite{GK_Media_Factory_Sound_Design_2022}. \subsection{Apocalypse}\label{subsec:apocalypse-background-sound} +\setauthor{Florian Beckerle} Die Musik in der Apocalypse Map ist stark an das Horror Genre angelegt. Die Melodie ist jedoch nicht wirklich existent, stattdessen existiert ein durchgehendes pfeifendes Ger\"ausch, welches unterbewusst das Spannungslevel erh\"oht. Der Spieler f\"uhlt sich etwas unbehaglich und alleine. @@ -384,16 +392,19 @@ Dadurch wirkt die Stadt, neben den br\"ockelnden H\"ausern, zus\"atzlich noch me Da die Sicht in dieser Map stark durch einen gelblichen Nebel, der wie ein Sandsturm wirkt, eingeschr\"ankt ist, kann man im Hintergrund den Wind pfeifen h\"oren. \subsection{City}\label{subsec:day-night-background-sound} +\setauthor{Florian Beckerle} Die Hintergrundger\"ausche der Tag und Nacht Version der Stadt sind sehr \"ahnlich. Der Spieler kann Motorr\"ader und Autos auf den Straßen vorbeifahren h\"oren. Hin und wieder kann man Menschen, die man nicht sehen kann, bei kurzen Gespr\"achen miteinander zuh\"oren und ein Kind husted im Hintergrund. \subsection{Event}\label{subsec:building-collapse-sound} +\setauthor{Florian Beckerle} Um spezifische Events, also bestimmte Dinge welche in der Welt passieren, f\"ur den Benutzer besser erkennbar zu machen, wurden zus\"atzlich Ge\"ausche eingef\"ugt. Auf der Apocalypse Map sind zusammenbrechende Geb\"aude zu h\"oren, um die schlechte instandhaltung der verlassenen Stadt erneut zu verdeutlichen. Aber wenn der Benutzer genauer hinsieht, kann man w\"ahrend diese Sounds h\"orbar sind, auch tats\"achlich eine kleine Auswahl an Bauwerken br\"ockeln sehen. \section{Effects}\label{sec:effects} +\setauthor{Florian Beckerle} Unity bietet verschiedene M\"oglichkeiten um das Aussehen der Applikation zu beeinflussen. Mithilfe von Post Processing kann man Effekte zu dem Buffer der Kamera, also dem Aktuellen Frame der gerade Aufgenommen wurde, hinzuf\"ugen bevor etwas am Bildschirm Angezeigt wird. Eine kleine Auswahl von diesen Effekten sind zum Beispiel Bloom, Grain oder Color Grading. @@ -553,6 +564,7 @@ Bei der Sat vs Sat Kurve werden einfache Veränderungen der Farbe wie beim Color Die letzte Option heißt Lum vs Sat Kurve und ermöglicht es in bestimmten Gebieten die Sättigung zu verringern, wie zum Beispiel in dunklen Stellen. \subsection{Nebel}\label{subsec:fog-effect} +\setauthor{Florian Beckerle} Unity bietet mehrere M\"oglichkeiten Nebel darzustellen. Zum Beispiel mittels Post Processing, oder mithilfe der Lighting Einstellungen. F\"ur BeamVR wurde die zweite Variante verwendet, da der Nebel in BeamVR kein Hauptaugenmerk ist und mithilfe dieser Methode das Einstellen für BeamVR schneller ging. @@ -609,6 +621,7 @@ Mittels eines Filters kann eine Unschärfe der eingehenden Lichter geschaffen we \subsection{Lichter}\label{subsec:light-effect} +\setauthor{Florian Beckerle} In der Nacht Map wurden die von Unity bereitgestellten Point-Lights als Straßenlichter benutzt. Point Lights k\"onnen mithilfe eines Radius auf einen bestimmten kreisf\"ormigen Bereich eingegrenzt werden. Weiters wird mithilfe der Lichtst\"arke die Wirkkraft des Lichtes in diesem Gebiet genauer bestimmt. diff --git a/sections/technologies.tex b/sections/technologies.tex index f645e00..b678ec8 100644 --- a/sections/technologies.tex +++ b/sections/technologies.tex @@ -383,8 +383,127 @@ Die folgenden Vorteile und Nachteile beziehen sich auf die Source 2 Engine. \end{itemize} +\subsection{VR in Unity} +\setauthor{Florian Beckerle} +Unity bietet bereits eine eingebaute basis VR API, welche ein paar Features für die Verwendung von VR Geräten zur Verfügung stellt. +Diese muss jedoch erst Eingstellt werden, das geht in folgenden Schritten. + +Um Vr für die Spiele zu aktivieren, müssen zuerst den Player Settings, welche im Menu bei Edit > Project Settings > Player zu finden sind, geöffnet werden. +Als nächstes muss die Option Virtual Reality Supported aktiviert werden, dass in der Box ein Häcken zu erkennen ist, siehe Abb. ~\ref{fig:unity_vr_api_settings}. +In der darunter stehenden Liste, namens Virtual Reality SDKs, können nun mit dem Plus-Knopf eine neue SDK hinzugefügt werden. +Ein Beispiel hierfür wäre die Oculus SDK. +Der Minus-Knopf bietet die Möglichkeit diese SDKs wieder zu entfernen, siehe Abb. ~\ref{fig:unity_vr_api_settings}. +~\cite{Unity_VR_Overview_2022} + +Wenn VR aktiviert wurde, wird das Spiel automatisch auf die VR-Brille gerendert und dort angezeigt. +Weiters besitzt jede Kamera, welche im Spiel ist, eine Option, auf welches Auge das Ausgangsignal angezeigt werden soll, zum Beispiel linkes-, rechtes-, beide- oder keine Augen. +Unter den Augen versteht man die Bildschirme der VR-Brille welche sich vor den Augen des Benutzers befinden. +Ein weiteres automatisches Feature ist, dass die Bewegung der VR-Brille in der realtität auf die Position der Kamera im Spiel übertragen wird. + +Unity empfielt für die verwendung der Api folgende Brillen, Gear VR, Oculus CV1 und die Vive. +~\cite{Unity_VR_Overview_2022} + +\begin {figure} + \centering + \includegraphics[scale=0.8]{pics/unity_basis_vr_api_settings} + \caption{Unity VR API - Settings} + \label{fig:unity_vr_api_settings} +\end {figure} \subsection{VR Plugin} +\setauthor{Florian Beckerle} +Für BeamVR wurde das SteamVR Unity Plugin verwendet. +Es wurde von Valve entwickelt und bietet bereits eine Vielzahl an vorgefertigten Demos, welche mit der Installation des Plugins mitgeliefert werden, diese werden später genauer beschrieben.. +~\cite{SteamVR_Overview_2022} + +\subsubsection{Quickstart} +\setauthor{Florian Beckerle} +Für das Setup des SteamVR Unity Plugins sind 5 Schritte notwendig. +Damit alles Funktioniert muss SteamVR von Steam und das Plugin vom Unity Asset Store gedownloaded werden. +Nachdem die Installation beider Softwares abgeschlossen wurde, muss das Plugin, über den Package Manager, in das Unity Projekt importiert werden. +Im Menu Window wird nun eine neue Option namens SteamVR Input angezeigt, siehe Abb. ~\ref{fig:steamvr_input_menu_item}. +\begin {figure} + \centering + \includegraphics[scale=0.9]{pics/steamVR_Input_MenuItem} + \caption{Steam VR - Input Menu Item} + \label{fig:steamvr_input_menu_item} +\end {figure} +Wenn man auf diese klickt erscheint ein Popup welches fragt ob JSON Files kopiert werden sollen, dort drückt man auf Ja, siehe Abb. ~\ref{fig:steamvr_copy_json}. +\begin {figure} + \centering + \includegraphics[scale=1]{pics/steamVR_Input_CopyJSON} + \caption{Steam VR - Copy JSON} + \label{fig:steamvr_copy_json} +\end {figure} +Nachdem der Vorgang abschlossen ist, öffnet sich das SteamVR Input Fenster, dort muss nun Save and Generate gedrückt werden, siehe Abb. ~\ref{fig:steamvr_save_and_generate}. +\begin {figure} + \centering + \includegraphics[scale=0.6]{pics/steamVR-Input-SaveAndGenerate} + \caption{Steam VR - Save and Generate} + \label{fig:steamvr_save_and_generate} +\end {figure} +Nun ist die Installation abgeschlossen und das SteamVR Unity Plugin ist einsatzbereit. +~\cite{SteamVR_Quickstart_2022} + +\subsubsection{Render Models} +\setauthor{Florian Beckerle} +Das SteamVR Unity Plugin bietet eine virtuelle Darstellung der Kontroller, welche der Benutzer in den Händen hält. +Die gezeigten Modelle benötigen hierfür mehrere Attribute, siehe Abb. ~\ref{fig:steamvr_render_models Script}. +\begin {figure} + \centering + \includegraphics[scale=1]{pics/steamVR_render_models_script} + \caption{Steam VR - Render Models Script} + \label{fig:steamvr_render_models Script} +\end {figure} +Der Index ist der Index des getrackten Gerätes, und wird vom System wie eine ID zur Erkennung verwendet. +Mittels dem Model Override kann man für Testzwecke ein bestimmtes Modell festlegen welches angezeigt werden soll. +Die Shader können die Darstellung des Objektes verändern. +Verbose gibt die Vorgänge im Script in der Konsole aus, diese Option wird jedoch nur für das Testen benötigt. +Create Components erstellt individuelle Objekte für jeden Komponenten welcher verfügbar ist. +Update Dynamically bewegt die einzelnen Komponenten gleich wie die physischen Gegenstücke. +~\cite{SteamVR_Render_Models_2022} + +\subsubsection{Input} +\setauthor{Florian Beckerle} +Die die Hardware für VR Geräte schnell weiterentwickelt wird, hat Valve auf ein KeyBinding System zurückgegriffen. +Die Entwickler und die Benutzer selbst können für neue oder breits vorhandene Hardware einstellen, welche Funktion die einzelnen Knöpfe und Trigger haben. +Diese Aktionen wurden in 6 verschiedene Input Typen und einen Output Typen aufgeteilt. + +Die Aktion Boolean besitzt zwei Zustände, true und false. +Sie wird oft benutzt um Objekte zu greifen, da man zum Beispiel einen Würfel entweder aufheben können soll oder nicht. + +Single Aktionen können analoge Werte zwischen 0 und 1 annehmen und wird für Situationen benutzt wo der Boolean nicht ausreicht. +Ein Anwendungsfall ist ein Auto, welches bei 0 stehen bleibt und bei 1 Vollgas fährt. +Als Eingabe kann zum Beispiel der Trigger des Kontrollers benutzt werden. + +Vector2 besitzt zwei Werte, X und Y. +Die Bewegungen des Kontrollers werden hierbei nur auf zwei Achsen gemessen. + +Vector3 besitzt im Gegensatz zu Vector2 drei verschiedenen Werte X, Y und Z. +Diese Aktion wird selten benutzt, findet aber zum Beispiel im SteamVR Home einen Anwendungsfall beim Scrollen. + +Pose gibt die Position und Rotation in einem dreidimensionalen Raum wieder. +Es wird dazu benutzt um die Bewegungen der Controller zu messen und digital nachzubilden. + +Skeleton benutzt das SteamVR Skeleton Input um die ungefähre Position und Rotation der Finger zu erkennen, während der Kontroller in den Händen gehalten wird. + +Vibration werden für haptisches Feedback bei VR Geräten verwendet. +Hierbei vibrieren der Kontroller, eine spezielle Haptik Weste oder ein preparierter Sessel. +~\cite{SteamVR_Input_2022} + +\subsubsection{Skeleton Input} +\setauthor{Florian Beckerle} +~\cite{SteamVR_Skeleton_Input_2022} + +\subsubsection{Interaction System} +\setauthor{Florian Beckerle} +~\cite{SteamVR_Interaction_System_2022} + + +~\cite{SteamVR_Skeleton_Poser_2022} + +OpenVR Plugin + \subsection{Steam}