Diary

参考資料

MechaStorm – Heroes of the Storm

海外スタジオによるアニメ風のCGムービーらしいです。だいぶレタッチ入ってる気がしますが、手描き風なエフェクトやハイライトがいい感じですねー。

参考資料

Book of the Dead

Unityで作られ得たデモ映像。2018からレンダリングが強化されてるみたいですね。
リアルタイムにありがちなアンチのチラツキも気にならないし、重そうな森の表現がだいぶ自然に見えます。葉っぱのTranslucentもいい感じ。
https://unity3d.com/jp/book-of-the-dead

 

参考資料

TOTAL WAR: Three Kingdoms

ゲームのムービー。水墨画っぽいエフェクトがカッコイイ。群集シーンのレンダリングやクロスも綺麗ですねー

CG 日記

modoで自転車のチェーンを作る

前回のコンストレイントの補正オプションの実用的な使用方法として、自転車のチェーンや戦車の履帯に使えそうなリグの作り方について書いてみます。

modoは複数のアイテムにいちどにコンストレイントを適用できるので、補正オプションと組み合わせると効率的にリグを組むことができて便利です。

チェーンリグ作成手順の解説です。

  1. チェーン用のアイテムとカーブアイテムを用意します。 上の画像では説明を簡略化するためチェーンの赤と青の部分を1アイテムにしてますが、分けた方がよいです。
  2. 「カーブでインスタンス」を使用して、チェーンアイテムをカーブ上に複製します。デフォルトではアイテムの位置にかたよりがあるので、「長さ優先」をONにして均等にします。
  3. 複製したアイテムを全て選択した後に、ようnアイテムを選択しまにして移動がループするようす。modoのコンストレイントのルールとして、最後に選択したアイテムがターゲットになります。
  4. Ctrl キーを押しながらパスコンストレイントを適用します。
    このときコンストレイントの「補正オプション」をONにしておきます。
  5. シーンアイテム(カチンコ)の + ボタンをクリックして、シーン内のパスコンストレイント モディファイヤを全て選択します。
  6. プロパティで「パスパーセンテージ」を編集するとアイテムがパスに沿って移動します。チェーンがループするように「繰り返し」をONに設定します。このままでもアニメーションに使用できますが、毎回モディファイヤを全選択するのは面倒です。そこで全ての「パスパーセンテージ」を1つのチャンネルで操作するためのリグを組みます。
  7. 「パスパーセンテージ」をスケマティックビューにドラッグアンドドロップします。
  8. チェーンを全選択して、Ctrl+G を押して「グループ ロケータ」にまとめます。
  9. グループ ロケータに「ユーザーチャンネル」を追加します。
    「ユーザー名称」には適当にチャンネル名を設定します。ここでは「offset」にしました。チャンネルのタイプは「パーセンテージ」にします。ユーザーチャンネルはユーザーが自由に追加することができるチャンネルです。チャンネルを追加しただけでは意味のあるパラメータではありませんが、他のノードとリンクすることで複数のノードをまとめて制御することができるようになります。Mayaのカスタムアトリビュートと同じような機能ですね。ユーザーチャンネルはどのアイテムにでも自由に追加することができますが、ある程度アイテムと関連性があるほうがよいためグループ ロケータに追加しました。
  10. 「offset」をスケマティックビューにドラッグアンドドロップします。
  11. パスコンストレイント モディファイヤを全選択した後に、プロパティで「パスパーセンテージ」のラベルをクリックしてチャンネルを選択します。スケマティックの「パスパーセンテージ」チェンネルをShiftドラッグします。すると全てのチャンネルから線を引っ張ることができます。
  12. グループ ロケータの「offset」にリンクします。

これで「offset」を1つ編集するだけで、全てのチェーンの位置を制御することができるようになりました。ですがこれだけでは設定が不十分です。

このチェーンアイテムは上下が対称の形状をしているので気がつきにくいですが、カーブの上下でアイテムがフリップしています。一般的にパスコンストレイントのような機能はアイテムの方向を一定に保つことが難しいようです。フリップを回避するために「アップベクトル」を設定します。

