2018年2月7日水曜日

Katanaの基本的な使い方

Katanaとは


The Foundryよりリリースされているライティングシーン管理ツール(およびルックデブ作成ツール)です。
実際にどんなツールなのか分からないという方がたくさんいらっしゃると思いますので、この記事では簡単な使い方やメリット・デメリットなどをご紹介します。

ライティングシーン管理とは?


ライティングツールと聞くとライティングに特化したソフトウェアの様に聞こえますが、どちらかというとレンダリングのために全ての3Dデータをショットごとに集める=ショットアセンブリにおいて威力を発揮するツールだと考えています。
Katana内ではルックデブも行えます。ルックファイルと組み合わせて、ルックデブとライティングを両方Katanaで行う事が基本的なワークフローになります。

ライティングというのは例えると色々な国から飛行機が集まる国際ハブ空港で働くようなものだと思っています。アニメーションされたジオメトリからエフェクト、髪の毛のシミュレーションにいたるまで色々な種類のデータが、スケジュールが遅れたりキャンセルになったりしながら一つの場所に集結するイメージです。

メリット

  1. 全てがノードベース
  2. 必要があるまでメモリにアセットを読み込まない
  3. シーンのオープンが早い
  4. ルックファイルによるシェーダーの管理
  5. 便利なレンダーフィルター
  6. ノードがコピペ出来る
  7. ギズモ(LiveGroup)が使える

デメリット

  1. 玄人向けの側面がある
  2. ある程度の規模のパイプラインが必要
  3. ライトの操作がやや貧弱
  4. アニメーションの再生が出来ない
  5. 価格が高い


メリット

全てがノードベース

NukeやHoudiniなどもそうですが、大規模なシーンを管理するのにノードベースはもはや不可欠です。レンダリングもレイヤー的に全てをやろうとするとかなり無理が出て来ます。(Mayaのレンダーレイヤーやレンダーセットアップはバグもあり、使い勝手も良くありません。)
ノードのツリーをプロジェクトごとに設定して簡単にシェア出来るのも強みです。

必要があるまでメモリにアセットを読み込まない

メモリの使い方は最大の特徴と言っても良いでしょう。基本的にシーンをオープンしただけではジオメトリやその他のデータを読み込まず、バウンディングボックスで表示されます。何億ポリゴンもあるような大規模なフルCGの背景でも、シーングラフで実際に階層を開けるまではメモリに読まないのでサクサクライティング作業が行えます。
後述するように、シーンのオープンが圧倒的に早いのもこの部分が大きいでしょう。

シーンのオープンが早い

ショットを開いただけでは実際のデータは読み込まれないので、シーンを開くのに何十分も待たないといけないような事はありません。ちょっとしたメリットですが、作業者へのストレス軽減の度合いは非常に大きいと思っています。

ルックファイルによるシェーダー管理

ルックファイルという独立したファイルにベイクする事で、煩雑なシェーディングネットワークの呪縛から解き放たれます。シェーダーだけでなく、オブジェクトの設定などありとあらゆる設定をベイクできます。
ショットで変更するようなパラメーター(SSSの深さ、スペキュラーの強さなど)はあらかじめ指定して、ルックファイルの外に出すこともできるので、必要に応じてライティングアーティストがそのパラメーターを調節する事も可能です。

便利なレンダーフィルター

自分がすごく気に入っている機能の一つに、インタラクティブ・レンダー・フィルター(Interactive Render Filters)というものがあります。
あらゆる設定を、ローカルレンダリングのテスト用だけに設定することができます。
例えば以下のように、

・ライティングの方向だけ見たいから重たいHairやFurを消したい
・一時的にモーションブラーをオフにしたい
・特定のキャラクターだけ一時的にレンダリングしないようにしたい

といった設定をユーザーの好みに合わせてレンダーフィルターとして作成出来ます。
このレンダーフィルターは共有できるので、テスト解像度や低いサンプル数の設定など、プロジェクトのデフォルト設定として追加できます。
なんといっても、レンダーフィルターはサーバーのレンダリングには一切影響しないのが特徴です。
これによって、仮の設定のまま間違えてレンダリングしてしまった、ということがなくなります。

ノードがコピペ出来る

そしてもう一つ素晴らしい機能はやはり、なんといってもNukeの様にノードをコピペできる点だと思います。
同じシーケンス内の同じようなライトをコピーしてくる場合、従来だとライトをエクスポート→インポートする必要がありました。
Katanaではライトを管理する「Gaffer」というノードをコピペするだけで簡単に他のショットのライティングを持ってくる事が出来ます。

ギズモ(LiveGroup)が使える

Nukeと同じようにノードをグループ化する事も出来ますが、さらにLiveGroup機能が使えます。現在はNukeにも追加されている機能です。
例えば、レンダー設定まわりをまとめてLiveGroup化しておき、プロジェクトで全体のサンプル数を変えなければならない時は、そのLiveGroupを更新する事で、全シーンに変更を適用できます。


デメリット

玄人向けの側面がある

