IKのアニメーション作成で知っておきたい3つの基礎知識

IKの知っておきたい基礎知識

IKのアニメーション作成で知っておきたいポイント

こんなことが知りたい

「アニメーション作成でIKを効果的に使うには、どんなことを知っていればいい?」

ここでは、アニメーション作成が初心者の方に向けて 「IKを使うときに役立つ基本的な知識」を解説しています。

特定の3DCGソフトで細かい設定を解説するわけではなく、 3DCGソフト全般で役に立つような内容を心掛けて説明しています。

主な内容は、この3つになります。

  • 3Dモデリングのための人体構造
  • 動かすためのスケルトン構造
  • IKパラメーター

ちなみに、「IKとは?」という方は 「IKとはどんな機能なのか」について説明した記事があります。 まずはそちらを参照いただけると、今回の内容がよりわかってくるかと思います。

IKとFKの違いってなに?アニメーション初心者向け

それでは、いきましょう。

この記事を書いた人

自分
さくら

  • 3DCADサポートエンジニア
  • サポート歴7年
  • Autodeskとダッソー製品のカスタマーサポートに従事

詳しい紹介はこちら 「自己紹介」

目次

人間の構造を理解する

まず人間の構造を理解することで、 「どこを引っ張れば、どんな姿勢になるか」が想像しやすくなります。

つまり、人間の構造を理解することで、 IKで手足を引っ張るとき 「キャラクターのこの姿勢はこの方向で引っ張ればいいのでは?」と、 あたりがつけやすくなるわけですね。

また、アニメーション作成で必須な、 リギングをするときにも役立ってきます。

アニメーションにおいて、人体の構造で特に重要なのが、 この3つの項目でしょう。

  • 骨格のチェーン構造
  • 関節の自由度
  • 関節の可動域

それぞれの項目について説明していきます。

骨格のチェーン構造

まずは、骨格のチェーン構造についてです。

人間の構造としては、骨と骨が関節でつながっています。 じっさいには靭帯や軟骨でつながっていますが、 簡略化して考えると「関節」が骨と骨の接続部分になっています。

つまり、骨が関節によってチェーンのように連鎖しています。

そのチェーンの一番最初の部分が人間の場合、 「骨盤」になります。

骨盤を起点にして、 四肢や頭に向けたチェーン構造になっているわけです。 図で言うとこんな感じです。

チェーン構造

このチェーン構造は、 親子関係の階層構造になっていると考えることができます。

骨盤が起点ということは、骨盤はすべての親になります。 親子関係の例えでいうと、「骨盤」→「大腿骨」→「脛骨」→「足根骨」 の順番で階層になっています。

具体的な親子関係は、「骨盤が親で大腿骨が子」、「大腿骨が親で脛骨が子」、 「脛骨が親で足根骨が子」というようになっています。

IKは子を引っ張ることで、チェーン構造になっている 親たちが動く仕組みです。

末端の手を引っ張ることで、 チェーンでつながっているすべての部分が動くわけですね。 図だとこんな感じです。

IKのピンドラッグ

「IKはチェーンでつながっているから動く」ということを、 まずは理解しておいてください。

そうすると、なんとなく「ここ引っ張られると、こう動くかな?」が 想像しやすくなります。

関節の自由度

続いて、「関節自由度」についてです。

人間は、だいたいの関節が6自由度で動きます。 移動の3軸と回転の3軸ですね。

6DOF

人間の関節は「固定点」ではないので、微妙に動いています。 「上下、左右、前後」に動くイメージですね。 腕や足が曲がる方向も「上下、左右、回旋」があります。

しかし、アニメーションで使う3Dモデルにおいては、 各関節の自由度を減らして作成します。

例えば肘だと、関節は固定点にして、 肘の曲がる方向も上下と回旋だけにするような感じです。 つまり、2自由度ですね。

肘の自由度

「なぜ自由度を減らすのか?」

理由は、自由度を減らすことでIKがより精度よく姿勢を推定してくれる からです。

この自由度を減らす作業は、 人間の関節について知識がないとなかなか当たりがつけづらいのです。

「本当の人間であれば肘は左右に曲がるけど、 アニメーションではそこまで精密にしなくてもいいから自由度を減らそう」 というような考え方ができるようになります。

この知識は、 スケルトンの自由度の設定のときに役立ってきます。 適切な設定をすることでIKの姿勢推定の精度が上がるわけですね。

関節の可動域

最後に「関節可動域」です。 関節可動域は、関節の自由度と深く関係してきます。