アップベクトル設定手順の解説です。

  1. ロケータを追加し「ワールド位置」をスケマティックビューにドラッグアンドドロップします。このロケータがアップベクトル制御用のアイテムになります。
  2. パスコンストレイント モディファイヤを全選択した後にチャンネル ビューポート タブを右クリックして「ビューポート設定 → 結合表示」をONにし、「up」チャンネルをスケマティックビューにドラッグアンドドロップします。「結合表示」は同じタイプのノードが複数選択されたときに、チャンネルをまとめて表示するオプションです。選択中の全ノードの「up」チャンネルを選択するために「結合表示」を使用しています。
  3. 「up」チャンネルをShiftドラッグして、ロケータの「ワールド位置」にリンクします。
  4. フリップしているアイテムのパス コンストレイント モディファイヤを選択して、「ロール」を180°に設定します。
    上の画像ではフリップしているモディファイヤを特定するため、フリップの始点と終点のアイテムを選択してモディファイヤの番号を確認しています。アイテムツリーで F キーを押すこと、選択しているアイテムにリストをスクロールできるので便利です。

これでアニメーションしてもフリップの発生しないチェーンリグの完成です。標準機能だけで手軽にリグが作れるのが便利ですね。

ちなみに静止画用途ならプロシージャルモデリングの「Curve Clone」を使うのが手軽でお勧めです。少し重いですが、カーブの編集や複製する数をいつでも調節できて便利です。
本当は「Curve Clone」でアニメーション用のリグを作れればいいのですが、modo 11.2ではアップベクトルを設定できないのでフリップを回避する手段がないように思います。もっと軽くてフリップしにくい動作してくれたらもっと便利なんですけどね。そのあたりは今後のバージョンアップに期待したいですね。

他の手段としてパスジェネレータで生成した頂点にリプリケータを使う方法も考えましたが、パスに沿わせる部分が上手く行かなかったのであきらめました。

カーブにスプラインデフォーマを適用すると、こんな↓感じの履帯リグも作れるかもしれません。

この戦車のリグを作った Richard Hurrey 氏はPixarで活躍されてるキャラクターモデラー&リガーの方ですが、Foundryからトレーニングビデオをリリースしているmodoのヘビーユーザーでもあります。
この戦車のデータは公開されているので必見です。履帯を複雑な変形に対応するため、履板1つ1つに異なるアップベクトルが設定されてます。他にも細かな制御ができて凄いです。modoはどの程度のリグを構築できるか興味ある方にも参考になるのではないでしょうか。

今回は王道的な方法でチェーンを作ってみました。次はせっかくなのでスプラインデフォーマを使用した昔ながらのチェーンの作り方を書いてみたいと思います。

CG 日記

modoでアニメ風の眼球制御

Twitterでアニメ系キャラで使用する平たい眼球について話題になっていました。方向コンストレイントを使用して眼球を制御したいときは、トランスフォームデフォーマを使用する方法もあるのでご紹介します。
手順は簡単です。球にトランスフォームデフォーマを適用してスケールします。次ぎに球に方向コンストレイントを適用します。

3Dソフトは同じような表現でも複数のアプローチがあります。正解は状況によって変わるので、色々試して好みの方法方を使うのがいいと思います。

 

参考

