Edited at

UE4-OSCの送受信を行う

More than 1 year has passed since last update.


UE4でOSCの送受信を行う


UE4-OSCをダウンロード

UE4-OSC

デフォルトでは、以下の設定となっている。

受信ポート:8000

送信ポート:8000

送信先IP:127.0.0.1


UE4でOSCプロジェクトを作成する

新規プロジェクト作成

1. 新規プロジェクト

2. 空のプロジェクト

3. スターターコンテンツ無し

4. フォルダを選択

5. 名前[OSCSample]

6. [プロジェクトを作成]を押下

新規プロジェクト作成時に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フォルダにコピーする

[OSCSample]プロジェクトを開きなおす

[UE4Editor-OSC.dll]がないのでRebuildしますか?というダイアログが表示されるので、[はい]を選択する

進捗バー


受信用のブループリントクラス OSCReceiver を作成

OSCReceiverを作成する

1. [Content]配下に[Blueprints]フォルダを作成

2. [Blueprints]フォルダに[ブループリントクラス]作成

3. 親クラス[アクター]

4. 名前を[OSCReceiver]と設定する

5. [OSCReceiver]をブループリントエディタで開く

コンポーネント OSC Receiveを追加する

OSCの受信イベント [On OSC Receiver]を追加する

変数Targetの追加

変数名:Target

変数の種類:アクターのリファレンス

公開に設定

OSCから受信した値でTargetの位置を変更する処理

CubeとOSCReceiverを画面にドラッグ

画面に追加したOSCReceiverのTargetに[Cube]を設定する

Processingから値を送信する

参照

http://qiita.com/gansaibow/items/fcae51cff691b6b84905

Processingから送信される値でCubeを動かすことが出来る


送信用のブループリントクラス OSCSender を作成


  1. [Blueprints]フォルダに[ブループリントクラス]作成

  2. 親クラス[アクター]

  3. 名前を[OSCSender]と設定する

  4. [OSCSender]をブループリントエディタで開く

イベントティックからSendOSCを呼ぶようにする

変数を追加する

変数名:Source

変数の種類:アクターのリファレンス

公開に設定

変数名:Address

変数の種類:Name

デフォルト値:/Position

OSCSenderを画面に追加する

Sourceにターゲットを設定する

UE4 Timelinesでコンポーネントを動かすで作成したコンポーネントを指定した

UE4からの送信を確認する


送受信するPortを変更する

Portをデフォルト値から変更したい場合の手順。

(プロジェクトフォルダ)/Plugins\OSC\Source\OSC\Private

OscSettings.cpp を修正する

Pluginを再ビルドするために、以下のフォルダを削除する

(プロジェクトフォルダ)/Plugins\OSC\

- Binaries

- Intermediate

プラグインのバイナリー情報がプロジェクト直下のフォルダに含まれているので、こちらもフォルダを削除する

(プロジェクトフォルダ)/

- Binaries

- Intermediate

フォルダを削除後に、プロジェクトを開き直す

はいをクリック

進捗ダイアログの表示