Final IK description
Finished - Final IK Overview (1-2 Senteces) - Aim IK - Arm IK - Baker Komponent - Biped IK
@@ -1,5 +1,5 @@
|
||||
% makeindex style file created by the glossaries package
|
||||
% for document 'thesis' on 2022-3-12
|
||||
% for document 'thesis' on 2022-3-13
|
||||
actual '?'
|
||||
encap '|'
|
||||
level '!'
|
||||
|
||||
44
bib.bib
@@ -616,8 +616,48 @@
|
||||
////////////////Final IK////////////////
|
||||
@misc{FinalIK_Overview_2020,
|
||||
note = {letzter Zugriff am 12.03.2022},
|
||||
author = {SteamWorks},
|
||||
title = {OpenVR - SteamWorks Documentation},
|
||||
author = {RootMotion},
|
||||
title = {Final IK - Overview},
|
||||
url = {http://www.root-motion.com/finalikdox/html/index.html},
|
||||
year = {2020},
|
||||
}
|
||||
|
||||
@misc{FinalIK_AssetStore_2021,
|
||||
note = {letzter Zugriff am 13.03.2022},
|
||||
author = {RootMotion},
|
||||
title = {Final IK - Unity Asset Store},
|
||||
url = {https://assetstore.unity.com/packages/tools/animation/final-ik-14290},
|
||||
year = {2021},
|
||||
}
|
||||
|
||||
@misc{FinalIK_AimIK_2021,
|
||||
note = {letzter Zugriff am 13.03.2022},
|
||||
author = {RootMotion},
|
||||
title = {Final IK - AimIK},
|
||||
url = {http://www.root-motion.com/finalikdox/html/page1.html},
|
||||
year = {2021},
|
||||
}
|
||||
|
||||
@misc{FinalIK_ArmIK_2021,
|
||||
note = {letzter Zugriff am 13.03.2022},
|
||||
author = {RootMotion},
|
||||
title = {Final IK - ArmIK},
|
||||
url = {http://www.root-motion.com/finalikdox/html/page2.html},
|
||||
year = {2021},
|
||||
}
|
||||
|
||||
@misc{FinalIK_Baker_2021,
|
||||
note = {letzter Zugriff am 13.03.2022},
|
||||
author = {RootMotion},
|
||||
title = {Final IK - Baker},
|
||||
url = {http://www.root-motion.com/finalikdox/html/page3.html},
|
||||
year = {2021},
|
||||
}
|
||||
|
||||
@misc{FinalIK_BipedIK_2021,
|
||||
note = {letzter Zugriff am 13.03.2022},
|
||||
author = {RootMotion},
|
||||
title = {Final IK - Biped IK},
|
||||
url = {http://www.root-motion.com/finalikdox/html/page4.html},
|
||||
year = {2021},
|
||||
}
|
||||
BIN
pics/finalik_aimik_pose.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
pics/finalik_aimik_script.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
pics/finalik_armik_script.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
pics/finalik_baker_GenericBakerComponent.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
pics/finalik_baker_HumanoidBakerComponent.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
pics/finalik_bipedik_script.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
pics/finalik_fabrik_pose.png
Normal file
|
After Width: | Height: | Size: 1023 KiB |
@@ -604,10 +604,93 @@ Wenn die Applikation ausgeführt wird, liefert OpenVR, je nach vorhandenem SDK,
|
||||
\subsection{Vive Wireless}
|
||||
|
||||
\subsection{Final IK Plugin}
|
||||
\subsubsection{Aim IK}
|
||||
Final IK ist ein Unity Asset, welches von RootMotion entwickelt wurde.
|
||||
Es wurde kostenlos für die Erstellung von BeamVR bereitgestellt und regelt das Full Body Tracking.
|
||||
Hierbei wird das Full Body Biped IK, welches inbegriffen ist, verwendet.
|
||||
~\cite{FinalIK_Overview_2020}
|
||||
|
||||
\subsubsection{AimIK}
|
||||
AimIK rotiert die Knochen des 3D-Modells, so dass auf ein Objekt gezielt werden kann.
|
||||
Es wird hierbei nicht die eingebaute LookAt Funktion des Animators benutzt, da die Objekte mit denen gezielt wird, nicht mit den Achsen des Modells übereinstimmen.
|
||||
AimIK ermöglicht ein natürlich aussehendes Ergebnis, selbst wenn sich das Ziel beinahe hinter dem zielendem Objekt befindet.
|
||||
Rotation limits verhindern, dass das Skelett in unnatürliche Bewegungen und Stellungen verändert wird.
|
||||
Bei menschenähnlichen Modellen, limitiert diese Einstellung die Gelenke auf die gleichen Bewegungsmöglichkeiten wie bei einem Menschen, siehe Abb. ~\ref{fig:finalIK_aimIK_pose}.
|
||||
Diese können jedoch frei verändert werden, was jedoch zu unrealistischen Posen führen kann.
|
||||
\begin {figure}
|
||||
\centering
|
||||
\includegraphics[scale=0.4]{pics/finalik_aimik_pose}
|
||||
\caption{Final IK - AimIK Pose}
|
||||
\label{fig:finalIK_aimIK_pose}
|
||||
\end {figure}
|
||||
|
||||
Damit die Berechnung der Pose funktioniert, werden mehrere verschiedene Einstellungsmöglichkeiten bereitgestellt, siehe Abb. ~\ref{fig:finalIK_aimIK_script}.
|
||||
Um zu wissen worauf gezielt werden soll, muss zuerst ein Ziel festgelegt werden, dies ist möglich bei der Variable Target.
|
||||
Aim Transform ist das Objekt, mit welchem gezielt werden soll.
|
||||
Dabei kann es sich um viele verschiedene Objekte, wie Waffen oder ein Hand die auf etwas zeigen soll, handeln.
|
||||
Axis gibt an in welche Richtung das Objekt zielt.
|
||||
Wenn zum Beispiel ein Laserpointer den Laser in Richtung der Z-Achse abstrahlt muss die Achse auf (0,0,1) gesetzt werden, da das Schema (x,y,z) ist.
|
||||
Damit die richtigen Knochen bewegt werden, wenn auf ein Ziel gezielt wird, müssen diese bei Bones Definiert werden.
|
||||
Das Wight steuert wie stark die veränderungen des Scripts auf die tatsächliche Position des Knochen einwirken sollen.
|
||||
Bei 0 wird der Knochen kaum bis garnicht verändert, wenn der Wert jedoch 1 ist, wird die ursprüngliche Position komplett verändert.
|
||||
\begin {figure}
|
||||
\centering
|
||||
\includegraphics[scale=0.7]{pics/finalik_aimik_script}
|
||||
\caption{Final IK - AimIK Script}
|
||||
\label{fig:finalIK_aimIK_script}
|
||||
\end {figure}
|
||||
~\cite{FinalIK_AimIK_2021}
|
||||
|
||||
\subsubsection{Arm IK}
|
||||
ArmIK stellt die Position und Rotation der Knochen eines Armes so ein, dass die Hand möglichst nahe an der Zielposition platziert ist.
|
||||
Hierfür werden 5 Knochen benötigt, Chest, Shoulder, Upper Arm, Forearm und Hand, siehe Abb. ~\ref{fig:finalIK_armIK_script}.
|
||||
Chest befindet sich im Oberkörper des Modells und ist am nähesten am Arm dran.
|
||||
Shoulder ist der Schulterknochen, Upper Arm ist der Oberarm Knochen, Forearm ist der Unterarm Knochen und Hand befindet sich in der Hand.
|
||||
Hierbei werden die Finger nicht beachtet, da es nur um die Berechnung der Position des Armes handelt.
|
||||
Mithilfe der Target Variable wird erneut ein Ziel festgelegt, welches die Zielposition der Hand angiebt.
|
||||
\begin {figure}
|
||||
\centering
|
||||
\includegraphics[scale=1]{pics/finalik_armik_script}
|
||||
\caption{Final IK - ArmIK Script}
|
||||
\label{fig:finalIK_armIK_script}
|
||||
\end {figure}
|
||||
~\cite{FinalIK_ArmIK_2021}
|
||||
|
||||
\subsubsection{Baker}
|
||||
\subsubsection{Bipaed IK}
|
||||
Der Baker ist ein Tool welches die Aufnahme von Animations Clips ermöglicht.
|
||||
Um humanoide Modelle aufzunehmen, muss das Humanoid Baker Script zu dem Animierten Objekt hinzugefügt werden, siehe Abb. ~\ref{fig:finalIK_humanoid_baker}.
|
||||
Für andere Modelle wird das Generic Baker Script benötigt, siehe Abb. ~\ref{fig:finalIK_generic_baker}.
|
||||
Wenn die Applikation in Unity ausgeführt wird, kann in beiden Scripten auf Bake Animation States gedrückt werden.
|
||||
Nun werden die Animationen in einen vorher ausgewählten Ordner abgespeichert und können jederzeit wiederverwendet werden.
|
||||
|
||||
\begin {figure}
|
||||
\centering
|
||||
\includegraphics[scale=1]{pics/finalik_baker_HumanoidBakerComponent}
|
||||
\caption{Final IK - Humanoid Baker}
|
||||
\label{fig:finalIK_humanoid_baker}
|
||||
\end {figure}
|
||||
\begin {figure}
|
||||
\centering
|
||||
\includegraphics[scale=1]{pics/finalik_baker_GenericBakerComponent}
|
||||
\caption{Final IK - Generic Baker}
|
||||
\label{fig:finalIK_generic_baker}
|
||||
\end {figure}
|
||||
~\cite{FinalIK_Baker_2021}
|
||||
|
||||
\subsubsection{Biped IK}
|
||||
Biped IK erlaubt die Modifikation der Position und Rotation der Knochen, eines Modelles mit 2 Beinen, 2 Armen und einem Kopf.
|
||||
Das Script erkennt die Knochen automatisch und ist sofort einsatzbereit.
|
||||
Seit FinalIK 4.0 wird jedoch FullBodyBiped IK empfohlen, da dieses eine leichtere Optimierung der IK eines Modelles erlaubt.
|
||||
|
||||
Es können wie bei vorherigen Funktionen, Animationen beliebig überschrieben werden, ohne diese tatsächlich ändern zu müssen.
|
||||
BipedIK bietet die Möglichkeit jedes Glied, also Kopf, Füße, Arme, Ober- und Unterkörper, einzeln einzustellen, siehe Abb. ~\ref{fig:finalIK_bipedik_script}.
|
||||
Weiters kann wieder ein Ziel festgelegt werden, falls der Charakter auf einen Gegenstand zielen soll.
|
||||
\begin {figure}
|
||||
\centering
|
||||
\includegraphics[scale=1]{pics/finalik_bipedik_script}
|
||||
\caption{Final IK - BipedIK Script}
|
||||
\label{fig:finalIK_bipedik_script}
|
||||
\end {figure}
|
||||
~\cite{FinalIK_BipedIK_2021}
|
||||
\subsubsection{CCD IK}
|
||||
\subsubsection{FABRIK}
|
||||
\subsubsection{FABRIK IK}
|
||||
|
||||