Unreal Engine

【UE5】Interior Configurator Tutorial Part 7-7|天井の表示と非表示の切り替え

Unreal Engine 5を使ったArchviz(建築視覚化)プロジェクトでは、トップビューでは天井を表示、ウォークスルービューでは天井を非表示に切り替える機能を実装します。今回は、その具体的な手順を詳細に解説します。このチュートリアルは、初心者でも簡単に理解できるようにステップバイステップで説明します。

1. プロジェクトの準備

まず、Unreal Engine 5でプロジェクトを開きます。床のオブジェクトを選択し、それを複製して天井として使用します。

  1. 床を選択して複製Ctrl + D を使って床オブジェクトを複製し、新しいオブジェクトの位置Zを800に設定して天井として使用します。
  2. コリジョン設定の変更:天井のオブジェクトが他のオブジェクトに干渉しないように、コリジョンプリセットを「No Collision」に変更します。
  3. サイズの調整:Z軸の値を「0.1」に設定し、天井を薄くします。幅や長さも調整し、天井の見た目を整えます。

2. 天井のブループリント化

次に、天井オブジェクトをブループリントに変換します。

  1. オブジェクトの選択:天井モデルを選択し、「コンバート選択をブループリントクラスに」 を選択します。
  2. 設定の変更:モビリティを「Static」に設定し、照明をビルドできるようにします。
  3. ブループリントの保存:ブループリントを「Configurator」フォルダの「Sailing」フォルダ内に「BP_unco_sailing」という名前で保存します。

色を変更したい「SM_ChamferCube」をブループリントクラスに変換します。

3. 天井の表示・非表示機能の実装

天井を非表示にするためのブループリントを作成します。

BP_ceiling」を編集します。

  1. イベントグラフの設定「Event Begin Play」 ノードから 「Set Visibility」 ノードを使用して、天井の表示を制御します。この際、「Propagate to Children」のオプションを有効にします。これによりプレイすると天井が消えているはずです。
  1. カスタムイベントの作成:天井を非表示にするカスタムイベント「Hide_ceiling」を作成し、同様に天井を表示する「Show_ceiling」イベントも作成します。
  2. シミュレーションのテスト「Simulate」 ボタンを押して、天井が期待通りに非表示になることを確認します。

4. ユーザーインターフェースとの連携

次に、UI(ユーザーインターフェース)と連携して、特定のボタンを押したときに天井の表示・非表示が切り替わるようにします。

トップビューで天井を非表示

トップビューで天井を非表示にするために、ウォークスルービューでEdit Modeボタンを押したときに「Hide_ceiling」イベントを実行します。

BP_Main_Widget」を編集します。

  1. ボタンの設定「BP_Main_Widget」 を開き、天井を非表示にするボタンに 「OnClick」 イベントを追加します。
  2. ノードをコピー:先ほど作成したノードをコピーし、天井を非表示にする処理をボタンのイベントに追加します。

マテリアルセレクトビューで天井を表示

BP_widget_1」を編集します。

  1. POIアイコンの設定:POIアイコンをクリックしたときに天井が表示されるようにするため、「POI_Widget」 で同様の手順を行います。

トップビューで天井を非表示(2)

マテリアルセレクトビューからキーボードの「T」を押してトップビューに遷移したときに天井を非表示します。

POI_pawn_1」を編集します。

ウォークスルービューで天井を表示

BP_toppawn」を編集します。

トップビューからウォークスルーボタンを押して、ウォークスルービューに遷移したときに天井を表示します。

5. 追加の調整と最終テスト

最後に、全ての機能が期待通りに動作するかを確認します。

  1. 遅延処理の追加:天井が表示される前に少し遅延を追加するため、「ShowSailing」イベントに0.5秒の 「Delay」 ノードを追加します。
  2. 全体の動作確認:POIアイコンをクリックした際や、タブキーを押した際に天井の表示・非表示が期待通りに切り替わるかを確認します。

これで、Unreal Engine 5を使用して、天井の表示と非表示を切り替える機能を実装する方法を学ぶことができました。これを応用して、さらに複雑なインタラクションを実現することも可能です。初心者の方でも、この手順に従えば簡単に機能を実装できるはずですので、ぜひ挑戦してみてください。

参考動画

-Unreal Engine
-