ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【UE4・UE5】〈Tips〉物理マテリアルを使って押したアイテムが滑ったり跳ねたりするようにする。

目次

 

はじめに

物理マテリアルは、摩擦係数や弾力などの物理現象をセットアップしたものです。

その名の通り物理で動いているモノにのみ影響を受けます。

(SetSimulatePhyics + CollisionEnabled Physics)

特に通常のマテリアルと同じような運用ができ、マテリアル自体にも設定することができるので、凍りマテリアル=滑る物理アセットのような使い方もできます。

 

解説

①レベルの作成

サードパーソンテンプレートを使って解説します。

 

ファイル/新規レベルから

 

Basicを選びました。

 

名前を付けて保存しておきます。

 

②床の配置

物理マテリアルを適応する床を作ります。

アクタを配置からCubeを選びます。

 

スケールを20,2,0.1にしました。

 

③プレイヤースタートとアイテムの配置

ゲームを開始した際にプレイヤーのスポーン位置を固定できるようにPlayerStartを配置します。

 

ThirdPersonテンプレと一緒についてくるSM_ChamferCubeをマップに配置します。

 

この時めり込まないように気を付けてください。

 

詳細から可動性をムーバブル・SimulatePhysicsにチェックを入れます。



実行して押せることを確認しましょう。

 

確認出来たらスナップを100にして床とキューブをいくつか複製しておきます。

 

④物理マテリアルの作成

 

コンテンツ右クリックから物理マテリアルを作成。

名前は物理マテリアルのPM_を付けます。

 

今回は跳ねるPM_Bound、滑るPM_Slip、引っ掛かるPM_Stuckの3つを用意しました。

 

⑤物理マテリアルの適応

 

物理マテリアルの適応には主に2パターンあります。

1.マテリアルと紐づける

特定のマテリアルとペアにセットします。

特定の素材などと相性がいいです。

 

2.コンポーネントからoverrideする

コンポーネントの設定から上書きします。



今回はすべて同じマテリアルなので、2の手法で適応していきます。

一番左以外にそれぞれに物理マテリアルを適応しました。

 

⑥物理マテリアルの設定

PM_Boundを開いてみましょう。

 

一番いじるのはFriction(摩擦),StaticFriction(静止摩擦),Restitution(反発)の3つです。

 

Restitutionを1にしてみましょう。

 

浮かせた状態で実行してみましょう。

 

跳ねますw

 

次は、PM_Slipです。

摩擦を0にします。

 

少し触れただけで滑っていきます。

 

最後はPM_Stuckです。

摩擦を上げます。

 

押してもゴム素材の上のように動かしづらくなります。

 

物理アセットはアイテム自体にも床にもつけることができます。

 

スケート場には床側に、ゴムボールにはアイテム側につけるなど最適なセットアップを行いましょう。

 

 

最後に

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやTwitterのフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。