推しアイデア
自分でキャラを出している万能感 スタンドが出る姿はかっこいい! 最高にハイってやつだ
―
自分でキャラを出している万能感 スタンドが出る姿はかっこいい! 最高にハイってやつだ
アイデア出しの時に流していたジョジョから発想を得ました
cos類似度で判断が難しい似たようなポーズを見極める
リポジトリが複数あります
https://github.com/jyogi-web/sutego_PosingEffect
https://github.com/jyogi-web/sutego-back-tcp
Unity 2022.3.17f1 Python 3.11
出現させるエフェクトはカメラから取得できる骨格の座標(ランドマーク)をもとに座標の相対位置で判断しています
→cos類似度を用いた方法に変更しました
→どちらも採用しました
骨格検出にはMediaPipeを使用しています
MediaPipeのPoseを利用した際に取得できる32個のxyz座標を利用しています
カメラからの距離によってベクトルが変わらないように肩の位置からの相対座標に変換してから計算するようにしています
Pythonのみで今回の案を試してみたときに演出面が弱く、Unityであればそこを解決できると考えたため採用しました
Python側をサーバー、Unity側をクライアントとしてTCP通信を行います 座標データとカメラ映像のデータは別のポートで送信しています
座標のデータはJSONで送信しました カメラの映像は一度バイト配列に変換し、送信しました
Unity上で出現させるエフェクトを作成しました 一部ポーズ(波動拳・かめはめ波)ではUnityのAnimationを使用してポーズ中に動くようにしました すべてのエフェクトが自分に追従するようにし、より没入感が高くなりました
最初上記の構成で AWSでの構成は完成していてcircleciで自動デプロイを試したが、Unityライセンスのアクティベーションの方法がユーザー (Pro、Enterprise のみ) だったので泣く泣く断念
別案としてAzure試みたが、時間が足りませんでした。 手動でなら動かせるらしいでので頑張ってました。 動かないやつならあります...(手動がめんどうだったので更新してません) https://happy-rock-04a9b501e.5.azurestaticapps.net/
ハンドトラッキングを同時に行うことで手が特徴的なポーズを出すことができませんでした
画像自体はできているのにポーズ認識がうまくいかない、または実装が間に合わなかったポーズがいくつかありました