※この記事は、今後改訂を予定しています。
④から、作り方の簡略化を行った関係で、①~③までの記事とその後の記事とで、作り方の解説に齟齬が生まれてしまい、皆様の理解が難しくなってしまうのではないかと、この記事の執筆途中に考えました。
詳しくは、一緒に上げた雑記の記事をご覧ください。
大変長らくお待たせいたしました。
「ハンドトラッキングの簡略化に成功しました!!」という記事では上腕の解説しかできてなかったので、今回は前腕の解説をします。
「ハンドトラッキングの簡略化に成功しました!!」の記事はこちら

★前置き 最早恒例の事ですが、今回の記事もめちゃくちゃ長いです。 手順だけを説明するならもっと短くて済むのですが、皆様には「なぜこうなるのか」「なぜこうするのか」という原理もしっかりお伝えしたいのでどうしても文字数が多くなってしまってます。 「既にここに書いてあることは理解してるわ~」という部分がご...
簡略化前の記事から大分時間が経ってしまったので、そちらも参考に載せます。
多分前回の記事を忘れてる方が多いと思うんですが、前回の記事を覚えてないと訳が分からなくなる箇所がいくつかあるので、お手数ですが再読いただけると嬉しいです><!(それもこれも私が記事を書くの遅かったせいです…すまない…)

予告通り、ハンドトラッキング解説の続きを行います。 前回は「上腕」の作り方について解説しました↓ 今回は「前腕」の作り方についてです。 ということで、前回のように「手首から先を消失させた」モデルを用意しました 肘から下もぐりぐり動かせます。物理演算で「前腕の動きに少し上腕の動きが連動する」ようにしてま...
前腕の制作ですが、最初の方は簡略化前と大体同じです。
上腕のデフォーマやアートメッシュをコピペしてずらし、上腕デフォーマの中に入れてあげましょう。
簡略化前は、コピペした前腕のデフォーマやアートメッシュを入れるのは「上腕の長さ」デフォーマの中でした。
今回は、それより一つ親のデフォーマ「上腕の回転」デフォーマに入れます。
(赤線を引いたデフォーマです)
なぜ入れるデフォーマを変更したかというと、
前回と比べて「上腕の長さ」デフォーマの変形が超シンプルになったので、わざわざその中に入れなくても上手く追従するようになったんですね。
逆に、「上腕の長さ」デフォーマの中に前腕系のデフォーマを入れてしまうと、上腕と前腕の接続部を微調整する際に干渉してしまい変形がシビアになってしまうんですよ。
注意すればこれでも調整できなくはないんですが、今回はより楽な道を選びました。
こんな感じで個別に調節できます。
その代わり、前腕系デフォーマの親にもう一つ回転デフォーマを追加します。
名前は「前腕の肘起点」とでもしときます。
このデフォーマを使って、上腕が縮んだ時に前腕の位置を調節してやります。
肩XYの9点に点を打って真ん中だけ移動してやるだけです。
動画を見てもらうと分かるんですが、この状態で「前腕の肘起点」を動かすと前腕の動きがめちゃくちゃあらぶります。これは仕様です。
仕様というか、前回使った「ワープデフォーマで回転デフォーマを動かす」バグ技を使った代償です。
肩XYが0の時、上腕の角度用ワープデフォーマは無になっている状態です。
この「無状態」のワープデフォーマの中に前腕のデフォーマが入っていることになるので、「無の中に何かある!?どゆこと!?!?」みたいに角度がぐるぐるしてるんじゃないかなぁと私は推測してます。あくまでも推測だけどね!
この、見た目がえげつない仕様(代償)ですが、実際にトラッキングアプリ上で動かす際は殆ど支障がありません。
ただしモデリング中はこの荒ぶりが結構邪魔なので、微調整の際は結構苦労します。
どうしても気になる場合の対処法も後述しますが、一旦このまま頑張ってください。
ここまで出来たら、新しく肘用のブレンドシェイプを作り(数値は肩と同じです)、そこに前腕の回転用ワープデフォーマを移動させてやります。
「ブレンドシェイプの重みの制限設定」で、肩の時と同じように肘X、肘Yを追加して重みを調整してやります。
これが出来たら、既に肘はある程度綺麗に動くんじゃないでしょうか?
「これで前腕も完成!楽だね!!」と言いたいところですが、残念ながら前腕はもうひとひねり工夫が必要になります。
おそらく、ここまで調整が済んだ状態で、肩のXYを動かすと、多分こんな感じの動きになってるんじゃないかなと思います。
この動きでピンときた方がいたら鋭いですが、この状態では上手く動かないので、「前腕の角度の初期化」が必要です。
この「前腕の角度の初期化」自体は、実は簡略化前の時もやっていました。
旧バージョンの前腕解説記事で一度触れているので、その記述を引用して原理をおさらいしますね。
(引用だけ読んでも分かりにくいかもしれないので、何度も何度も申し訳ないですが詳しくは↓の記事を読んでください。覚えてる人は引用部分はすっ飛ばして大丈夫です)

