Mercurial > hg > Papers > 2019 > hamase-thesis
changeset 3:baaf2d2f3f19
chapter5Finished
author | Yuki HAMASE <e155718@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 19 Feb 2019 16:25:54 +0900 |
parents | 374871d138f5 |
children | d68b17c84152 |
files | final_hamase/appendix.tex final_hamase/main.pdf |
diffstat | 2 files changed, 48 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/final_hamase/appendix.tex Tue Feb 19 14:24:35 2019 +0900 +++ b/final_hamase/appendix.tex Tue Feb 19 16:25:54 2019 +0900 @@ -63,7 +63,7 @@ \begin{center} \includegraphics[height=3cm]{fig/06.png} \end{center} - \caption{イベントワイヤ} + \caption{Structワイヤ} \label{01} \end{figure} \subsection{赤} @@ -72,7 +72,7 @@ \begin{center} \includegraphics[height=3cm]{fig/07.png} \end{center} - \caption{イベントワイヤ} + \caption{Booleanワイヤ} \label{01} \end{figure} \subsection{シアン} @@ -81,7 +81,7 @@ \begin{center} \includegraphics[height=3cm]{fig/08.png} \end{center} - \caption{イベントワイヤ} + \caption{Integerワイヤ} \label{01} \end{figure} \subsection{緑} @@ -90,7 +90,7 @@ \begin{center} \includegraphics[height=3cm]{fig/09.png} \end{center} - \caption{イベントワイヤ} + \caption{Floatワイヤ} \label{01} \end{figure} \subsection{金} @@ -99,7 +99,7 @@ \begin{center} \includegraphics[width=12cm]{fig/10.png} \end{center} - \caption{イベントワイヤ} + \caption{Vectorワイヤ} \label{01} \end{figure} \subsection{紫} @@ -108,7 +108,7 @@ \begin{center} \includegraphics[width=12cm]{fig/11.png} \end{center} - \caption{イベントワイヤ} + \caption{Rotatorワイヤ} \label{01} \end{figure} \subsection{オレンジ} @@ -117,7 +117,7 @@ \begin{center} \includegraphics[width=15cm]{fig/12.png} \end{center} - \caption{イベントワイヤ} + \caption{Transformワイヤ} \label{01} \end{figure} \subsection{青} @@ -126,7 +126,7 @@ \begin{center} \includegraphics[height=3cm]{fig/13.png} \end{center} - \caption{イベントワイヤ} + \caption{Objectワイヤ} \label{01} \end{figure} @@ -137,7 +137,7 @@ \begin{center} \includegraphics[height=5cm]{fig/14.png} \end{center} - \caption{イベントワイヤ} + \caption{型変換ノード} \label{01} \end{figure} \subsection{型変換が行われない場合} @@ -146,147 +146,166 @@ \begin{center} \includegraphics[height=5cm]{fig/15.png} \end{center} - \caption{イベントワイヤ} + \caption{互換性のない型とエラーメッセージ} \label{01} \end{figure} \section{基本的な変数ノード} \subsection{四則演算} +四則演算ノードは、例として$A-B$を行う場合には引き算ノードの上に$A$、下に$B$を接続する。異なる型同士でも四則演算が可能である。 \begin{figure}[H] \begin{center} \includegraphics[height=5cm]{fig/16.png} \end{center} - \caption{イベントワイヤ} + \caption{四則演算の例} \label{01} \end{figure} \subsection{GET} +GETは最も簡単なノードで、変数の値を参照し、他のノードに接続して使用する。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/17.png} \end{center} - \caption{イベントワイヤ} + \caption{GETノード} \label{01} \end{figure} \subsection{GetActorLocation} +GetActorLocationは、Objectを引数としてその3D座標を返すノードである。引数が指定されない場合、GetActorLocationを実行するActor(キャラクターやオブジェクト等のこと)自身の座標を返す。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/18.png} \end{center} - \caption{イベントワイヤ} + \caption{GetActorLocation} \label{01} \end{figure} \subsection{GetActorRotation} +GetActorRotationはObjectを引数としてその回転を返すノードである。引数を指定しない場合、自身の回転を返す。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/19.png} \end{center} - \caption{イベントワイヤ} + \caption{GetActorRotation} \label{01} \end{figure} \subsection{GetActorTransform} +GetActorTransformはObjectを引数としてその位置、回転、拡大率を返すノードである。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/20.png} \end{center} - \caption{イベントワイヤ} + \caption{GetActorTransform} \label{01} \end{figure} \section{基本的なイベントノード} \subsection{Event Tick} +Tickは1フレーム毎に実行されるイベントである。返り値のDeltaSecondsとは、そのTickの秒数である。UE4は可変フレームレートであり、フレームレートに依存しないゲームプレイを実現するため、DeltaSecondsを有効に使用する必要がある。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/21.png} \end{center} - \caption{イベントワイヤ} + \caption{イベントTick} \label{01} \end{figure} \subsection{Event Begin Play} +BeginPlayはActorが生成された時に実行されるイベントである。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/22.png} \end{center} - \caption{イベントワイヤ} + \caption{イベントBeginPlay} \label{01} \end{figure} \subsection{Apply Damage} +ApplyDamageはActorにダメージを与える際に使用する特別なノードである。ダメージを与えられるActorとダメージ量を引数に指定する。ActorはApplyDamageでダメージを与えられると、イベントAnyDamageを実行する。 \begin{figure}[H] \begin{center} \includegraphics[height=6cm]{fig/23.png} \end{center} - \caption{イベントワイヤ} + \caption{ApplyDamage} \label{01} \end{figure} \subsection{Event Any Damage} +AnyDamageはActorがApplyDamageによってダメージを与えられた時に実行するイベントである。ダメージの大きさ、ダメージを与えたActorを参照することができる。 \begin{figure}[H] \begin{center} \includegraphics[height=5cm]{fig/24.png} \end{center} - \caption{イベントワイヤ} + \caption{イベントAnyDamage} \label{01} \end{figure} \subsection{カスタムイベント} +カスタムイベントは開発者が自由に名前を決めることができるイベントである。カスタムイベントを作成すると、任意のタイミングをBPで指定し、実行することができる。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/25.png} \end{center} - \caption{イベントワイヤ} + \caption{カスタムイベント} \label{01} \end{figure} \subsection{Sequence} +Sequenceはイベントノードを分岐させ、全ての分岐を擬似的に並列に実行していくノードである。実際には実行順序にごくわずかな時間差があり、割り振られた数字の小さい方から実行されていくが、通常の記述において実行順を気にする必要はほとんどない。 \begin{figure}[H] \begin{center} \includegraphics[height=5cm]{fig/26.png} \end{center} - \caption{イベントワイヤ} + \caption{Sequence} \label{01} \end{figure} \subsection{SET} +SETは変数に値を代入するノードである。 \begin{figure}[H] \begin{center} \includegraphics[height=3cm]{fig/27.png} \end{center} - \caption{イベントワイヤ} + \caption{SET} \label{01} \end{figure} \subsection{Branch} +BranchはBoolean型変数を引数とし、その値によってイベントを分岐させる、If文と同じ用途のノードである。 \begin{figure}[H] \begin{center} \includegraphics[height=4cm]{fig/28.png} \end{center} - \caption{イベントワイヤ} + \caption{Branch} \label{01} \end{figure} \subsection{ForEachLoop} +ForEachLoopは配列を引数とするループ文である。LoopBodyは配列の要素数だけ実行され、その返り値は配列の内容および配列の添字である。BodyLoopの実行が全て終了するとCompletedに移行する。 \begin{figure}[H] \begin{center} \includegraphics[height=4cm]{fig/29.png} \end{center} - \caption{イベントワイヤ} + \caption{ForEachLoop} \label{01} \end{figure} \subsection{MultiLineTraceForObjects} +MultiLineTraceForObjectsは、任意の線分上に存在するObjectの配列を作成するノードである。線分の始点および終点、配列作成の対象とするCollisionの種類、配列作成から除外するActor、自己を検出対象とするかどうかを引数とする。 \begin{figure}[H] \begin{center} \includegraphics[height=8cm]{fig/30.png} \end{center} - \caption{イベントワイヤ} + \caption{MultiLineTraceForObjects} \label{01} \end{figure} \subsection{SetActorTransform} +SetActorTransformはActorの位置、回転、拡大率を変更するノードである。変更するActorと変更するTransform型の値を引数とする。SetActorTransformの他に、SetActorLocationやSetActorRotationなども存在する。 \begin{figure}[H] \begin{center} \includegraphics[height=5cm]{fig/31.png} \end{center} - \caption{イベントワイヤ} + \caption{SetActorTransform} \label{01} \end{figure} -\subsection{AddActorWorldOffset} +\subsection{Cast to xxx} +Cast to xxxノードは引数に与えたObjectがxxxであるかどうかを判定するノードである。xxxである場合にはその内部にアクセスできるようになる。たとえば、Castした先のObjectが持っている変数を書き換える場合や、Cast先のイベントを実行する場合などに用いられる。 + \begin{figure}[H] \begin{center} - \includegraphics[height=5cm]{fig/32.png} + \includegraphics[height=10cm]{fig/castto.png} \end{center} - \caption{イベントワイヤ} + \caption{SetActorTransform} \label{01} \end{figure} +