aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax-001 <80035972+Max-001@users.noreply.github.com>2024-09-18 16:25:37 +0200
committerMax-001 <80035972+Max-001@users.noreply.github.com>2024-09-18 16:25:37 +0200
commit105cab5fc6f88f7e71e71910c5f598d39fba3262 (patch)
treeb0d05c58446b208a4b9c25326c4c45478b7100bf
parentf89ee3feb7e514ec7fbb469a16d34569a57bd0dc (diff)
Rectified gameObject/components section, added references to gameObject/components section and created new subsubsection for the game engine's structure
-rw-r--r--research.tex34
-rw-r--r--sources.bib16
2 files changed, 34 insertions, 16 deletions
diff --git a/research.tex b/research.tex
index d453df5..f62f736 100644
--- a/research.tex
+++ b/research.tex
@@ -44,13 +44,17 @@ layers are divided into the following categories:\noparbreak
performance profiling.
\item[Scripting layer] Runs scripts, such as Lua or Python.
\item[Memory systems] Handles and monitors memory usage.
- \item[\gls{ecs}] Provides a modular way to create game objects, add physics, and
- define how the engine interacts with objects.
\item[Physics] Adds specific physics to objects.
\item[Audio] Processes audio.
\item[AI] Provides artificial inteligent behavior.
\end{description}
+\subsubsection{Structure}
+
+The above mentioned layers should be structured, somehow. One of the requirements is
+that the game engine's API uses a so-called gameObject (with one or more component(s)).
+The gameObject is described in more detail at \cref{sec:Gameobjects/components}. ...
+
\subsubsection{ECS}
A game engine must have the ability to keep track and update several game objects. To
@@ -286,6 +290,7 @@ Not considered further:
\subsection{Conclusion}
\section{Gameobjects/components}
+\label{sec:Gameobjects/components}
\subsection{Introduction}
@@ -302,16 +307,7 @@ A gameObject is the most important concept in Unity. Every object in a game is a
GameObject, from characters and collectible items to the lights, cameras and special
effects. However, a gameObject itself can't do anything on its own. A gameObject
needs to be given properties before it can become a character, an envirnment, or a
-special effect.
-% TODO: cite https://docs.unity3d.com/Manual/GameObjects.html
-
-\subsection{Conclusion}
-
-\section{AI}
-
-\subsection{Introduction}
-
-\subsection{Findings}
+special effect. \autocite{man:unityGameobjects}
A gameObject can be seen as a container for components. Components are the properties
of the gameObject. A few examples of components are sprites, animators, audioSources,
@@ -326,14 +322,20 @@ gameObject.
Each gameObject always has one transform class. The transform class describes the
position, rotation, and scale within the scene. Some component use this information
to e.g. scale a sprite. Other components eddit this information to e.g.~model
-gravity.
-% TODO: cite https://docs.unity3d.com/Manual/class-Transform.html
+gravity. \autocite{man:unityTransformClass}
A gameObject can have one (or multiple) children gameObject(s). All children
gameObjects, of course, also have one transform class. However, the position,
rotation, and scale of this class, is always the same as the child's parent. A child
-can not have more than one parent.
-% TODO: cite https://docs.unity3d.com/Manual/class-Transform.html
+can not have more than one parent. \autocite{man:unityTransformClass}
+
+\subsection{Conclusion}
+
+\section{AI}
+
+\subsection{Introduction}
+
+\subsection{Findings}
\subsection{Conclusion}
diff --git a/sources.bib b/sources.bib
index 9b08c96..d6b960b 100644
--- a/sources.bib
+++ b/sources.bib
@@ -60,3 +60,19 @@
url = {https://github.com/SanderMertens/ecs-faq?tab=readme-ov-file#should-i-write-my-own-ecs},
date = {2023}
}
+
+@manual{man:unityGameobjects,
+ title = {GameObject},
+ author = {Unity Technologies},
+ organization = {Unity},
+ url = {https://docs.unity3d.com/Manual/GameObjects.html},
+ date = {2024}
+}
+
+@manual{man:unityTransformClass,
+ title = {Transform Class},
+ author = {Unity Technologies},
+ organization = {Unity},
+ url = {https://docs.unity3d.com/Manual/class-Transform.html},
+ date = {2024}
+}