本記事は Unreal Engine (UE) Advent Calendar 2024 シリーズ4の25日目の記事です。
1. 前置き
DMXの基礎知識
独自の「DMX Fixture Component」の作成方法や仕様について解説します。
まずは少しだけDMXについて解説します。
用語や基礎については、先日カバー株式会社様がとてもわかりやすい記事を上げてくださっていたのでこちらを参照ください。
note.cover-corp.com
また、以前勉強会にて私がDMXの基本について講演した資料も参考になるかと思います。
用語や仕組みを押さえられたところで、UE5のDMXの機能を少し解説します。
UE5では、DMXLibraryというアセットでDMX周りの設定を行います。
灯体の種類ごとに「Fixture Type」を用意し、「Mode」「Function」で灯体が持っている機能を定義し、各灯台BPに割り当てます。


UE5での仕組み
各灯体BPの中では、「Function」ごとに用意された「DMX Fixture Component」がぶら下がっており、割り当てられたチャンネルのDMX信号をそれぞれ受け取り、ライトのカラーや灯体の向きなど、様々な制御を行っています。

試しに「Dimmer_Component」の中身を見てみましょう。
「SetValuenoInterp」関数は「DMX Fixture Component」で定義されている関数で、設定したチャンネルの信号の値が流れてきます。
この例では、値をそのままライト等のマテリアルの「光の強さ」に当たるパラメータに流して、調光を再現しています。

このようにDMX信号を受け取った後の挙動は必ず「DMX Fixture Component」で実装されています。
そのため、既存のコンポーネントでは再現できないような独自の挙動を作る場合は、同じように「DMX Fixture Component」を継承して作成する必要があります。
独自の「DMX Fixture Component」の作成方法について見ていきましょう。



