見出し画像

ここが知りたかった!!LIVE2Dハンドトラッキング【#Live2Dアドカレ2021】

みなさん初めまして!めてねぇと申します。
Live2Dモデラ―のナナメ様( https://twitter.com/7name_ )企画の【Live2Dアドベントカレンダー2021】の12日目を担当致します!一緒にLive2Dを盛り上げていきましょう!


本記事ではLive2D、Vtuber界隈で話題を呼んでいるハンドトラッキングを実装するのにぶつかる様々な壁や疑問を一挙に解決できる記事となっておりますので最後まで読んでいただけると嬉しいです!

自己紹介

画像6

活動名:めてねぇ/Live2Dクリエイター
2018年からイラストレーターを目指しイラストを独学、Vtuberとして1年半ほど活動中。その傍ら、Live2Dクリエイター兼イラストレーターとして2021年4月より活動を開始。
加えて14年間パソコン関連の技術対応+販売接客業にも勤めている為、依頼者の機器トラブル対応やアフターサポートにも力を入れている。

実績として、Live2Dクリエイティブアワード2021にてハンドトラッキング対応Live2Dモデルを出展。他、イラストレーター向けペンタブ対応Live2Dモデルなど制作を行っております。
詳しくは以下のバナーリンク先の「MeteneeCraft」にて

バナー

ハンドトラッキングとは

※映像で使用しているモデルは私がイラスト、モデリングを担当したVtuber星音(ほしね)様にご協力いただいております。
( https://twitter.com/HoshineVtuber )

冒頭

推してるVtuberが自分に向けて実際に手を振ってくれたら良いな・・・なんて思った事は無いですか?手話が出来るVtuberがいたら面白くないですか?Live2Dでもっと色んなポーズで写真を撮ってみたいと思った事はないですか?

そんな夢のようなお話をかなえてくれる一つの方法として、11月にVtubeStudio様( https://twitter.com/VTubeStudio )よりハンドトラッキング機能が実装されました。しかし実際どう準備したら良いかわからない人も多いはず。まずは導入するのにどんな準備が必要か確認していきましょう!

※本記事では導入のハードルを下げる工夫を重点的に取り上げております。コスト抑えめにする事でみんなが使えるハンドトラッキングを目指した記事になりますので宜しくお願いします。

導入に必要な準備

まず、Live2Dモデルに欠かせないイラストのパーツ分けですね!
イラストレーター様に頼むにも通常Vtuber向けLive2Dイラストと違ったパーツ分けをしてもらう必要があります。
以下必要な導入レベル別に案内を致します。下にいくほど制作コストが増えていきますので目安にしていただけると幸いです。

①手の平を向けられるタイプ(手を振る、じゃんけん、カウントダウンなど
※手の平と腕はパーツ分けされており、グルーで接続しております。
※爪パーツを増やすと、より魅力的に映ります。指の第一関節パーツの表裏パーツを用意してカリング機能など使っても良いと思います。
第三関節パーツの上部に線を描いておくと握り拳の山を作りやすいと思います。

パーツ分け1.1

②手の表裏を使えるタイプ(①版とは別に制作をします。
※陰影少な目で綺麗に正面の手が描かれていれば手の平パーツを反転して少し描き込めば裏面として使えるのでおススメです。柄付きの手袋や文様などあった場合は頑張りましょう。

パーツ分け2

③手の回転が出来るモデル
※こちらは制作コストが非現実的なレベルの制作になる為、画像はございません。

EX-1 あると便利なパーツやパーツの描き方
①手首を隠すパーツ
※理由は手を裏返しにする際、陰影やグルーでのつなぎ目など気にせず制作でき、裏の手用の下腕パーツが不要となります。
②陰影やしわを少なくする
パーツ変形時に様々な角度や表現をしやすくなります。

【EX-2 あると工数が増えやすいパーツや描き方】
①袖があるアウターの着せ替え機能
②手の側面パーツ(手の回転用)
③陰影や手のしわを描き込みすぎる
※様々な角度や表現が困難になります。逆に繊細な手のイラスト表現を求めた場合、用途をしぼってトラッキングにこだわらずにアニメーションで依頼する事をおススメします。

必要な機材
・トラッキング用ソフトVtubeStudio
※IPHONEとWEBカメラどちらでも利用可能です。現在はSteamというPCソフト販売の大手でダウンロード販売されており、体験版でほとんどの機能を使う事が出来ます。有料版にしてフル活用する場合でも買い切り2000円でおつりが返ってくるのでコスパも最高です。加えて新機能や調整などのアップデートも異常に早い!

・WEBカメラ
※WEBカメラは広角レンズなどの製品がありますが、一般的なモデルのほうが安定して動作します。理由は手の形が変形して映ってしまい、正しく認識できなくなるようです。

あると更に良いモノ
・iPhoneのXシリーズ以降、iPhoneSE2020 もしくは2020年以降発売のiPadシリーズ
言わずと知れた最強のフェイストラッキングスマホ、タブレット。トラッキングが外れなさすぎて謎。意外にも一番安い指紋認証式のiPadでもVtubeStudioでフェイストラッキング機能が使えます。

パラメータの作成

パラメータに関しては、制作コストを抑える為に実装の必要性を【◎:必要性高い △:必要性低い】で表記します。全部実装しようとするとパラメータが多く、完成させられないor修正が多すぎるなどが考えられるので参考にしていただければと思います。

スクリーンショット 2021-12-11 071114


■パラメータ名/パラメータ数値/動作する箇所
【手の検知】
◎Hand Left Found 0~1 左手の検知
◎Hand Right Found 0~1 右手の検知
△Both Hands Found 0~1 両手の検知
△Hand Distance 0~1 両手の距離の検知

【手の位置】
◎Hand Left Position X 0 ~ 10 左手の左右動作
手を顔に近づけると0。離すと10へ
◎Hand Left Position Y -10 ~ 0 ~10 左手の上下動作
△Hand Left Position Z -10 ~ 0 ~10 左手の遠近動作
カメラに手を近づけると10へ。離すと-10へ

以下右手版
◎Hand Right Position X 0 ~ 10 右手の左右動作
◎Hand Right Position Y -10 ~ 0 ~10 右手の上下動作
△Hand Right Position Z -10 ~ 0 ~10 右手の遠近動作

【手の角度】
◎Hand Left Angle X -180~0~180 左手の回転、手の表裏への切り替え
手のひらを前に向けてる状態で0。内側回転で手の裏が見える状態で180。
※手の表裏面だけにする場合、±150で切り替えると丁度良いです。
◎Hand Left Angle Z -180~0~180 左手、手首の傾き
以下右手版
◎Hand Right Angle X -180~0~180 右手の回転、手の表裏への切り替え
◎Hand Right Angle Z -180~0~180 右手、手首の傾き

【指の角度】
△Hand Left Open 0~1 左手の指を全部開いているかどうか判定
△Hand Right Open 0~1 右手の指を全部開いているかどうか判定

◎Hand Left Finger_1_Thumb 0~1 左手親指を閉じると0 開くと1
※親指だけトラッキングの精度がかなり不安定の為、0.9まで完全に閉じている状態にする事をおススメします0.9~1で開くようにしましょう。
◎Hand Left Finger_2_Index 0~1 左手人差し指
◎Hand Left Finger_3_Middle 0~1 左手中指
◎Hand Left Finger_4_Ring 0~1 左手薬指
◎Hand Left Finger_5_Pinky 0~1 左手小指
以下右手版
◎Hand Right Finger_1_Thumb 0~1
◎Hand Right Finger_2_Index 0~1
◎Hand Right Finger_3_Middle 0~1
◎Hand Right Finger_4_Ring 0~1
◎Hand Right Finger_5_Pinky 0~1

以上です!凄くパラメータが多いですが、ちゃんと用途と範囲を決めて導入すれば迷わずモデリング出来ますので頑張りましょう!
ちなみにここから先が自然な動作に欠かせない調整になります。

VtubeStudioソフト内のパラメータ調整

画像7

なぜこれが重要かというと、ハンドトラッキングの精度がiPhoneのフェイストラッキングのようにいくら動いてもはずれないどころかめちゃくちゃ外れます。しかし、カメラの位置の調整、手の動きの慣れ、小さい動きでも広く手が動くようにVtubeStudioの設定することで一番上部の動画のようにガンガン動いても大丈夫になります。顔をかいてるのも顎に手を添えてるのもバレるようになります。

【【以下私が現在使用しているVTSのスムージングとINの数値です。】】

画像8

※INの数値は実際にカメラの位置で変わるので、目安程度に見ていただき、自身で手を動かしながらトラッキングが外れない、もしくは動かすであろう範囲で設定してください。

■Hand○○Found
スムージング0 / IN 0~1(手がカメラに映ったら即時反応するので残像残さないほうが良いと考えてスムージングは0にしてます。
■Hand○○PositionX
スムージング70 / IN 2もしくは3~7
■Hand〇〇PositionY
スムージング70 / IN -8~-2(ここは真似しないでください。
■Hand〇〇AngleX
スムージング20 / IN -180~130
■Hand〇〇AngleZ
スムージング20 / IN ±30(OUT数値が±180に対して
■Hand〇〇Finger_1_Thumb
スムージング30 / IN 0.3~0.7
■Finger_2~5まで
スムージング30 / IN 0~1

※この数値は自分のWEBカメラの置く位置とLive2Dモデルが実際に手を上げる位置とカメラに映してる自分の手の高さをピッタリあわせた結果の数値です。制作依頼を受ける方はモデルをお渡し後に自身で動いてもらい、パラメータの数値をメモを取っていただきそれに合わせて調整するか、VTSのみで出来るので最後に自身で調整してもらうか必ず先に確認を取りましょう。Discordで画面共有しながら一緒に調整するのも良いと思います。

さて、ここまで読んでいると普通にモデリング出来そうなハンドトラッキングですが、なぜ多くの方が足踏みをして制作を率先して行わないかの理由が次のお話です。

コストを更に抑える為に

ハンドトラッキングってそんな大変なの?という話ですが、分かりやすく言うと・・・ちょっと極端な例ですが
胴体のパラメータがコレですね。XYZです。

画像9

ハンドトラッキングのパラメータがコレです。

画像10

手の表だけではなくて裏があるとこれの2倍の量と両手分の作業が入るので見えてる一覧の3倍くらいの量になります。めちゃくちゃ大変ですねガハハ!!!

でも大変なら簡単にしちゃえばいいじゃない!という事で手のY軸のマイナスパラメータを作らないなど工夫(いわゆるパラメータの点を減らす作業)や、パーツ分けの時点でのモデリング時を想定した負担減のイラスト制作、実装するパラメータの減など説明してきたというわけですね!

最後に

ぶっちゃけた話ですがLive2Dで推しのVさんが手振りあってキャッキャしたり何気なく計算できなくて手つかって数えてるのがばれたり、手が使えるって事は手話が出来る人がやったら耳が聞こえない人でも配信を楽しんだりできるのかな?と思ったり、それを見たリスナーがそういうの覚えられた凄いな!とかじゃあサバゲ―のハンドサインとかも面白いかも!・・・

というわけでやっぱり夢が詰まってるなって思ったので今回知っている限りのハンドトラッキングに関わる話を記事にして、色んな方に挑戦してみてほしいと思いました。

今現在もハンドトラッキングを気軽に導入できる仕組みを研究して順次発表をしていこうと企んでますが、もっと仲間が増えたら良いなとか、実装したけどなんかうまくいかないとか悩んでる人がこの記事みて少しでも解決に近づけたら良いな!と考えております。

もっともっとLive2Dは進化していくし仲間も増えていくと思いますので、次は皆様の力を貸してください!そして私もその一員として皆様の力になれるよう尽力していきたいと思います!


最後まで読んでいただき誠にありがとうございました!


Live2Dクリエイターめてねぇ


ちなみにアドベントカレンダーの次の投稿は12/13日!
工恩(Kuon) ◆Live2DDesign様 ( https://twitter.com/ap_izuhashi )
【楽しくLive2DするためにPSDを見直そう】となります!バトン渡しましたのでおねがいしまーす!!!

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