PR

【UE5】Chapter1-1-1 ダッシュのBPを組もう!【ゲーム制作】

BluePrint

このページは、「UE5 ver5.3.2」の環境で制作されています

こんにちは!
ウンパッパです!

今回はUE5のブループリントを使って、キャラクターをダッシュさせてみるよ!

UE5解説初回だから、UE5のBPを初めて触った人にもわかりやすいように
とても詳しく解説するから、よかったら参考にしてね!

また、今回はシステムだけだけど「エフェクト」「SE」「アニメーション」などなども実装するから
よかったら続きの記事を含め、最後まで見てくれると嬉しいな

それでは、よろしくね!
ではさっそく、作る前にどうなるかの「結果」をまず見てみよう!


しっかりと「走る」「歩く」のスピードが別々だと見れるね

動画だとキャラクターの慣性が効きすぎて
ダッシュボタンを離してもキャラクターが滑ってしまってるけど
その対処法もこの記事一番下にあるから必要だったら見てってね!

仕様をまとめよう!

まず、今回の「ダッシュ」は具体的にどんなダッシュなのかをまとめてみよう

1.「歩き」の速度は「100」である
2.Shiftを押したらダッシュになる!キャラクターのスピードが「100」から「2000」になる
3.Shiftを離したら歩きになる!キャラクターのスピードが「2000」から「100」になる

上に描いた仕様をブループリントにするとこんな感じ

このBluePrintを解説すると
Shiftを押す(Pressed)とキャラクターの移動スピード(Max Walk Speed)が「2000」になる
Shiftを離す(Released)とキャラクターの移動スピード(Max Walk Speed)が「100」になる
つまり、ノードをこの形に組むことで、「走る」が追加されるだけでなく
「歩く」と「走る」を切替ることができるんだ

じゃあ、どうやってシステムを実装するのか
順番に説明するね

BPを開こう!

新規プロジェクトからプロジェクトテンプレートの「Third person」を選んだ上で
スターターコンテンツにチェックを入れていたなら、
プロジェクトを開いたときはこの画面になっているはずだよ

この画面の中から、今回メインでいじる「Character BluePrint」を、ダブルクリックで開くよ

すると「BluePrint」の画面が開かれる

これが「BluePrint」画面
スターターコンテンツから提供されているデータだから
プレイヤーキャラクターの最低限のシステムが実装されているね

ちょこっと触れると

・設定された入力の受付
・カメラの移動
・キャラクターの移動
・ジャンプ

が実装されているんだ
かなり分かりにくいところを事前にやってくれているのはとても嬉しいね

そしてちょうどいいことに、「ダッシュ」が実装されていない
というわけで早速ダッシュを実装してみよう!

仕様1.「歩き」のスピードは「100」である

BluePrintでダッシュのノードを組み立てる前に
まずはデフォルトのスピードを決めよう

キャラクターのスピードをつかさどるのは「Character Movement」「詳細」にある
「Max walk Speed」というパラメーターだ

初期設定だと、「600」になっているよ

今回は「ダッシュ前とダッシュ後をわかりやすくする」ために
極端な「100」という値にするよ
もちろん、必ずこの値でなきゃいけないわけじゃないので
お好みの値を入れちゃってもいいよ!

ただし、この値は後々の「Shiftを離したら「歩き」になる」を実装するために必要だから
しっかり覚えておこうね!

BluePrintでダッシュを実装しよう!

まずは「ダッシュするボタン」を決めるよ
今回は「左Shiftボタン」を押したらダッシュできるようにしよう


何もないところを選んで「左クリック」
すると、検索一覧が出てくるから「Shift」と入力
そのあとに「Left Shift」の文字を選択して「Left Shift」ノードを生成するよ

このノードは「Shiftボタンを押したら、連結したほかノードが起動する」ノードだから
あとはこのノードに「キャラクターのスピードを変更する」ノードをつなげれば
「Shiftボタンを押したら、キャラクターがダッシュする」が完成するわけだ

仕様2.Shiftを押したらダッシュになる!を実装する

Shiftを押したらダッシュになる!を実装するために
今回は「Shiftを押したらMax Walk Speed が2000になる」ノードを組んでいくよ

それにはまず、「Set Max Walk Speed」ノードを用意しよう
このノードは通常の手段だと呼べなくて、生成するには少し特殊な手順がいるんだ

