はじめに
UE4.18にてMedia Frameworkが大幅に改良されたのですが、その中にはWebカメラ対応が含まれています。
www.unrealengine.com
UE4でVIVEのフロントカメラからの映像を取得してる様子。VRプレビューじゃなくても動作する #UE4 #UE4Study pic.twitter.com/LjCPBNiNFm
— おかず (@pafuhana1213) 2018年1月23日
で、試した所、ノートPCのフロントカメラとHTC Viceのフロントカメラで正常動作を確認しました。(Viveの場合はSteamVR設定にてカメラを有効にすることをお忘れなく)
ということで、以前書いた記事の訂正・補足記事をかいた次第でありますです。
pafuhana1213.hatenablog.com
実装方法
とても簡単で、Media Playerに指定のWebカメラに対応したURLに渡すだけです。
blueprintue.com (コピペ用)
「Media Player」変数はMedia Player型で、指定のMedia Playerアセットを指定する必要があります。
上記の処理を入れることで、指定したMedia Playerが管理するMedia TextureにWebカメラの映像が出力されます。あとは、マテリアルやUMGなどでそのテクスチャを使えば、画面上にWebカメラ映像を表示する事が可能です。PCに接続されているデバイスによっては、「Enumerate Vide Capture Devices」から取得する配列からどの項目をOpenURLに渡すのかを判定する処理を書く必要が出てくるかと思います。
Androidのカメラ映像を取得したい場合
UE4.18から入った、Android Camera Pluginが動いたー! #UE4 #UE4Study pic.twitter.com/OneWvHTTYN
— おかず (@pafuhana1213) 2017年10月25日
UE4.18から入った、Android Camera Playerを有効にし、プロジェクト設定のAndroid Cameraにて用途に応じた設定にすれば、Webカメラと同じ実装でAndroidカメラからの画像を使用する事が可能です。
最後に
以前に比べると簡単にカメラ画像を取得できるようになりました。ただその取得した画像に対して画像処理を掛けたい場合は少し考える必要があります。画像全体への単純な処理であればマテリアル上で処理を組むだけでいいかもしれませんが、それ以上になるとC++やOpenCVの導入などを検討する必要が出てくるかと思います。未検証で申し訳ありませんが、OpenCVを導入する際は以下の記事が参考になるかもしれません。
Detailed Account Of Integrating OpenCV Into UE4 With VS2017 - Epic Wiki
ではでは~