風来のシレン 月影村の怪物インターネット版認証サーバー

技術書典で解析の仕方の本とともに公開しようと思っていましたが、コロナ禍でいつになるか分からないので公開しちゃいます。

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 に張り付けるまで

  1. ffmpeg を MagicLeap 向けに build する

    OSS である ffmpeg を、MagicLeap 用に build して使えるようにします。

  2. OpenCV を MagicLeap 向けに build する

    OpenCV を build して使っていきます。

  3. Unity で使うための Native Plugin を作る

    Editor 上でも使えるようにちょっと変な構成で進めます。

  4. ffmpeg を用いて PC からカメラ映像を送信

    ffmpeg を使うだけなので、とりあえずはシェルで。C APIを叩いて好きに ffmpeg を使っても構いません。

  5. Magic Leap で カメラ映像を受信

    信号を受信!

それでは頑張っていきましょう。

PoetryでC Extensionを開発する

先日、Remote.pyというイベントでLT登壇してきました。
テーマは、「poetry時代のC extensionの作り方」で。

Remote.py #2 【オンライン】

そこで発表した内容をブログにもまとめておきます。
やり方だけ知りたい方はLT用にGithubにリポジトリも用意しておいたので、そちらでお試しください。

https://github.com/Lucky-Mano/Poetry_C_Extension_Example

WSL2でCUDAを使う

Windows10 Insider PreviewのFast Ringの、WSL2でCUDAが利用可能になりました。

Windows 10プレビュー版、WSL上でCUDAが利用可能に

そこで早速手元の環境で動かしてみようと思います。

動作確認した環境は以下の通り。

  • エディション : Windows 10 Pro Insider Preview
  • バージョン : 2004
  • OSビルド : 20150.1000
  • GPU : TITAN RTX
  • WSL2上のLinux : Ubuntu20.04

MagicLeapで使うNative Pluginを作ってUnityで使う

概要

MagicLeap Extension for VSCode を使った MagicLeap で利用可能な Shared Libraryを作成する方法。

Templateから作成すると、そのままではMagicLeapで動作しないので、その解決方法を述べる。

WSL2上のサーバーに外部からアクセスする

諸事情でWindows10 Homeを使う機会があるのですが、Homeだと困ったことにDocker for Windowsが使えません。
これの解決策として、私はWindows Insider Programに登録し、Insider Previewを入れ、WSL2上でdockerを動かして開発環境を整えることにしました。しかし、ここで困ったことが。WSL2上に建てたnginxコンテナに、localhostからはアクセスができるものの、LAN内の他の端末からアクセスができません。それを解決します。