mocopi SDKを触ってみる
mocopiのSDKが気になっていたので触ってみます。
LT会みたいなのもあるらしく、それに出せたらいいなーとも思ったりしていますがちょっと間に合わないかも。
サンプルを動かす
開発環境
Windows10
Unityバージョン:2021.3.16.f1
SDKバージョン:v1.0.5
サンプルは簡単。SDKをダウンロード&インストールして、動かしてmocopiアプリの送信モードをするだけ。
なんですが、少しつまずいたので書いておきます。
①mocopiの接続設定
VRChatで試していたので切り替え忘れていました。
送信フォーマットをmocopi(UDP)に。IPアドレスもたまに変わることがあるので確認しました。ポート番号はデフォルトで良いはず。
②PC設定
さあ動かそうと思ったんですが、Unityのアバターがうんともすんとも言わず、エラーとかも出てないので謎でした。
トラブルシューティングをみつつ対応します。と言ってもUDPなんも分からん。一応Unity側でポート番号をコンソールに出してみたりはしました。
切り分けのためにばもきゃで試したところすぐ動いたので、IPアドレスやポート番号は大丈夫と判断。
原因がUnity周りにあると思い調査したところ、自分の原因は案内にあったこれでした。
プライベートネットワークでのUnityの接続がブロックされていたので許可。
場所は「Windows Defenderファイアウォール」ではなく、『「セキュリティが強化された」Windows Defenderファイアウォール』でした。罠。
うごきました。
アプリを作ってみる
こちらが今回作成するアプリのイメージです。
四方からボールが飛んできてそれをいい感じに触れるやつ。キネクトで昔あったような気がするけどやった事ない。
スマホで受け取れるという噂なのでARで実世界に出して3次元的にやれないだろうか。書いてて思ったけどやってる人画面見れなくね?そこは作りながら考えましょう。
ARFoundationとuniVRMをいれます。
uniVRMの使い方が微妙に変わってて焦りましたが、VRMをそのままAssetsに入れてInspectorの「Migrate to VRM1」を選択する方針になったんですね。この辺ドキュメントやネットの情報が古い部分もあり手探り状態です。
とりあえずアバターを変更してみます。
配布されているRAYNOS-chan_1.0.2をインポートし、「MocopiAvatar」(スクリプト)を「MocopiAvatar」(アバター)からコピペします。
※RAYNOSちゃんアバターの利用規則を見ていると許可項目に「コンテンツまたは前号に基づき創作された二次著作物を、無償にて上演、上映、公衆送信、展示または頒布すること」とあるのでアプリで収益化しようと思う場合には使わない方が無難です。
その状態でMocopi Simple Reciverを入れ替えるとうごきます。
なぜか2体以上セットした状態でも最初にセットしたアバターにしかモーションデータは行きませんでした。なんでや。
スマホ(mocopi)からスマホへもデータが送れるらしいと聞き、とりあえず、ARFoundationの平面認識を使って出してみました。(実装は割愛します)
こちらの実装の問題で角度が少しおかしいですがスムーズに受信できます。本家mocopiは位置調整はモーキャプと違うタイミングでやっていますが、今回はタップしたらその地点に移動しつつカメラを向くようにしました。
VRモードの受信もできたらQuestで色々したいなーと思いますが、ぱっと見は対応してなさそうです。
正直mocopiよりVRM周りが鬼門になりそう…皆どうやってるんでしょうね。いったんここまで。