セルルック向け!カメラ位置に応じた変形をさせてみよう!

よくアニメ系の3DCGで課題とされることです。

カメラの角度によってかなーり可愛くない・・・
特に下からキャラクターを見上げた時がヤバい!

この問題を解決していきましょう!

管理人がYouTubeで解説!

RBF補間で解決しよう!

RBFとは、Radial Baisis Functionの略となります。
放射基底関数と呼ばれるものです。

シンプルにいうと、「ある特定の状態になった時、ある条件を発動できる!」そんなものです。
本ブログでRBFの解説は省略しますが、詳しく知りたい方は以下のブログがが参考になります。
RBF 補間 (Radial Basis Function Interpolation) の概要と実装 | yuki-koyama’s blog

RBFを使うには?

自前で実装するのは大変です。


以下のような理由があげられます。
1.RBFの数学が難しい。(管理人が数学苦手なのもありますけど・・・)
2.Mayaのカスタムノード作るのが大変!

ただ、それでも自前で実装できるのは価値があります。

アーティストが自前で実装できるようになれば
「数学もMayaのカスタムノードも作れるのか!強い人だ!と思われる可能性はありますね。

プログラマだったら「ふーん・・・そう。」かもしれませんけど…。

brave rabbitのweightDriverを使おう!

リガーならお世話になっているかも?brave rabbitからRBFが使えるweightDriverを使いましょう。
こちらは無料でダウンロードでき、ソースコードも紹介されています。

まずは動きをweightDriverで確認し、自前で実装する…といった流れが良いかもしれませんね。

weightDriver | brave rabbit

ドライバーの計算方法

顔の変形を行う場合に、顔の空間で処理を行うことが多いです。
LocalActorPosition(Transform)を顔の骨と仮定すると、その値はローカルとなるのでワールド空間の値に変形します。
pointMatrixMultノードを使ってワールドに変換しています。

最後にその2つのベクトルの差のベクトル情報を利用したものをドライバーとして利用します。

まとめ

カメラ位置で補正よりも、注目すべき技術はRBFですね。
RBFはかなり汎用的に使えます。Pose Space DeformationするならRBF!ってくらいです。

是非、使い方をマスターして最高のデフォーメーションを目指しましょう!

関連記事

  1. eST3でリグを作ってみよう!& eST3リリース交流会参加とリガー道の振り返り。

    2024-06-15

  2. レイキャストを使った目線リグの作り方

    2021-12-18

  3. スキンウェイトをレイヤー管理するテクニック

    2021-06-25

  4. テクニカルにリギングしてみよう!行列、ベクトル全部入りのポーズスペースデフォーメーションのメイキング

    2021-01-10

コメントをお待ちしています。

コメント

ページ上部へ戻る