遅ればせながらRedshiftを導入しました。少し触った感想など書いてみたいと思います。
速い! キレイ! 以上!
キャラクタの「揺れもの」の表現で「ジョイント(ボーン)チェーン」に対してダイナミクスを設定するという手法は、いろいろなソフトで使われています。MMDの「物理演算」とか、最近だとUnityのダイナミックボーンとかが有名ですね。
CINEMA 4Dにはジョイントチェーンに対して使えるダイナミクスが複数あるのですが、設定の手軽さから〈IKダイナミクス〉が選ばれることが多いようです。ところが! 実際に! 使ってみると! 〈IKダイナミクス〉は設定でコントロールできる「幅」がかなり狭く、どうやっても「いい感じ」に揺らすことができないケースが結構あるのです。
ジョイントチェーンを揺らす別な手段としては〈スプラインダイナミクス〉もあります。こちらは設定がやや複雑で最初のハードルは高いのですが、〈IKダイナミクス〉よりもパラメータが多く、表現の幅は格段に広くなります。ただし〈スプラインダイナミクス〉は〈ヘアモジュール〉の一部なので、CINEMA 4D Studioでしか使えません(そもそも高度なキャラクタ機能の多くはStudio限定ではありますが)。
この記事では、2つの「ジョイントチェーンのダイナミクス」を比較、検証してみたいと思います。まあ先に結論から言うと「ちゃんと揺らしたいならスプラインダイナミクスがおすすめ」です。
前のエントリの「全自動ヨッパライ歩行XPresso」をやっていたとき気がついたのですが、XPressoには「レンダラーがフィジカルのときだけ動作が変わってしまう」ものがあります。どうやら「値を記憶ノード」のようにXPresso内で時間の経過がカウントされる場合に起こるようです。単純なサンプルを使って発生条件や対処法などを検証したので、メモとしてここに書いておきます。なお、この件が単にバグだった場合はそのうち修正されることもあるかもしれませんので(報告はしておきます)、この記事を執筆時期よりずっと後に読んでおられる方はご注意ください。
こちらがサンプルファイルです。以下の解説で使っている3つのc4dファイルが入っています。
ふとした思いつきで、キャラクタが全自動で歩くXPressoを作りました(XPressoというのはCINEMA 4Dについてるノードベースのエクスプレッションです)。単純な自動歩行ではなく、動作にランダムな要素を加えて「ヨッパライ」にできるのがおもしろポイントです。
今回作ったXPressoの中身はかなり込み入っていて、詳しく説明すると非常に長くなってしまうので、ひとまずサンプルファイルを公開しておきます。この数年以内のC4Dならどのエディションでも開けると思います(C4D Lite以外)。個人の非商用目的の範囲内でご自由にお使いください。何かありましたらtwitterの@hirotsu162まで。
サンプルファイル:20181227_XPresso_auto_walk.zip(zipを解凍すると.c4dファイルが入っています)