予告通り、ハンドトラッキング解説の続きを行います。 前回は「上腕」の作り方について解説しました↓ 今回は「前腕」の作り方についてです。 ということで、前回のように「手首から先を消失させた」モデルを用意しました 肘から下もぐりぐり動かせます。物理演算で「前腕の動きに少し上腕の動きが連動する」ようにしてま...
ーーーーーーーーここから引用ーーーーーーーー
>先ほどの「作り方の順序」の
「⑦形を整えていく(「形状のコピー&ペースト」を最大限活用します)」
まで終えた段階だと、肩のXYパラメータを動かすと肘もそれに合わせて角度が自動的に変わります。
これを「前腕より下は角度を変えずに位置のみ上腕に追従させる」形にしたいのです。
パッと見は前者の方が自然な動きに見えるかと思います。後者は所々不自然な腕ポーズになっていますよね。でも実際は物理演算で上腕と前腕の動きを連動させて可動域を制御するので、不自然なポーズは出ないようになります。
↑肩Yパラメータだけを直接動かすとこのように不自然な腕になりますが…
↑肘Yの物理演算の入力には肩のYパラメータが入っているので
↑実際には肩Yパラメータを動かすと前腕も自動的に付いてきます。
(勿論肘だけ動かすことも可能です)
逆に、一見自然に見えるこの動き↓
実はこの作り方だと、肩Yパラメータの上下で肘Xの動きが丸っきり逆になってしまいます。
↑肩Yがマイナスの時、肘Xをプラスに動かすと前腕は→側に、マイナスに動かすと←側に動いていますが、肩Yがプラスの時は逆になっているのが分かりますね
この状態だと正直めちゃくちゃ使いづらいんですよね。
肩Yの位置によって肘Xが動く方向を逆にする、という複雑な処理の物理演算を組まなきゃいけないし、アニメーションを作るときも頭が混乱します。
つまり、肩XYの動きは肘下の角度になるべく干渉しないように作るのが好ましい、というわけなんです。
ーーーーーーーーーー引用終わりーーーーーーーーーーー
引用長くなっちゃってごめんなさい。
簡略化後も、この「肩XYの動きは肘下の角度になるべく干渉しないように作るのが好ましい」という法則は変わっていないので、今回も一旦肩の干渉を打ち消して角度を初期化してやる必要があります。
今回はここまで!
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
変なところで区切っちゃってごめんなさい!
前述したとおり、ここまで執筆途中に、「アレ?今までの記事書き直さなきゃこの先無理じゃね?」と思い、記事を改定することにしました。
改定作業にどれぐらいかかるかわからないので、その間、ハンドトラッキングの作り方があると思って支援してくれた方々へ、作り方の遍歴が見れるように、これまでの部分も一応残しておこうと思います。