ここまでに使ったノード等の解説1
今回はここまでに使ったノードや機能の解説をしていきます
ただ写すだけといった感じになっている人もいるかもしれないので
これを機に理解して自分なりに工夫してみてください
- 「Event BeginPlay」
- [Event Tick]
- [Delay]
- [AI MoveTo]
- [Nav Mesh Bounds Volume]
- [CharacterMovement]
- [Box Collision]
- [On Component End Overlap]
- [Disable Input]
- [Create Widget]と[Add to Viewport]
- [Set Game Paused]
- [Branch]
- [Spawn AIFrom Class]
- [Open Level]
- [Execute Console Command]
- [ProjectileMovement]
- [Spawn Emitter at Location]
- [Set Life Span]
「Event BeginPlay」
これはこのブループリントが始まったことを表します
例)このブループリントのActorがスポーンした時
ゲームが始まったとき
[Event Tick]
連続でこの処理がおこなわれるノードです
[Delay]
と組み合わせることで「1秒ごとに」という処理を作ることができます
[Delay]は指定した秒数遅らせるというノードです
[AI MoveTo]
Pawnのところに繋いである[Get Controlled Pawn]はAIを設定したキャラクターのことを表します。Pawnのところに繋ぐのは動かしたいキャラクターです
[Target Actor]のところに繋いである[Get Player Pawn]はプレイヤー自身のことです
[Target Actor]に繋ぐのはAIがターゲットとしてついていくActorのことです
例)上の画像「Enemy」が「Player」についていく
[Nav Mesh Bounds Volume]
これはAIが動ける範囲を設定するものです
サイズを調整しこのBOXで囲われた範囲をAIは動くことができます
[CharacterMovement]
CharacterMovement内の
「Max Walk Speed」はそのキャラクターのスピードを意味します(初期値600)
[Box Collision]
というのは透明でぶつからないBOXのことです主に当たり判定に使います
[On Component Hit]
はこのコリジョンが何かにぶつかった判定を表します
[On Component Begin Overlap]
はコリジョンに触れはじめたという判定を表します
[On Component End Overlap]
はコリジョンに入っている状態から完全に出た時を表します
応用でこのようにすれば
[Box]に[ThirdPersonCharacter(プレイヤー)]が触れ始めた時という判定を表すことができます
[Disable Input]
はプレイヤーの入力を無効化するノードです
[Target]には入力を無効化したいブループリントを繋げます
(キャラクターを動かすノードがプレイヤー内にあるのでプレイヤーに繋げると移動できなくすることができます)
[Create Widget]と[Add to Viewport]
これは[Widget(UI)]を画面上に表示されるようにするノードです
[Create Widget]の[Class]になにも設定していないときはノード名が[Construct NONE]に変わります。基本的に[Create widget]と[Add to Viewport]はセットで使ってください
[Set Game Paused]
はゲーム自体を一時停止させるノードです
この状態は特別な設定をしているキーのノード以外の入力は一切受け付けなくなり
またゲーム自体も停止します
(停止状態でも入力できる特別なキー設定は下に書いています)
[Branch]
は[Condition]に繋がれた内容が「True」であるか「FALSE」であるかを判定して出力先を変えるノードです
上の画像にあるノードを解説すると
「Seconds」という変数の値が「0以下」になったとき「TRUE」側に出力するという判定を表しています
[Spawn AIFrom Class]
AIキャラクターをスポーンさせるノードです
「Pawn Class」にはスポーンさせたいAIキャラクターを設定します
「Behavior Tree」はAIの細かい設定ですが少し難しいので追々紹介していきます
「Location」は設定したAIキャラクターがスポーンする位置を設定するところです
上の画像はマップ上の[Cube]の位置にスポーンさせるという設定です
「Rotaion」はスポーン時にどれだけ回転された状態でスポーンさせるかです
RキーやESCAPEキーの設定のときにクリックしてチェックをつけたこの設定
これは先ほどの「Set Game Paused」でゲームが停止していても入力できるようにする設定です。チェックをいれておけば停止中でも入力ができます
[Open Level]
このノードは「Level Name」の覧に入力した名前のレベルを開くというノードです
使い方としてはタイトルからステージ選択、ステージ選択からステージのような
画面の移り変わりの時に使えます
[Execute Console Command]
このノードは「Command」の覧に入力したコマンドを実行するノードです
自分はこの「quit」以外は知りません
なぜ「quit」でゲームを終了させられるようにするかというと
エディター上ではESCAPEキーを入力すればプレイを終了させられますが、パッケージ化して遊ぶ時にはESCAPEボタンを押してもゲームが終了しません
なのでゲームを作る際は終了機能としてこれを実装しておきましょう
[ProjectileMovement]
これはActor等を動かすことができるものです
設定の部分の[Initial Speed]は初速度を意味し[Max Speed]はスピードの最大値を表します
[Velocity]は動く方向を意味します
[Spawn Emitter at Location]
このノードはエフェクトやパーティクルをスポーンさせるノードです
「Emitter Template」にはスポーンさせたいエフェクトを
「Location」は発生させる位置「Rotaion」は回転「Scale」は大きさを表します
[Set Life Span]
このノードは指定した秒数でActor等を消すノードです
「target」に消したいものを繋ぎ
「In Lifespan」に消すまでにかかる秒数を設定します
(注:すぐに消したくても値が0の状態は消えません
すぐに消したい場合は「0.1」と設定しましょう)
ぜひ学んだことを使い自分自身のゲームを作ってみてください
見てくださった方は下のリンクをクリックしていただけると助かりますm(_ _)m
☟