ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はレベルに配置したアイテムにキャラクターを近づけるとアウトラインを表示する方法を紹介します。
アウトライン表示するマテリアルを作成
今回のユーザーインターフェイスの部分である、アウトラインを表示するマテリアルを作成します。
アウトラインの表示には様々な方法がありますが、今回は簡単そうな[Two Sided]を使ったマテリアルを作成していきます。
1.[コンテンツドロワー]の[ThirdPerson|Blueprints]フォルダーを開きます。
2. 空いている場所をマウスで右クリックして表示されたポップアップメニューで[マテリアル]を選択します。
3. 追加された[マテリアル]の名前を “MT_Outline” に変更します。
4.[MT_Outline]をダブルクリックして[マテリアルグラフ]を表示します。
5.[詳細]画面で[マテリアル|Blend Model]の一覧で[Masked]を選択します。
6.[Two Sided]のチェックを有効にします。
7.[マテリアルグラフ]の空いている場所で右クリックして表示された画面で “TwoSidedSign” を検索して追加します。
8. 追加された[TwoSidedSign]の実行ピンを伸ばして表示された一覧から “OneMinus” を検索して追加します。
9.[1-x]の実行ピンを伸ばして表示された一覧から “Multiply” を検索して追加します。
10.[Multiply]ノードの実行ピンと[MT_Outline]の[オパシティマスク]を接続します。
11. ここまでの作業でプレビューを確認すると、黒い球体になります。
12.[マテリアルグラフ]の空いている場所で右クリックして表示された一覧から “Fresnel” を検索して追加します。
13.[Fresnel]ノードの実行ピンを伸ばして表示された一覧から “OneMinus” を検索して追加します。
14. 追加された[1-x]ノードと[Multiply]ノードの[B]ピンを接続します。
15.[マテリアルグラフ]の空いている場所で右クリックして表示された一覧から “VertexNormalWS” を検索して追加します。
16. 追加された[VertexNormalWS]ノードの実行ピンを伸ばして表示された画面で “Multiply” を検索して追加します。
17. マテリアルグラフに[Multiply]の[B]ピンを伸ばします。
18. 表示された一覧から “ScalarParameter” を検索して追加します。
19. 追加されたノードの名前を “Outline Width” に変更して[Default Value] の値を “1.0” に設定をします。
20.[Multiply]ノードの実行ピンを[MT_Outline]ノードの[ワールド位置オフセット]に接続します。
21.[マテリアルグラフ]の空いている場所で右クリックして表示された画面で “Constant3Vector” を検索して追加します。
22. 追加されたノードを右クリックして表示されたポップアップメニューから[パラメータに変換]を選択します。
23. ノードの名前を “Outline Color” に変更してプレビューをクリックして表示された[カラー ピッカー]画面でアウトラインで表示する色を選択します。
24.[Outline Color]ノードの実行ピンを伸ばして表示された一覧から “Multiply” を検索して追加します。
25.[マテリアルグラフ]の空いている場所で右クリックして表示された画面で “ScalarParameter” を検索して追加します。
26. 追加されたノードの名前を “Outline Bright” に変更して[Default Value]を “1.0” に設定します。
27.[Multiply]の実行ピンを[MT_Outline]の[エミッシブカラー]に接続します。
28.[MT_Outline]を選択して[詳細]画面で[マテリアル|Shading Mode]の一覧から[Unlit]に変更します。
29. プレビューを確認すると、アウトラインの色で設定された球体になります。
ここまでの作業で、アウトラインで表示するマテリアルの準備ができました。
テキストを表示するウィジェット
作成したマテリアルを使って、キャラクターがオーバーラップした場合にアウトラインを表示するイベントを作成していきます。
ほとんどは以前に作成した「Unreal Engineで配置したアイテムに近づくとテキストを表示する方法」と同じです。
少し長い説明になるので、今回はここまでにして次回は追加したマテリアルを使ったイベントをブループリントに追加していきます。
まとめ
今回は、Unreal Engineで配置したアイテムにキャラクターが近づくとアウトラインを表示する方法ついて書きました。
アクションゲームをプレイしていると、アイテムに近づくと形状の合わせてアウトラインが表示される機能があります。
今回は、その準備としてマテリアルの作成しました。
Unreal Engineのゲーム開発でアイテムにキャラクターが近づくとアウトラインを表示させたい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。