UE4でOSCの送受信を行う
UE4-OSCをダウンロード
デフォルトでは、以下の設定となっている。
受信ポート:8000
送信ポート:8000
送信先IP:127.0.0.1
UE4でOSCプロジェクトを作成する
新規プロジェクト作成
新規プロジェクト作成時にC++ではなく、ブループリントを選択する
Pluginsフォルダを作成して、OSCフォルダをコピー。
以下のdialogが表示されて、Pluginがビルドされない。
Missing or incompatible modules OSC plugin - woud you like to disable it? You will no longer be able to open any assets create using it.
エラーが出た場合は、UE4-OSCの送受信を行う V15.0対応 を参照
http://qiita.com/gansaibow/items/28bf6bf15f62b30cbebf
作成したプロジェクトのフォルダに移動して[Plugins]フォルダを作成する
UE4-OSCのOSCフォルダをPluginsフォルダにコピーする
[UE4Editor-OSC.dll]がないのでRebuildしますか?というダイアログが表示されるので、[はい]を選択する
受信用のブループリントクラス OSCReceiver を作成
OSCReceiverを作成する
- [Content]配下に[Blueprints]フォルダを作成
- [Blueprints]フォルダに[ブループリントクラス]作成
- 親クラス[アクター]
- 名前を[OSCReceiver]と設定する
- [OSCReceiver]をブループリントエディタで開く
OSCの受信イベント [On OSC Receiver]を追加する
変数Targetの追加
変数名:Target
変数の種類:アクターのリファレンス
公開に設定
画面に追加したOSCReceiverのTargetに[Cube]を設定する
Processingから値を送信する
参照
http://qiita.com/gansaibow/items/fcae51cff691b6b84905
Processingから送信される値でCubeを動かすことが出来る
送信用のブループリントクラス OSCSender を作成
- [Blueprints]フォルダに[ブループリントクラス]作成
- 親クラス[アクター]
- 名前を[OSCSender]と設定する
- [OSCSender]をブループリントエディタで開く
変数を追加する
変数名:Source
変数の種類:アクターのリファレンス
公開に設定
変数名:Address
変数の種類:Name
デフォルト値:/Position
Sourceにターゲットを設定する
UE4 Timelinesでコンポーネントを動かすで作成したコンポーネントを指定した
送受信するPortを変更する
Portをデフォルト値から変更したい場合の手順。
(プロジェクトフォルダ)/Plugins\OSC\Source\OSC\Private
OscSettings.cpp を修正する
Pluginを再ビルドするために、以下のフォルダを削除する
(プロジェクトフォルダ)/Plugins\OSC\
- Binaries
- Intermediate
プラグインのバイナリー情報がプロジェクト直下のフォルダに含まれているので、こちらもフォルダを削除する
(プロジェクトフォルダ)/
- Binaries
- Intermediate
フォルダを削除後に、プロジェクトを開き直す