デメリットとしてまず挙げられるのが、操作がやや玄人仕様という事です。
Houdiniにかなり近い考え方・GUIなので、その手のソフトに慣れてる人には扱いやすいですが、直感的に扱える部分は少なく、またCELという独自のスクリプトも絡んできたりするため、アーティストにはそれなりトレーニングが必須です。自分の経験では慣れるのに1ヶ月かかりました。

ある程度の規模のパイプラインが必要

シーンのアセンブリそのものもそうですが、やはりある程度のパイプラインに組み込んで初めて真価を得るタイプのソフトウェアだと思っています。Alembicなどのアニメーションキャッシュのフローはもちろん、ルックデブ作業と合わせてKatanaを使用しなければならないため、敷居が高い部分もあります。ワークフロー構築とアーティストへのトレーニングも含めて、Katanaに理解のあるスタッフがしっかりとサポートする必要があります。

※ここから以下は現在のバージョンで改善されている可能性があります。

ライトの操作がやや貧弱

肝心なライティングの操作ですが、Mayaと比べると自由が効かない部分も多く、ライティングツールなので、もう少し改善して欲しいと思っています。最新リリースでは分かりませんが、自分が触っていた時は、複数のライトを選択して値を変えるといった基本的なことが意外と出来ませんでした。

アニメーションの再生が出来ない

これは設計思想なのですが、タイムラインを移動する事は出来ますが、アニメーションとして“再生”する事は出来ません。なので、ライトがチカチカするアニメーションを作って確認したいときは、各フレームでキーを打った後に、レンダリングを実際に回して結果を見なければいけません。

価格が高い

現在公式サイトでは価格が表示されてませんが、導入を躊躇するような値段だったはずです。


簡単なワークフローの説明

まずはじめに、Katanaにはレンダラーが付属していません(最新版では3Delightがおまけ的についてくるよう?)。ですので、ArnoldやRendermanなどKatanaに対応したレンダラーを別途用意する必要があります。

基本的なGUIレイアウトの例

Webinar - Learning Katana, Part1より
レイアウトは比較的自由に変更できます。括弧内はMaya内で相当する機能です。
表示されていませんが、他にもまだまだ色々なウィンドウがあります。


ノードツリー構造の例

以下はCGスタジオにおけるノードツリーの例です。これもあくまで例に過ぎないので、Nukeなどのノードベースのソフトと同じく、各スタジオのワークフローに合わせて自由に設計できます。



・ショットデータ読み込み(Importmaticノード)
Alembicなどの外部データを読み込みます。
大手のVFXスタジオでは独自に開発したショットのパッケージングシステムがあるので、それを読み込みます。パッケージの中にはそのショットに必要な全てのデータが入っています。

・グローバルレンダー設定
シーン全体のサンプル数の設定を行います。Mayaでいうレンダー設定が担う部分です。
Katanaにはレンダラーごとに細かなサンプル設定などのノードがありますが、それらをグループ化する事が出来るので、わずらわしい設定を隠す事が出来ます。アーティストに必要なパラメーターだけをグループの表に出す事で、間違って触ってしまったりなどの設定ミスを防げます。

・ライティング(Gafferノード)
ライティングの追加・設定を司る、ライティング作業で最もお世話になるノードです。
ライトの位置・明るさ・色・ブロッカーおよびゴボの設定など一貫してこのノードで行います。

・グローバルAOV設定
DIffuseやSpecularなど、どんなAOVを書き出すかの設定を行います。

パスについて

Katanaではパス(Pass)という概念で素材を分けます。これはMayaでは今までレンダーレイヤーで分けたり、シーンファイル別で分けていたものです。メインのノードツリーを分岐させて、ビジビリティーやオブジェクトのハイドなどは各パスごとに設定を加えてレンダリングします。

例えば、キャラクターが2体登場して、背景もレンダリングするショットでは、

・キャラクターA
・キャラクターB
・背景

の3つのパスに分けることが出来ます。背景が複雑なものであれば、さらにその背景を近景・中景・遠景などのパスに分ける事もあります。

・AOV設定オーバーライド
AOVをグローバルの設定から変えたい時はここで変更を加えます。

・ハイド設定(Pruneノード)
ハイドしたいオブジェクトやデータがあれば、ここで設定します。

・ビジビリティー設定
背景のプライマリ・ビジビリティーをオフにしたり、リフレクションの影響を変えたいなど、パスごとの設定はここで行います。レンダーレイヤーではわざわざオーバーライドを使って変更していた部分です。

・ファイル命名規則
パイプラインに準拠したファイル名などを設定します。

・レンダー
このノードを選択して、右クリックからレンダリングを選ぶとファイナルの設定でレンダリングが始まります。レンダーファームに投げる際は、各パスのレンダーノードをドラッグして一度に選択して投げます。


参考リンク

ILMの折笠さんらによるセミナーの記事です。実際に大手VFXスタジオでのパイプライン思想など、非常に参考になります。

また、eg+worldwideさんによる国内の事例もあります。


さいごに

日本のスタジオではKatanaの導入は難しいと思いますが、Nukeが浸透したように、Katanaもライティングシーン管理ツールの選択肢の一つとして、浸透していくことを願っています。

0 件のコメント:

コメントを投稿