Taku3939 / ArtNetForUnity

Unity内でArtNetでデータを簡易に受信と録画するためのプロジェクト

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unity version

ArtNetForUnity

Unity 内で ArtNet でデータを簡易に受信と送信、録画するためのプロジェクト

Operation Check

qlc+, TouchDesigner, DasLight4 での動作確認は行いました

Usage

ArtNetReceiver, ArtNetSender を任意なオブジェクトにアタッチし、Port を設定する(デフォルトで 6454).

以下のようなコードを書く

受信の場合

public class ReceiveSample : MonoBehaviour
{
    [SerializeField] private ArtNetReceiver artNetReceiver;
    private void Start()
    {
        artNetReceiver.onDataReceived += EventHandler;
    }

    private void EventHandler(ArtNetData data)
    {
         if (data.OpCode == ArtNetOpCode.OpDmx)
         {
        	// ここにデータ受信時のプログラムを書く
	        data.Logger(); //Log出力用関数
         }
    }
}

送信の場合

public class SendSample : MonoBehaviour
{
    [SerializeField] private ArtNetSender sender;
    [SerializeField] [Range(0, 255)] private int[] channels = new int[512];

    private void Update()
    {
        // OpCode等を変えたい場合は引数を好きなように変えて下さい
        sender.Send(channels); 
    }
}

Sample

LightCheck.unityがサンプルシーンです。 Receiver, Senderともにローカルホストを設定されていますので、Unityを開始して、Faderのチャンネルを変更することで動作を確認できます

Recorder

ArtNetDataRecorder にパスを設定して, Unity を再生する。

録画開始はR、録画終了はSでできます。

License

MITですがコメントくれたら作者は喜びます('ω')

About

Unity内でArtNetでデータを簡易に受信と録画するためのプロジェクト

License:MIT License


Languages

Language:C# 100.0%