最近Unityを使っているはずなのにC/C++を書いていて、そろそろ別な言語に置き換えられないかと考えていたところ、RustでDllが作れるという情報を耳にしたので早速UnityのPluginをRustで作ってみました。
タグ: NativePlugin
MagicLeapにRTPで映像を送ってnative buildしたffmpegとOpenCVで画像を取り出して遊びたかった
この記事は Magic Leap Advent Calendar 2020 の22日目の記事です。自称日本で10人に入るMagicLeapのC使いとして、今日ももりもり Native Plugin を build していこうと思います。
まず、大切なことですが、この記事でやろうとしたことは失敗しました。MagicLeap上で動かした際の Connection timeout の error が取れず、RTP信号を受信できませんでした。
悲しみ。。。以下はまだ元気だったころの記事をそのまま記載しておきます。
さて、今回の記事はすべて触れると本当に長くなるので、目次で全体像をお見せしたうえで、ちょこちょこ解説していこうと思います。
Magic Leap で RTP 映像を表示して Texture に張り付けるまで
- ffmpeg を MagicLeap 向けに build する
OSS である ffmpeg を、MagicLeap 用に build して使えるようにします。
- OpenCV を MagicLeap 向けに build する
OpenCV を build して使っていきます。
- Unity で使うための Native Plugin を作る
Editor 上でも使えるようにちょっと変な構成で進めます。
- ffmpeg を用いて PC からカメラ映像を送信
ffmpeg を使うだけなので、とりあえずはシェルで。C APIを叩いて好きに ffmpeg を使っても構いません。
- Magic Leap で カメラ映像を受信
信号を受信!
それでは頑張っていきましょう。
MagicLeapで使うNative Pluginを作ってUnityで使う
概要
MagicLeap Extension for VSCode を使った MagicLeap で利用可能な Shared Libraryを作成する方法。
Templateから作成すると、そのままではMagicLeapで動作しないので、その解決方法を述べる。