【Unity】BodyTracking+人物消し【ARFoundation】

以前書いたQiita記事 【OpenCV plus Unity】リアルタイムで人物を消す の続きです!

やりたいこと

OpenCVでカメラ画像の人物を消し、BodyTrackingでアバターを動かす!みたいなやつ。
本記事は、BodyTrackingを使用した人物消しについて!

【悲報】OcclusionとBody Trackingの併用ができない

以前の記事では、ARFoundation PeopleOcclusionのHumanStencilを人物マスク画像として使用し、RGB画像にInpaintをかける実装をしていたわけだけど...
ARKit的にOcclusion機能とBody Tracking機能の併用ができない!悲しい!
https://forum.unity.com/threads/arfoundation-people-occlusion-and-body-tracking-at-the-same-time.1062326/

解決策!BodyTrackingから人物マスク画像を生成する

加工

力技感あるけど↑↑の様なイメージ!
そのままのControlledRobot君だと人体を覆いきれないので太らせる!

ControlledRobot君加工

新たにカメラを作成し、太らせたControlledRobot君だけを描画するように設定し、RenderTextureに出力する!
※ARCameraに追従するようにARCameraの子オブジェクトにする

できたもの

People OcclusionからHuman Stencilを取得する実装と比べ、
精度は落ちるけど、まあいいかなって感じ

この記事が気に入ったらサポートをしてみませんか?