「Set Max Walk Speed」というノードは
キャラクターの行動をつかさどる「Character Movement」の内容物なんだ
だからまず「Character Movement」ドラッグ&ドロップで用意して、
そこから引用して呼び出さなきゃいけないんだ

どのように呼び出さなきゃいけないのかは、詳しくは下の動画を見てね

「Set Max Walk Speed」が生成出来たら
ノード内の「Max Walk Speed」の値を2000にしてから
ノード本体を、「Left Shift」ノードの「Pressed」につなげよう

すると、こうなるね

これで「Shiftを押したら、スピードの値が100から2000になる」が完成したよ!
やったね!

ただ、このままだと組んだノードが反映されていないから「コンパイル(機能反映)」するよ
「コンパイルボタン」はここ

ここをクリックして

こんな感じに緑色のチェックマークに変わったらOK!
これで、作ったシステムが反映されたよ

これで1回ゲームをプレイして試してみよう!
プレイボタンは下画像の場所だよ!

さて、プレイしてみてどうだった?

確かに歩きからShiftを押したら、ものすごい速さで走るようになったね
でも、Shiftボタンを離しても速度は元に戻らないよね?

そう、今組み立てたノードは
「Character MovementにあるSpeedの値を、Shiftを入れたときに2000に変更する」ノードなんだ
このままだと走りっぱなしで歩けないんだよね


というわけで今度は
「Character MovementにあるSpeedの値を、Shiftを離した時に100に変更する」ノード
を作ろう!

仕様3.Shiftを離したら歩きになる!を実装する

ここからはとても簡単

1.まず「Set Max Walk Speed」ノードを範囲選択して「Ctrl+C」と「Ctrl+V」でコピー&ペースト!

2.複製した「Set Max Walk Speed」ノードの値を、「歩き」の値と同じ「100」にする

3.今作ったノードを、「Left Shift」ノードの「Released」につなげる!

するとこうなるね

これでコンパイルしてプレイしてみよう!
すると、ご覧の通り!

「Shiftを押したらダッシュ!離したら歩く!」のシステムの実装完了だ!
やったね!

Shiftボタンを離したら、「ピタッ」と止まる!を実装する

今プレイしててわかると思うんだけど
ダッシュスピードの2000って数字は実は高すぎてて
「歩く」に切り替えても、デフォルトの環境設定だと滑って前に進んじゃうんだ

というわけで、これをどうにかしてみよう!
今回いじる値は「Character Movement」の「Braking Friction」!

まずは「Character Movement」を選択して詳細の検索欄に「Friction」を入力しよう

次に「Braking Friction」の値を「0」から「1.5」にするよ

ちなみに高すぎると、「ピタッッッッ‼」と止まりすぎて逆に不自然だから
ちょうどいい値を探すのがおすすめだよ

変更が完了したらコンパイルして Let’s PLAY だ!

すると御覧の通り!
走り抜けた後はそのまま滑らずに、しっかりと歩いてくれたね!

これでダッシュの実装完了だ!お疲れ様!

ノードをひとまとめに!ノードのグループ化

今後たくさんのノード、システムを組むにあたって
どんどんとBluePrintの画面が散乱してわかりづらくなると思うんだ

そしてどこに何を置いてるのかがわからなくなるのを防ぐため
「関数」や「マクロ」などの機能が存在するよ
今回はその機能の中で最もわかりやすい「ノードのグループ化」をしてみよう!

やり方は簡単

1.グループ化したいノードを範囲選択

2.選択中に「Cキー」を押す

するとこんな感じになるよ

グループ化したらヘッダーにタイトルがつけられるし
グループの枠を選択して移動すると、グループ化されたノードすべてが移動するから便利だよ!

よかったら使って見てね!

次回!ダッシュの「SE」を付けてみよう!

下記ボタンから次のページに進めるよ!
よかったら見ていってね!

コメント

unpappa

3Dとゲーム制作を趣味でたしなむ遊び人
ロボットアニメとアニメ調のキャラが好きで趣味でちょこちょこ作ります
人生の目標は「オリジナルのロボゲー」を1本作る事!
初心者だからこそ、いろいろな荒波がやってくるけど、それらを学びに変えて
「最もわかりやすいクリエイティブブログ」を目指してます!どうぞ良しなに!

unpappaをフォローする
Ci-enを始めました!あなたの応援で本サイトの記事の投稿頻度と質を向上させることができます!
詳しく見る!
Ci-enを始めました!あなたの応援で本サイトの記事の投稿頻度と質を向上させることができます!
詳しく見る!
タイトルとURLをコピーしました