春日部つむぎ no ゲーム作ってみよう!【UE5/UE4】 - 氷の床【UE5/UE4】


https://youtu.be/waTBJl4TYfc

00:00 オープニング
00:42 1.氷の床アクターの作成
05:38 ざっくりまとめ!
05:54 エンディング

ざっくりまとめ!










■氷の床滑るよ!

氷の床に乗っている間、滑りやすくなります。
氷の床の効果範囲に入ると、キャラクターの移動速度設定から「摩擦」のパラメータが変更され、
地面を滑ってしますようになります。
氷の床から出ると「摩擦」のパラメータは元に戻ります。

1.氷の床アクターの作成

右クリック→ブループリントクラス→アクター
ファイル名を「GM_Fleeze」に変更します。

「GM_Fleeze」ファイルを開きます。
1-1.コンポーネントの追加
コリジョンを追加します。
今回コリジョンはBox Collisionを使用します。
床なので薄く広く配置します。
0.05 10

テスト用に
Hidden in Gameのチェックを外しておきます。
Hidden in Game : ゲーム中は不可視化します。
チェックオンで不可視化。オフで可視化。
1-2.イベントグラフの編集
イベントグラフに移動します。
1-2-1.摩擦を下げる処理
氷の床に乗ると、滑るようにします。

左のコンポーネントより、
Box Collisionを右クリック→イベントを追加→On Component Begin Overlap
On Component Begin Overlapを配置します。

On Component Begin Overlap
コリジョン内に入るとイベントが開始します。

効果範囲に入ったのがプレイヤーであるか判定します。
Other ActorピンとGet Player Pawnをイコールでつなぎます。
Other Actor : コリジョンに侵入したアクターの情報を取得します。
Get Player Pawn ノード : プレイヤーキャラクターを取得します。
On Component Begin OverlapにBranchノードをつなぎます。
BranchノードのConditionとイコールノードをつなぎます。
オーバーラップしたアクターがプレイヤーであれば、Trueが処理され、
それ以外であれば、Falseが処理されます。

キャラクターの
Character Movement コンポーネント : キャラクターの動きをいい感じにしてくれるコンポーネント
そのパラメータにGround FrictionとBraking Deceleration Walkingがあります。
 Ground Friction 地上での摩擦 8.0→0→8.0
 Braking Deceleration Walking 歩行時のブレーキ能力 2048→0→2048
これを使用します。

Set Ground Friction ノードを配置し、Branchノードとつなぎます。
パラメータを「0」にします。
Set Braking Deceleration Walkingノードを配置し、
Set Ground Friction ノードとつなぎます。
パラメータを「0」にします。

Get Character Movement ノードを配置し、それぞれのターゲットにつなぎます。
Get Player Characer ノードを配置し、Get Character Movement ノードとつなぎます。

これで、氷の床に乗ると、滑るようになります。

一旦、コンパイルして、起動してみます。

アクターをレベル上に配置します。
1-2-2.摩擦を元に戻す処理
氷の床から出ると、滑らなくなるようにします。

摩擦を元に戻す処理
左のコンポーネントより、
Box Collisionを右クリック→イベントを追加→On Component End Overlap
On Component End Overlapを配置します。

On Component End Overlap
コリジョンから出るとイベントが開始します。

摩擦を下げる処理と同じなので、コピーして貼り付けます。

Set Ground Friction ノードのパラメータを「8.0」にします。
Set Braking Deceleration Walkingノードのパラメータを「2048」にします。

コンパイルして、起動してみます。

氷の床から出ると、滑らなくなりました。