「人間の関節の可動域がどれくらいの範囲なのか」を知ることで、 自由度を減らすための指標になります。

例えば、肘が左右に曲がる範囲は角度で言うと5~20度くらいです。 しかも、大きな力がかかったときくらいにしか、 左右方向に曲がらないのですね。

肘の内外反可動域

IK精度を上げるために「この肘の左右に曲がる自由度がない方がいいのでは?」 と考えられるわけです。

このように、関節可動域の知識は「自由度の選定」に役立ちます。

そしてもう一つ、「人間ではありえない姿勢にしない」ことにも役立ちます。 つまり、曲がらない方向に曲げないようにすることですね。

例えば、膝がありえない方向に曲がらないように、 可動範囲を決めることで、 IKの精度を上げることができるわけですね。

膝の過伸展

可動範囲を決めることで、より人間らしい姿勢を取れるような 3Dモデルができるわけです。

人間の関節可動域を理解することで、 IKでより人間に近い姿勢を推定できるようになるのです。

スケルトンはなるべく簡略化する

3Dモデルのスケルトンは、 なるべく簡略化した方がIKの精度があがります。

「人間に近いスケルトン構造の方が、IKで人間らしい姿勢になるのでは?」と、 思いがちですが、じっさいそうではありません。

上の「関節の自由度」のところでも説明しましたが、 「自由度が多いと推定する部分も多くなり精度が落ちる」のです。

つまり、スケルトンの数を減らすことで全体の自由度を減らすことができて、 IKの精度も上がるというわけですね。

例えば、背骨や肋骨のスケルトンを作成することがあると思いますが、 できれば背骨の数を減らして、肋骨は無い方がいいことがあります。

スケルトン削減

スケルトンの数を減らすことで IKしたときに人間らしい姿勢に近づくので、 アニメーションを作成しやすいのです。

ただ、高品質なアニメーションでスキンのめり込みを無くすために、 背骨の数を増やす場合もあります。 その場合は、背骨一つ一つに細かな設定をしていきますので、 手間と労力がかかります。

そして、IKしたときに予期せぬ姿勢になる確率も増えます。 そうなったときは、崩れた姿勢をFKで修正していくわけですね。

私のおすすめとしては、 アニメーションの作業工数を減らしたいのであれば、 できるだけスケルトンの数を減らすことをおすすめします。 IKで精度が上がるため、作業工数が減るためです。

高品質なアニメーションが必要な場合は、 人間に近いスケルトンを意識することがおすすめです。 スキンのめり込みなどが無くなり、よりリアリティのあるアニメーションになるためです。 その代わり、FKでの修正が増えます。

IKの計算パラメーターを理解する

最後にIKパラメーターについてです。

IKはいくつかのパラメーターをもとに計算していきますが、 精度で重要なのは、この3つです。

  • 反復回数
  • 目標値
  • 曲がりにくさ

反復回数

反復回数とは、マウスで3Dモデルを動かしたときに 各関節の姿勢を計算する回数です。

じつは、IKは手を掴んでマウスを動かすたびに、 毎回10回~50回程度計算しています。 1mmでもマウスを動かすとその都度10~50回反復して姿勢を計算するわけです。

IKのイテレーション回数

この反復計算の回数を増やすほど精度は高くなりますが、 計算スピードが遅くなるわけです。

高性能でクロック数の高いCPUがあれば反復回数を増やして 精度を上げることができます。 しかし、その必要がない場合も多々あります。

ある程度の回数で、計算が収束するためです。 例えば反復回数を50回に設定していても、 30回くらいで計算が終わることがあります。

その度合いは、モデルの複雑さで変わってきますので、 ここは何回か試してみて、落としどころを決めるのがいいかと思っています。 ちなみに「モデルの複雑さ」とは、関節の自由度やスケルトンの数です。

目標値

次は目標値です。

目標値とは、「マウスでつかんだスケルトンの位置とマウスカーソルの位置の近さ」 のことを言います。

IK目標値

3ds Maxでは「位置しきい値」とか「回転しきい値」がそれに近いかと思います。 Mayaでは「許容値(Tolerance)」とかがそれに近いかと思います。

IK 精度を制御(HD ソルバ)・Autodesk 3ds Max公式サイト

IK ソルバ(IK solver)ノード・Autodesk Maya公式サイト

目標値を小さくすることで、 IKはより精度よく姿勢を推定してくれますが、計算スピードが遅くなります。 目標値に近づくまで反復計算をし続けるためですね。

ちなみに、目標値も反復回数と同じように 試してみて、落としどころを決めるのがいいかと思っています。

