「BeginPlayノードとTickノードの違いはなに?」
ということが多いみたいです。
この記事では、BeginPlayノードとイベントTickノードの違いについて解説いたします。
BeginPlayノードとは
イベントBeginPlayノードを一言でまとめると
BeginPlayノードとは、ゲーム再生時に一回だけ呼ばれるノードで、処理の初期処理や変数の設定などをするノードになります。
実例を交えての説明
初期処理や変数の設定って何?
という方もいると思うので、ここではゲームではどのように使われるかを実例を交えて説明させていただきます。
例えば、下の画像のように勇者A(赤い球)と勇者B(青い球)があったとします。
勇者AのBluePrintは以下の画像で勇者にLifeを100入れているとし
勇者BのBluePrintは以下の画像のように何も入力していない状態にしました。
そうした場合ゲームを実行するとわかるように、
勇者Aには、最初のLifeが付与されて、
何も記載されていない勇者Bには、何も表示されずLifeが付与されていないことが分かると思います。
このように初めに、キャラクターやゲーム自体のルールなどに最初に必要な値などを渡すのが、
このイベントBeginPlayになります。
(今回はわかりやすくライフの初期処理の説明をしましたが、
実際はこれ以外にもいろいろ値や処理などを入れることがありますので、
これからUnrealEnginでの開発を通して学んでいきましょう)
Tickノードとは
イベントTickノードを一言でまとめると
イベントTickノードは、ゲームを起動しているときマイフレーム呼ばれる処理になります。
そもそもフレームとは?
私たちが見ているゲームや動画などは、基本的に静止画を連続して表示しており、人間の目ではそれを動きのある映像として見えるようになっています。
よく言われるイメージとしては、パラパラ漫画ですね。パラパラ漫画を描くときは、一枚一枚動作をイメージして紙に絵をかいて、それを連続でめくることであたかも動いているように感じますよね。
ゲームで作成している映像もそれと一緒で、連続して画像を表示することで、はじめてゲームとしての映像が出来上がるような仕組みになっています。
動画やゲーム内に表示されているこの静止画の表示枚数を、1秒間あたりの枚数単位で表示したものがフレームレートとなります。
フレームレートの単位は一般的にfps(frames per second=フレーム毎秒)で表されています。
例えば60FPSの場合は、一秒間に60枚画像が画面に表示されていることになります。
Tickの説明
上記のフレームの説明を踏まえてTickの説明に戻ると、
こちらもゲームの画像を毎秒表示(更新)する処理になります。
よく使われる例としては、物を動かすときや、キャラクターを操作するとき、
状態などを監視するときなどに使われることが多いです。
例えばTickノードに以下の画像のようなBluePrintを記載すると、
下の画像の赤枠内のように連続してTickが表示されていることが分かります。
これは、TickがマイフレームPrintStringというノードを呼び出している証拠です。
ゲーム開発では、キャラクターを動かしたり、物体を動かしたりと多くの動きを
求められるゲームになるので、このTickノードは開発には絶対に必要なイベントになりますので
絶対に覚えておきましょう。
まとめ
イベントBeginPlayとイベントTickこれら両方のノードは、UnrealEnginの開発ではどちらも必要不可欠なノードであるとともに、とても基本的なノードになります。
ですがこの処理のように基本的なことをコツコツと理解することで、上達できるようになると思うので、焦らずゆっくり知識を貯めていきましょう。
本サイトでは、この記事のようにアンリアルエンジンのBluePrintについてまとめている記事がいくつかありますので、よかったらほかの説明も見ていってください!
コメント