LoginSignup
1
1

UE5 カプセル形状にマスク抜きを行う

Posted at

概要

今回実装するのはカメラからプレイヤー間のメッシュがカプセル形状にマスクして、
プレイヤーを見えるようにします、図にすると以下のようになります。
Capsule.jpg

実装

マテリアルパラメータコレクションを作成(MPC)

次に作成するマテリアル関数内でプレイヤーの位置と半径が必要なのでMPC「MPC_Player」作成します。
MPC.jpg

カプセル形状にオブジェクトをクリップする関数を作成

マテリアル関数「MF_CapsuleShape」を作成して以下のようにノードを組みます。
MF_CapsuleShape.jpg

マスク用マテリアル作成

マスク用のマテリアルを作成します。
まずは、「Blend Mode」を「Masked」して以下のようにノードを組みます(テクスチャは適当です)。
Block.jpg
「Shadow Pass Switch」は影の不具合がでる&負荷軽減のため影には反映させないようにしています。
作成したら、対象のスタティックメッシュに割当ましょう。

オーバーレイマテリアルを作成

そのままだと中から外が見えるので、中から見えないようにするマテリアルを作成します。
まずは「Two Side」にチェックを入れ「Blend Mode」を「Masked」に「Shading Mode」は「Unit」にします。
TwoSideAndShadingModel.jpg

マテリアルは以下のようの組みます。
Black.jpg

作成できたら対象のスタティックメッシュのオーバーレイマテリアルに割当ましょう。

MPCにプレイヤー中心位置を格納

「BP_ThirdPersonCharacter」のTickイベントでプレイヤーの中心位置をMPCに入れます。
丁度「Camera Boom」の座標がいい位置にあるので利用します。
PlayerPos.jpg

結果

Result.gif

まとめ

カプセル形状にメッシュをマスク抜きできました。
これでゲーム中のプレイヤーの視認性が上がるといいですね。

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1