UnrealEngine4 と Kinect for Windowsを繋いでみた

お久しぶりです。 yokodaです。
ここ2週間くらい巷で何かと話題の「UnrealEngine4」を触っています。

弊社の白井がツールの使い方含めてビジュアル面についての調査結果を記事としてUPしております。

ゲームエンジン Unreal Engine 4 を触ってみました
Unrealengine4で演出を作る「Matinee」

もう一人、プログラマーの河合がBlueprintの使い方やアニメーションの制御、コリジョン等について調査しており、
僕の方ではC++とBlueprintとの連携を含めてKinectやスマホ等、外部デバイスとの通信方法を模索しております。

とりあえず今回はKinectと繋げてみました。

やっている事は簡単で単にソケットを使って通信させています。
UnrealEngineにはもちろんソケットクラスも用意されているのですが、初期化方法がイマイチわからず
ビルドも通らなくって悩む。。

しょうがないのでOS標準のC++のソケットライブラリをインクルードして、
openFrameworksと通信させる所まではできました。

しかし、下記の様な記事を見かけ、、

「How to set up an simple UDP-Listener]
https://answers.unrealengine.com/questions/26593/how-to-set-up-an-simple-udp-listener.html

こちらをを参考にUnrealEngineのFUdpSocketBuilderクラスを無事使用する事できました!!助かります・・

今回はジェスチャーを検出するプログラムを過去の案件のAS3の資産を流用したいので
KinectのC#アプリとUnrealEngine4との通信間にFlashのAIRアプリが挟まっています。

単にKinectと通信させるだけならUnrealEngine4には「Kinectと通信ならプラグインがある」という話も聞きました。
少しググるとKinect2用のプラグイン等もあるみたいですが。

まぁ、ソケットが使えたという事なのでKinect2とを繋ぐ事も容易ですね。
なにより遠隔地の別PCからやスマホ、Arduio等、どんなデバイスでも繋げるのでこれでよしとします!

何かしらのデバイスでセンシングした値をもってUnrealEngine4上のオブジェクトが操作
できるので、インスタレーションやデジタルサイネージ、プロジェクションマッピングの分野でも
表現部分に「UnrealEngine4」を採用できるわけです♪

弊社ではインスタレーションなどで積極的に「UnrealEngine4」を活用する為にも
引き続きいろいろな可能性を探っていきたいと思います。


related article