曲がりにくさ

最後に「曲がりにくさ」です。

関節に重みづけをすることで、 簡単に曲がらないようにするパラメーターです。

意外に重要なのがこの曲がりにくさのパラメーターです。 人間らしい姿勢を推定するためには 関節の特性によって重みづけを変える必要があります。

例えば、肘や膝を曲がりにくいような設定にすることで より精度よく人間らしい姿勢を推定してくれます。

肩については、逆に曲がりやすくすることで より精度よく姿勢を推定してくれることが多いです。

私の経験では、 自由度が少なくて可動域が狭い関節は曲がりにくくして、 自由度が多くて可動域が広い関節は曲がりやすくすることで IKの精度が上がることが多いですね。

すべてに当てはまるわけではありません。 あくまで私の個人的な感覚なので、目安として認識してください。

ちなみに、Mayaだと「ダンピングと固さ」が、 曲がりにくさのパラメーターに近いかと思います。

ジョイントのアトリビュートについて理解する・Autodesk Maya公式サイト

3DCGにおすすめのパソコン

最後まで見てくれてありがとうございます。 当サイトでは 3DCG作成向けにおすすめのパソコンも紹介しています。

3Dモデリングやアニメーション作成でもストレスなく動く パソコンも紹介しています。

パソコンメーカー別に ローエンドからハイエンドまでのノートパソコンと デスクトップパソコンを提案しています。

3DCG用のパソコンをお探しの方は、 そちらもあわせて参考にしていただければ嬉しいです。

厳選!おすすめ3DCGパソコン10選

まとめ

「IKのアニメーション作成で知っておきたい3つの基礎知識」 についてのまとめです。

次の3つの知識があると、 IKアニメーションに役立つ。 「人体構造」「スケルトンの数」「IKの計算パラメーター」

人間の骨格は関節をまたいでチェーン構造になっている。 親子関係にあり、腰から四肢にわたって階層構造になっている。

IKは、その一部を引っ張ることでチェーンでつながっている 他の部分も動く仕組み。

関節の自由度はなるべく減らすと IKで精度よく人間らしい姿勢推定につながる。

人間の関節可動域を理解することで、 曲がらない方向を設定したり、 必要ない自由度を削除したりすることができる。

IKで精度をあげるためには、 スケルトンの数はなるべく少ない方が有利。

IKは反復計算により姿勢推定している。 回数を増やせば精度は上がるが、処理時間が遅くなる。 トレードオフなので落としどころを見つけるのがいい。

目標値は操作性にかかわる部分。 マウスカーソルを持っていったところに、 しっかり姿勢計算ができるかどうかのパラメーター。

曲がりにくさは、IKのときに 人間らしい姿勢を保つために必要な重みづけ。

関節の特性に合わせて重みづけを変えると、 IKしたときに人間らしい姿勢になる。

関連記事

mouseのBlender用パソコンの選び方

BlenderをMacで使うときの推奨スペックはコレ!

Blender推奨スペックのおすすめノートパソコン3選

Blenderがフリーズする原因は?確認したい3つのこと

Blenderのインストール方法と基本操作

初心者向け!失敗しないBlenderパソコンの選び方

社会人向け!3DCGオンラインスクールの選び方

Mayaの推奨スペックはコレ!失敗しないパソコンの選び方

3dsMaxの推奨スペックと失敗しないパソコンの選び方

Blender推奨スペックはコレ!おすすめパソコン10選

Blenderは独学で習得できる!おすすめの学習の順番

3DモデリングのPCスペック解説!失敗しないパソコン選び

Autodesk Aliasの推奨スペックとパソコンの選び方

初心者向け!MayaのVR機能で3Dモデリングする方法

IKとFKの違いってなに?アニメーション初心者向け

3DCGパソコンでMacが選ばれない3つの理由

ゲーミングPCは3DCG用パソコンとして使える?

3DCADと3DCGソフトの違いはコレ!3つのポイント

Mayaを独学する3つのメリットデメリット

初心者向け!Mayaの独学に必要なものはコレ

3ds Maxで建築パースの独学に必要な4つのアイテム

初心者向け!3DCG独学におすすめの本

3DCGソフト一覧・就職に有利なのはコレ!

30代社会人から独学で3DCGデザイナーになるのに必要な3つのこと

3DCG独学を成功させる3つのポイント

おすすめ3DCG用モニター5選!失敗しないモニター選び方

Copyright (C) 3DCADパソコンのスペックガイド. All Rights Reserved.