ちなみに、この眼球の変形はトランスフォーム計算で発生するシアーを利用したものです。シアーについて正確な説明はできないので、詳細を知りたい方は他のサイトを検索してみてください(^^;
ざっくりと説明すると、親子関係にある親アイテムを不均等にスケールした場合、子のアイテムを回転すると斜めにゆがむことをシアーと言います(均等にスケールされている場合はシアーは発生しません)。上の例では回転トランスフォームの順番を変更することで、親子関係を設定せずにシアー変形させています。

シアーは3DCGのトランスフォーム計算で一般的に発生する現象なので、親子関係を設定してスケールと回転できるソフトであれば、どのソフトで同じような目の表現ができます。
この目のような場合は上手く機能しているケースですが、シアーはキャラクターリグのような場合は問題になることが多いので注意が必要です。シアーが問題になるケースとして手にオブジェクトを持たせた状態で、手をスケールした場合はシアーが発生しがちかもしれません。

この現象をはじめて経験したのがLWで、しばらくのあいだLWのバグか何かだと思ってました。

CG News

CLARISSE 3.6 リリース


CLARISSE 3.6 がリリースされました。アウトラインレンダリングが搭載されたようです。アーノルドもラインレンダリングを搭載予定のようですし、LWもセルシェーディング強化してます。もしかしてNPRブーム来てる?
https://www.isotropix.com/news/newsletter/clarisse-3.6-is-out

3.6の新機能
  • 新しいシャドーキャッチャー
  • 新しいアウトラインレンダリング
  • 新しいシェーディング変数
  • 新しいAlembicバンドル
  • 新しいウォーターマークフリーのPLE

法線や深度を使ったシェーダーベースのラインみたいですね。

CG 日記

modoのコンストレイント補正オプション

modoの補正オプションについて書いてみます。
補正オプションはコンストレイントを適用するときに、アイテムの見た目の位置や角度を維持してくれる機能です。リギングでコンストレイントを使用するときに知ってると便利です。

補正オプションはセットアップ タブの上のUIメニューに配置されていて、ボタンをONにすると関連するボタンアイコンが切り替わります。

 

補正オプション OFF

コンストレイント先のトランスフォーム(位置、回転、スケール)にそろいます。

 

補正オプション ON

現在のトランスフォームの見た目を維持した状態でコンストレイントすることができます。

動作としてはコンストレイントノードのオフセットに値を入れることで見た目を維持しています。


modo使い始めたときは補正オプション知らなくて不便だーと思ってましたが、補正オプションに気がついてからはコンストレイントが便利に使えてます。初心者トラップな気がするのでデフォルトONにして欲しいですね。
次回は補正オプションを使ってチェーンやキャタピラのようなリグの作り方を書いてみます。

CG 日記

modoのセットアップモード

今回はセットアップモードについて書いてみます。セットアップモードはメッシュ変形(デフォーマ)に欠かせない特殊なシーン状態です。
セットアップモードの概念自体は珍しいものではなく、3Dソフトには何かしら同じような仕組みがあります。他の3Dソフトでは機能が分かれてたりしますが、modoはセットアップモードとしてまとめられてるのが便利です。

 

セットアップモードとは?

セットアップモードはデフォーマやIK計算の基準となるアイテムの「初期位置」を格納する特殊なシーン状態です。

3Dソフトではスケルトン(ボーン)を配置して、スケルトンを移動や回転させることでポリゴンメッシュを変形してアニメーションするのが一般的です。例えばスケルトンを90°回転してメッシュを変形したとき、どの位置からスケルトンが回転したのか基準となる情報が必要になります。この「どの位置?」を格納しているのがセットアップモードです。

セットアップ ボタンを押すとビューポートに黄色の枠が表示されセットアップモードに切り替わります。セットアップモードではデフォーマに関連したアイテムが初期位置に移動します。デフォーマによるメッシュの変形は全て無効になりますが、コンストレイントやIKなどのチャンネルモディファイヤは動作します。

 

セットアップモードのメリット

セットアップモードで便利なのがスケルトンの位置調整です。キャラクターリグを作成してポーズをつけてみたものの、動かしてみたら間接の位置に違和感があることがあります。セットアップ段階ではこの調整が頻繁に発生しますが、modoはセットアップボタンでアニメーションとセットアップモードを行き来しながらスケルトン位置を調整できるので便利です。

3ds MaxだとBipedの「フィギュア モード」や CATの「設定/アニメーションモード切替」と、 スキンモディファイヤの「常に変形」と同じ感じです。LWだと「ボーン編集モード」、MayaのHumanIKだとReference用のスケルトンを「スキンされたジョイントの移動」する感じかな?

 

セットアップモードのアイテム位置

セットアップモードに切り替えたときアイテムの位置や角度が変わります。これはチャンネルに複数の値を格納する仕組みを利用しています。チャンネルに「セットアップ/静止値」を設定すると、セットアップモードで値が切り替わります。

少し複雑そうですが General Influence の「エフェクタ」に接続されているアイテムは、トランスフォーム(移動、回転、スケール)を編集すると自動的に「セットアップ/静止値」が設定されます。この仕様によりデフォーマを使う場合は「セットアップ/静止値」を意識することなくセットアップモードを使用することができます。
バインドしたスケルトン、トランスフォームデフォーマ、スプラインデフォーマ等のロケータはこの仕組みで初期位置が設定されます。

自作のリグを作成する場合は「セットアップ/静止値」の仕組みを理解しておくと便利です。「セットアップ/静止値」は全てのチャンネルに設定できるので、セットアップモードでチャンネルモディファイヤを無効にしたり、「セットアップ/静止値」が設定されているトランスフォームにリグを構築することができるようになります。

セットアップモードの仕組みがわかると、デフォーマを多用するキャラクターリグも構築しやすくなるのではないでしょうか。

参考資料

Merry Christmas 2017

クマのモーションや毛の質感が素晴らしい。

CG News

MOOTZOID プラグインがフリー化

Softimage用のプラグインメーカーとして有名だった MOOTZ OID が、プラグインを全てフリー公開してサポートを終了したようです。emReader、emPolygonizer5はmodo用のプラグインもあります。
http://www.mootzoid.com/plugin

ダウンロードしたファイルは、フォルダごと以下のディレクトリにコピーすると使えるようになります。

  • C:\Users\(ユーザー名)\AppData\Roaming\Luxology\Kits
emPolygonizer5

emPolygonizerは「メッシャー」プラグインです。Realflow で計算されたパーティクルをメッシュ化するために使用します。最近ではOpenVDBにメッシュ化する機能がありますが、emPolygonizerは色々設定があるので細かな調整ができるかもしれません。

 

emReader

emReaderはキャッシュされたジオメトリシーケンスを読み込むプラグインです。
メッシュ入りの Realflow フォーマットやobjシーケンスをロードすることができます。modo標準の Realflow Particle ノードではメッシュに対応していないので、Realflowユーザーには朗報かもしれません。といっても最近はAlembicが使えるのかな。

CG 日記

modoのトランスフォームアイテム

引き続きチャンネルの基本について書いてみます。
modoの設計思想にはレイヤーという概念が深く根づいています。メッシュレイヤー、シェーダーツリー、アクションレイヤー。今回紹介するトランスフォームアイテムもレイヤーとして動作します。

 

トランスフォームアイテムとは?

トランスフォームアイテムとは「移動」「回転」「スケール」チャンネルのことです。アニメーションやリギングで欠かせないチャンネルですが、modoはこのトランスフォームアイテムを好きな数だけレイヤーのように追加することができます。これはリギングする上でとても便利な仕組みです。
3ds Maxだと「リスト コントローラ」が同じような機能だった気がします。

 

トランスフォームアイテムのメリット

トランスフォームを加算(オフセット)のように使用できます。具体的な例としてはコンストレイントやエクスプレッションで計算された値と、ユーザー操作のトランスフォームを組み合わせることができます。これはリギングでとても便利な機能です。

例えば以下の画像では位置トランスフォームを追加し、 Channel Noise を使用してランダムな動きを加えていますが、アイテムの移動は通常通り移動ツールで操作することができます。

アイテムをロケータにペアレントしても同じ事ができますが、トランスフォームアイテムを使用することでアイテムリストの階層構造が深くならずに済みます。
また modoは ロケータの表示数が多いとビューポートのパフォーマンスが低下するため、ロケータを使用しなくていい場合はトランスフォームアイテムかグループロケータを使用するのがお勧めです。(11.0 からは「アイテム表示 キャッシュ」がおこなわれロケータのアニメーション再生が高速化されているらしい)

 

トランスフォームアイテムの追加方法

チャンネルビューポートで「位置の追加」「回転の追加」「スケールの追加」をクリックするとトランスフォームが追加されます。太字で表示されるのがプライマリのトランスフォームで、トランスフォームツールで動かすために使用されます。

これら複数のトランスフォームアイテムはリストの下から上へ順番に計算されます。詳細は「modoのマトリクス計算順」参照のこと。

modoはアイテム追加時はトランスフォームアイテムがありません。トランスフォームツールで編集したとき自動で追加されます。これは何千ものアイテムが存在するシーンで余計なチャンネルデータを扱わずに済むための仕様で、ファイルのサイズや処理時間を大幅に節約できるようです。この仕様が気にくわない場合は初期設定で変更するこができます。

  • ファイルメニュー / システム / 初期設定 / デフォルト / メッシュアイテム / アイテムトランスフォームの自動作成

 

トランスフォームアイテムの種類

トランスフォームアイテムは「移動」「回転」「スケール」の他にもいくつか種類があります。ピボットを移動や回転したときに追加される「ピボット位置補正」「ピボット回転補正」、XYZの一軸だけスケールした状態で「同位置でペアレント」した場合に追加される「シアー」の全6種類です。

「transform.add」コマンドを使うと好きなトランスフォームアイテムを追加できます。

 

トランスフォームの結合

右クリックメニューの「結合」を使用して、複数のトランスフォームの値を1つのトランスフォームにまとめることができます。

 

トランスフォーム ゼロ

トランスフォームアイテムの仕組みを使用した機能が「ゼロ」です。プロパティのトランスフォームに「ゼロ」というプルダウンがありますが、実はこれはトランスフォームアイテムを追加して「結合」までを自動で処理してくれる便利機能です。

「ゼロ」は LightWave の機能だと「中心点回転記録」と同じです。Mayaだと回転に「トランスフォームのフリーズ」をすると「ジョイント方向」に値が入るようなやつだと思います。たぶん。

例えばキャラクターリグを作る場合、TスタンスやAスタンスでスケルトンを作成して初期姿勢にすると思います。このとき移動や回転に値が入ってると、初期姿勢に戻したい場合はアイテム毎に異なる値を入力しないと初期姿勢に戻すことができません。
ゼロはトランスフォームアイテムに値を格納することで、プライマリのトランスフォーム値を全て 0 にすることができます。

初期姿勢のトランスフォームを全て 0 にしておくと、「リセット」の「全て」をクリックするだけでアイテムを初期姿勢に戻すことができるので便利です。

回転したスケルトンがジンバルロックしている場合も「ゼロ」を実行することで、ジンバルロックしていない状態を初期姿勢にすることができます。FKで操作するアイテムは、スケルトンの位置調節が終わってポーズやアニメーション作成をはじめる前に「ゼロ」を実行しておくと色々便利です。

modoはスケマティックが使いやすく、トランスフォーム関連もリグが組みやすいのがいいですね。

CG News

GeoFromCurves 1.5 リリース

ゲーム用のヘアーモデリングプラグインGeo From Curvesがアップデートされました。このバージョンから映像にも使用できるよう改良がおこなわれたようです。
https://community.foundry.com/discuss/post/1109789

名前を「polystrips」 から「Geo From Curves」に変更しました。(ただし、互換性のためにいくつかのリンクを維持する必要がある)

オリジナルのPolystripsFromCurvesはアニメーションを念頭に置いてリリースされていませんでした。このバージョンではTRacerXと組み合わせて使用​​するような、時間の経過とともにトポロジーが変化するアニメーションカーブの安定性が大幅に向上します。以前のリリースで問題があった場合は、すべてのosXユーザーにこのバージョンに更新することをお勧めします。

また、リアルタイムヘアとは異なるワークフローにGeo From Curvesを使用している人向けに新しい追加があります。

  • 新しいセグメントをカーブのコントロールポイント、またはカーブのそれぞれのポイントで生成できるようになりました。これによりハードサーフェス目的でカーブ押し出しを必要とするすべての人に、より優れたコントロールが可能になります。
  • Profile extrusion。「CV by Segments」と組み合わせることでプラグインで生成できるシェイプの種類を大幅に強化します。
  • UV設定パネルのUVTagをコピー/ペーストします。
CG News

OctaneRender for Unity リリース

OctaneRender for Unity がリリースされました。ライブライトマップベーキングのベータ版も追加されているようです。

OctaneRender for Unityには3つのバージョンがあります。1つは無料、2つはサブスクリプションオプションです。

OctaneRender Prime

アセットストアからOctaneRenderアセットをダウンロードして無料で利用できます。PrimeはプライマリGPUへのアクセスのみを許可し、追加のプラグインは付属していません。

OctaneRender StudioとOctaneRender Creator

サブスクリプション契約するとより多くのGPUと、追加のプラグインが利用できます。

  • Studioは月額$20。2つのGPUと1つの追加プラグインの選択が可能です。
  • Creatorは月額$60。最大20のGPUと3つの追加プラグインの選択が可能です。

StudioとCreatorの両方に NUKE用とAfter Effects用のプラグインが含まれています。また有料のプランでは OctaneRender Cloud へのアクセスをプラグインの選択肢の1つとして提供します。OTOYのクラウドでレンダリングして、より長いカットシーンやベーキングジョブ用に何百ものGPUを利用できます。