ぼっちプログラマのメモ

Unreal Engineについて書いたりしてます

【UE4】PoseAI LiveLinkプラグインとiPhone(iPad)を使ってフィギュアからポーズアセットを作ろう!

はじめに

Twitter経由で知ったiPhoneのカメラを使ってモーキャプできるPoseAI LiveLinkを検証してたら、フィギュアのポーズをUE4に持ってこれました!
(昔やりたかったことができて感動してます!


アクション人形やフィギュアを使ってポーズを作って…iPhoneで撮影するだけでUE4でポーズを作れる!

これはやばい!!!!!

みんなやろう!!!!!!!!!!

公式サイト
Home | Pose AI
公式ドキュメント
UE4 LiveLink | Pose AI
公式Q&A
FAQ | Pose AI

必要なもの

https://unrealengine.com/marketplace/en-US/product/poseai-livelink

  • Pose Cam アプリ ( å¹´é–“6 ~ 7ドル )

https://apps.apple.com/app/id1555012109#?platform=iphone

  • フィギュア( 人っぽいものならいけそう。ロボは駄目でした )

以降は雑に導入方法と使い方についてのメモ書きみたいなものです。
公式が配布しているサンプルを使いますが、ご自身のプロジェクトに導入したい場合は↑のドキュメントをどうぞ。
ちなみに、このプラグイン・アプリはカメラ一台からのモーキャプ用途がメインなのでご注意ください

å°Žå…¥

UE4側

マーケットプレイス または GithubからプラグインをDLして、エンジンに導入
PoseAI LiveLink | Fab
GitHub - PoseAI/PoseCameraAPI: Tools to work with the Pose Camera app

Githubから公式サンプルをDL。2種類ありますが、まずは1つ目のシンプルな方がオススメ

github.com
github.com

iPhone側

PoseCamアプリをDL
https://apps.apple.com/app/id1555012109#?platform=iphone

起動すると支払いについての案内がでます。支払いが完了すると使えるようになります
月額 $0.99
年間(個人) $5.99
年間(複数人) $6.99 

その後、右上の設定アイコンをタップしPCのIPアドレスを設定します。このアプリはiPhoneとUE4をLiveLinkという仕組みでデータをやり取りする関係でこの設定は必須です。

このIPアドレスはコマンドプロンプトでipconfigというコマンドを使うことで確認できます。↓のページで紹介されている項目の「IPv4アドレス」ってやつです。
Windows 10 - ネットワーク情報を表示する(ipconfig) - PC設定のカルマ

ここまで来たらアプリ上では「tap to pair device」とか表示されてるはずです。たぶんこれで準備完了なはずです。

使い方

UE4エディタ上でサンプルプロジェクトを実行(PIE)します

次にアプリで画面タップします。設定がうまくいっていたら「Tap to Stream」や「rotate phone」という表示になります。ならずに「Pairing」とか「Try again」になってる場合はPCとの接続に失敗しています。エディタ実行忘れ、IPアドレスの設定ミス、PCと端末が同じネットワーク環境にいないなどが原因です

また、「rotate phone」と表示されていたら端末の向きを変えてください。サンプルプロジェクトのデフォルトの場合は端末を横向きにする必要があります

ここまで来たらiPhoneのカメラの映像が画面に出ているはずです。そして、フィギュア、自分自身、ポーズ写真などをカメラで捉えるとそのポーズがグレイマンに反映されます。

全身を捉えないと上手くポーズが認識されないようです。アプリ画面右にある棒人形から各部位の認識状況を確認できるので便利です
フロントカメラと背面カメラを切り替えたい場合は、アプリ画面右下にある更新ボタンをタップすればOKです

あとはUE4標準の録画機能を使えばこのポーズをアセットに変換できます
https://docs.unrealengine.com/4.26/ja/AnimatingObjects/Sequencer/Workflow/TakeRecorder/UsingTR/
UE4の標準機能とiPhoneXを使って、簡易フェイシャルキャプチャーシステムを実現してみた - ぼっちプログラマのメモ

追記:
簡単にですが動画にしてみました
youtu.be


あとはControl Rigなどを使って気になる所を調整すれば、それっぽいポーズ・モーションを作れてしまいます!
仮モーションやお絵かき用ポーズアセット用途には十分かなぁと思います!ぜひ試してみてくださいー!

おまけ

アプリを縦画面に使いたい

サンプルプロジェクトのThirdPersonCharacterにおける赤枠の部分をPortraitにすれば縦画面で起動するようになります。


Androidアプリは?

まだみたいです(公式Q&Aより

自分のプロジェクトに組み込みたい

公式ドキュメントに英語で書いてるのでご確認ください。ざっくり書くと…

プラグイン有効にして、プロジェクト設定のUDP Messaging の Enable Transportを有効にして、Pose AI MovementコンポーネントをCharacterのBPに追加して、


BeginPlay, EndPlayに専用のノードを追加して


AnimBPでLiveLink用の名前をとってきて


LiveLink Poseノードと一緒に使えばOKです。たしか


おしまい(もっと丁寧な記事を作る人が出てきますように