Described Fabrik and FabrikRoot
This commit is contained in:
10
.idea/runConfigurations.xml
generated
Normal file
10
.idea/runConfigurations.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RunConfigurationProducerService">
|
||||||
|
<option name="ignoredProducers">
|
||||||
|
<set>
|
||||||
|
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
% makeindex style file created by the glossaries package
|
% makeindex style file created by the glossaries package
|
||||||
% for document 'thesis' on 2022-3-14
|
% for document 'thesis' on 2022-3-27
|
||||||
actual '?'
|
actual '?'
|
||||||
encap '|'
|
encap '|'
|
||||||
level '!'
|
level '!'
|
||||||
|
|||||||
16
bib.bib
16
bib.bib
@@ -670,6 +670,22 @@
|
|||||||
year = {2021},
|
year = {2021},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{FinalIK_FABRIK_2021,
|
||||||
|
note = {letzter Zugriff am 27.03.2022},
|
||||||
|
author = {RootMotion},
|
||||||
|
title = {Final IK - FABRIK},
|
||||||
|
url = {http://www.root-motion.com/finalikdox/html/page6.html},
|
||||||
|
year = {2021},
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{FinalIK_FABRIK_ROOT_2021,
|
||||||
|
note = {letzter Zugriff am 27.03.2022},
|
||||||
|
author = {RootMotion},
|
||||||
|
title = {Final IK - FABRIK ROOT},
|
||||||
|
url = {http://www.root-motion.com/finalikdox/html/page7.html},
|
||||||
|
year = {2021},
|
||||||
|
}
|
||||||
|
|
||||||
@misc{Oculus_2021,
|
@misc{Oculus_2021,
|
||||||
author = {Oculus},
|
author = {Oculus},
|
||||||
year = {2021},
|
year = {2021},
|
||||||
|
|||||||
BIN
pics/finalik_fabrik_root_script.png
Normal file
BIN
pics/finalik_fabrik_root_script.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
pics/finalik_fabrik_script.png
Normal file
BIN
pics/finalik_fabrik_script.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
pics/inalik_fabrik_root_example.png
Normal file
BIN
pics/inalik_fabrik_root_example.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
@@ -649,14 +649,14 @@ Die API besteht aus mehreren C++ Interface Klassen.
|
|||||||
Wenn die Applikation ausgeführt wird, liefert OpenVR, je nach vorhandenem SDK, das benötigte Interface zurück.
|
Wenn die Applikation ausgeführt wird, liefert OpenVR, je nach vorhandenem SDK, das benötigte Interface zurück.
|
||||||
~\cite{OpenVR_Github_Documentation_2020}
|
~\cite{OpenVR_Github_Documentation_2020}
|
||||||
|
|
||||||
\subsubsection{OpenVR Treiber}
|
%%\subsubsection{OpenVR Treiber}
|
||||||
|
|
||||||
~\cite{OpenVR_SteamWorks_Documentation_2020}
|
%%~\cite{OpenVR_SteamWorks_Documentation_2020}
|
||||||
|
|
||||||
|
|
||||||
\subsection{Steam}\label{subsec:steam}
|
%%\subsection{Steam}\label{subsec:steam}
|
||||||
|
|
||||||
\subsection{Vive Wireless}
|
%%\subsection{Vive Wireless}
|
||||||
|
|
||||||
\subsection{Final IK Plugin}
|
\subsection{Final IK Plugin}
|
||||||
Final IK ist ein Unity Asset, welches von RootMotion entwickelt wurde.
|
Final IK ist ein Unity Asset, welches von RootMotion entwickelt wurde.
|
||||||
@@ -764,7 +764,88 @@ Mit CCD ist es Möglich die Beine so auszurichten, dass der Boden mit allen Glie
|
|||||||
~\cite{FinalIK_CCD_2021}
|
~\cite{FinalIK_CCD_2021}
|
||||||
|
|
||||||
\subsubsection{FABRIK}
|
\subsubsection{FABRIK}
|
||||||
\subsubsection{FABRIK IK}
|
Fabrik kann auf einer beliebigen Anzahl an Knochen-Segmenten mit Rotations-Limits verwendet werden.
|
||||||
|
Es benutzt eine Methode welche die neue Position von Gelenken in beide Richtungen, also Vorwärts und Rückwerts,
|
||||||
|
von einem Gelenk zum nächsten, berechnen kann.
|
||||||
|
|
||||||
|
Ein Vorteil von FABRIK ist, dass die Knochenlängen während der Laufzeit verändert werden können,
|
||||||
|
die Änderungen werden automatisch erkannt und neu berechnet. Ein Anwendungsfall für Fabrik ist in Abb. ~\ref{fig:finalIK_fabrik_example} zu sehen.
|
||||||
|
\begin {figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.4]{pics/finalik_fabrik_pose}
|
||||||
|
\caption{Final IK - Fabrik Example}
|
||||||
|
\label{fig:finalIK_fabrik_example}
|
||||||
|
\end {figure}
|
||||||
|
|
||||||
|
Damit Fabrik benutzt werden kann, werden mehrere Variablen benötigt, siehe Abb. ~\ref{fig:finalIK_fabrik_script}.
|
||||||
|
Target, beschreibt die Position eines Zieles, zu welchem sich der Arm bewegen soll.
|
||||||
|
Die Position aller Knochen und Gelenke richtet sich automatisch so aus, dass der Arm auf das Ziel zeigt.
|
||||||
|
|
||||||
|
Weight kann dazu benutzt werden, um die Änderungen von Fabrik ein- und auszublenden. Ein Wert von 1 bedeutet,
|
||||||
|
dass alle Änderungen mit voller Kraft vorgenommen werden, wird der Wert nun näher an 0 gesetzt,
|
||||||
|
werden die Effekte nicht mehr übernommen.
|
||||||
|
|
||||||
|
Tolerance gibt die minimale Distanz an, welche die Zielposition bewegt werden muss,
|
||||||
|
bevor Fabrik die Berechnung aller Gelenke erneut startet. Liegt die Positionsänderung unter dem
|
||||||
|
Toleranzbereich wird nichts unternommen.
|
||||||
|
|
||||||
|
MaxIterations gibt die maximale Anzahl an Iterationen, welche in einem Frame durchgeführt werden dürfen.
|
||||||
|
Während den Iterationen wird die Position der Knochen und Gelenke berechnet.
|
||||||
|
|
||||||
|
UseRotationLimits gibt an, ob die Rotationslimits auf den Einzelnen Knochen bei der Berechnung der Position
|
||||||
|
miteinbezogen werden sollen, oder nicht.
|
||||||
|
|
||||||
|
Bei Bones, handelt es sich um eine Liste, welche alle Knochen beinhalten soll, die bei der Berechnung der
|
||||||
|
Positionen und Rotationen, herangezogen werden sollen.
|
||||||
|
~\cite{FinalIK_FABRIK_2021}
|
||||||
|
\begin {figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.8]{pics/finalik_fabrik_script}
|
||||||
|
\caption{Final IK - Fabrik Script}
|
||||||
|
\label{fig:finalIK_fabrik_script}
|
||||||
|
\end {figure}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{FABRIK Root}
|
||||||
|
Fabrik Root ist ein Component, welcher mehrere einzelne Fabrik Ketten miteinander verbinden lässt.
|
||||||
|
Hierbei kann es sich um kompliziertere Systeme mit mehreren Abzweigungen handeln, siehe Abb. ~\ref{fig:finalIK_fabrik_root_example}
|
||||||
|
|
||||||
|
\begin {figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.8]{pics/finalik_fabrik_root_example}
|
||||||
|
\caption{Final IK - Fabrik Root Script}
|
||||||
|
\label{fig:finalIK_fabrik_root_example}
|
||||||
|
\end {figure}
|
||||||
|
|
||||||
|
Damit Fabrik Root richtig funktioniert müssen, ähnlich wie bei Fabrik, verschiedene Variablen angegeben werden,
|
||||||
|
siehe Abb. ~\ref{fig:finalIK_fabrik_root_script}.
|
||||||
|
|
||||||
|
Weight wird benutzt, um die Änderungen von FabrikRoot und Fabrik ein- und auszublenden.
|
||||||
|
Ein Wert von 1 bedeutet, dass alle Änderungen mit voller Kraft vorgenommen werden, wird der Wert nun auf 0 gesetzt,
|
||||||
|
werden die Effekte nicht mehr übernommen.
|
||||||
|
|
||||||
|
Iterations gibt die Anzahl an Iterationen, welche in einem Frame durchgeführt werden dürfen, an.
|
||||||
|
Hierbei wird in jeder Iteration die Position und Rotation aller angegebenen Fabrik Ketten berechnet.
|
||||||
|
|
||||||
|
RootPin befestigt die Fabrik Ketten an einen Bestimmten Ort, welcher zum Beispiel auf einem Objekt,
|
||||||
|
oder irgendwo in der Luft platziert werden kann. Dieser Punkt kann nicht durch die Fabrik Ketten bewegt werden.
|
||||||
|
|
||||||
|
Chains ist eine Liste an Fabrik.
|
||||||
|
IK gibt den Fabrik Komponent an, welcher die Position und Rotation einer Knochenkette berechnet.
|
||||||
|
|
||||||
|
Pull gibt an wie stark diese Kette die, in der Hierarchie übergestellte, Kette bewegen darf.
|
||||||
|
|
||||||
|
Pin gibt an, wie stark die Kette von einer Kette, welche in der Hierarchie untergeordnet ist, bewegt werden kann.
|
||||||
|
|
||||||
|
Children ist eine Liste von Indizes, welche auf die, in der Hierarchie untergeordneten, Fabrik verweist.
|
||||||
|
|
||||||
|
\begin {figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{pics/finalik_fabrik_root_script}
|
||||||
|
\caption{Final IK - Fabrik Root Script}
|
||||||
|
\label{fig:finalIK_fabrik_root_script}
|
||||||
|
\end {figure}
|
||||||
|
|
||||||
\subsubsection{Full Body Biped IK}
|
\subsubsection{Full Body Biped IK}
|
||||||
\subsubsection{Grounder}
|
\subsubsection{Grounder}
|
||||||
\subsubsection{Interaction System}
|
\subsubsection{Interaction System}
|
||||||
|
|||||||
Reference in New Issue
Block a user