Rendering

Tips

modoでオーバースキャンレンダリング

画像を外側に広げた大きさでレンダリングしたい時に便利な、オーバースキャン レンダリングについて書いてみたいと思います。

 

オーバースキャンとは

もともとはブラウン管テレビの外周にある黒縁のように、データは存在するけど映像が見えない目隠しされている領域を「オーバースキャン」と言います。3DCGでもカメラフレーム外側の領域をレンダリングすることを「オーバースキャン レンダリング」と呼んだりします。

CGではコンポジットで被写界深度やレンズのゆがみを追加したとき画像の端が綺麗に処理されるように、または画面揺れを追加できるように、一般的な映像フォーマット(720p、1080p)より少し大きめのサイズでレンダリングすることが多いと思います。静止画でも印刷用途だと「裁ち落とし」部分まで画像を用意すると思います。

 

オーバースキャン スクリプト

オーバースキャン レンダリングしたいときは「bd_overscan.py」を使うと便利です。

 

オーバースキャン レンダリングの計算方法

大抵は3Dソフトごとにオーバースキャン レンダリング用のスクリプトや機能があるのですが、カメラのフィルムバックを使用すると簡単に計算することができます。

元となるカメラの設定です。

レンダー解像度
  • 幅 1280
  • 高さ 720
フィルムバック
  • フィルム幅 36 mm
  • 高さ 24 mm

カメラのフレームはこんな感じです。

デフォルト設定1280×720ピクセルのレンダリング結果です。オブジェクトを左右ギリギリに配置して、球体の影はフレームにかかるよう配置してます。このデータを使ってオーバースキャンを計算してみます。

 

パーセント指定する方法

「フィルムバック」を使用する方法

例えば120%に拡大したい場合は、現在の「レンダー解像度」と「フィルムバック」に1.2を掛けます。フィルムバックを使用するとカメラの「焦点長」を変更せずに済むので便利です。

レンダー解像度
  • 1280 * 1.2 = 1536
  • 720 * 1.2 = 864
フィルムバック
  • 36 mm * 1.2 = 43.2 mm
  • 24 mm * 1.2 = 28.8 mm

120%したプロパティです。

120%でレンダリングした画像です。

 

「焦点長」を使用する方法

フィルムバックの設定がないソフトの場合は「焦点長」を1.2で割る方法が使えます。3dsMaxの「レンズ」でも同じ計算方法が使えます。

レンダー解像度
  • 1280 * 1.2 = 1536
  • 720 * 1.2 = 864
焦点長
  • 50 mm/1.2 = 41.666 mm

120%したプロパティです。

120%でレンダリングした画像です。

ピクセル数を指定する方法

1280pixを1600pixのようにピクセル数を指定する場合は「変更したいサイズ÷現在のサイズ*フィルムバックサイズ」で計算できます。

レンダー解像度
  • 1280 → 1600
  • 720 → 900
フィルムバック
  • 1600 / 1280 * 36 mm = 45 mm
  • 900 / 720 * 24 mm = 30 mm

1280×720を1600×900に変更したプロパティです。

1280×720を1600×900でレンダリングした画像です。

 

ピクセル数を指定して「焦点長」を求めるにはアークタンジェントとかいう計算が必要っぽいので、今回はスルーします。どうして計算方法を書いたかというと、他のソフトでも使うことができるんじゃないかなと思いました。

modoでオーバースキャン レンダリングするときは、シーンを別名で保存/管理する方法もありますが、カメラの動きを修正した場合を考えてレンダーパス使う方法や、バッチレンダリング時にコマンドでオーバースキャンの値を設定する方法が柔軟性があって便利な気がしますね。

 

参考

https://www.pixelfondue.com/blog/2016/12/9/overscan-rendering

参考資料

インテルがオープンソースのイメージ デノイズ ライブラリを公開

IntelがApache 2.0ライセンスの下でOpen Image Denoiseと呼ばれる新しいオープンソースのイメージ デノイズライブラリを公開しました。
https://openimagedenoise.github.io/
https://github.com/OpenImageDenoise

 

オープンイメージDenoiseの概要

インテル Open Image Denoiseは、レイトレーシングでレンダリングされたイメージ用の高性能・高品質のデノイズ フィルターのコレクションです。Open Image DenoiseはIntel Rendering Frameworkの一部であり、Apache 2.0ライセンスの下でリリースされています。

Open Image Denoiseの目的は、レイトレーシングベースのレンダリングアプリケーションでレンダリング時間を大幅に短縮できる、オープンで高品質、効率的で使いやすいデノイズ ライブラリを提供することです。パストレーシングなどの確率論的レイトレーシング法に固有のモンテカルロノイズを除去し、1ピクセルあたりの必要なサンプル数を数桁(グランドトゥルースへの望ましい近さに応じて)減少させます。

Open Image Denoiseは、インテル64アーキテクチャー・ベースのCPUと互換アーキテクチャーをサポートしており、ラップトップからワークステーション、HPCシステムの計算ノードまで、あらゆるもので動作します。オフラインレンダリングだけでなく、使用するハードウェアによっては、インタラクティブレイトレーシングにも十分効率的です。

Open Image Denoiseは、ディープニューラルネットワーク用インテルマス・カーネル・ライブラリー(MKL-DNN)の上に構築され、インテルSSE4、AVX2、AVX-512などの最新の命令セットを最大限に活用して、高いノイズ除去性能を実現します。Open Image Denoiseを実行するには、少なくともSSE4.2をサポートするCPUが必要です。

CG News

Quixel Mixerベータ版を無料公開

QuixelはPBRテクスチャ編集ソフト「Mixer」のベータ版を無料公開すると発表しました。
https://quixel.com/blog/2019/1/30/the-year-of-mixer

ベータ期間は1年以上あるようです。Mixerの開発にはPhotoshopプラグインだったNDOとDDOのホームを作成する意図があると説明しています。MixerはMegascansの一部としてのみ利用可能でしたが、Quixelは無料ベータ期間が終了すると$99の永久ライセンス方式で利用可能になることも発表されました。

https://quixel.com/mixer

DDOは購入してましたが、新規に作り直すと発表され初期バージョンは無料公開されてました。現在はDDO自体がダウンロード出来ない状態で不安に思ってましたが、開発が続いてたということかな?

Tips

modoのレンダリングウィンドウで進行状況を表示しない方法

modoのレンダリングウィンドウで、レンダリングの進行状況を表示しない方法について書いてみます。

modoはレンダリング実行時に、オレンジ色のバケット単位でレンダリングの進行状況が表示されます。レンダリングの進捗が見れるのでミスがあった場合に気がつきやすくて便利なのですが、進捗表示はレンダリング速度に影響します。

進捗を100%サイズで表示していると画像のアップデートの処理ぶんレンダリングが遅くなり、3.313%のように表示サイズを小さくすると少し早くなります。これはレンダリングウィンドウのサイズを変えてレンダリングしてみると、速度に差が出るのを簡単に確認できると思います。
静止画であれば問題になることは少ないと思いますが、アニメーションの場合は少しでもレンダリングが速いほうが嬉しいと思います。

 

レンダリングコマンド

進行状況を表示しないようにするには、render.animation コマンドのオプションを使用します。

render.animation {C:\Output\FileName_} png16 2

コマンドフィールドに入力してEnterを押すと、進行状況を表示せずアニメーションのレンダリングが実行されます。レンダリングが完了すると最後のフレームがレンダーウィンドウに表示されます。

コマンドリストを検索すると、render.animation の引数について書かれているのがわかると思います。

render.animation <filename:string> <format:string> <options:integer> <group:&item>

<filename:string>は出力先のファイルパスとファイル名を設定します。ファイルパスのような引数は{}で囲んで指定します。<format:string>は出力形式、<options:integer> がレンダリングオプションです。<group:&item>はレンダーパスの設定です。今回レンダーパスは使用してないので省きました。引数がない場合はシーンの設定でレンダリングされます。

コマンドリストにはオプションに関する説明がありませんが、以下のようになってるらしいです。

  • 1 : NOT_WAITING // 次のフレームをレンダリングするまで待機しません
  • 2 : NO_IMAGE // 進捗画像を表示しない
  • 4 : IC_ONLY // ICのみレンダリング
  • 8 : NO_CLEANUP // レンダリング終了後にクリーンナップしない
  • 0 : RENDER_ANIIM // アニメーションをレンダリングしていることを示すためにrender.animationによって使用される。

今回は進捗を表示したくないので「2」を使用しました。このオプションはデバッグ用に用意された物で、現在でも上記のオプション通りに動作するかはわかりません。

アニメーションをレンダリングするときに使うと、時間の節約になって便利かもしれません。ちなみに進捗状況の表示サイズが大きいとレンダリングが遅くなる問題はAfter Effectsでも発生するし、modo同様にビューを縮小するとレンダリング速度が速くなります。

 

参考

https://community.foundry.com/discuss/post/721479

Tips

Mayaのコマンド ライン レンダラを使用したバッチレンダリング

Maya のコマンド ライン レンダラ Render.exe (mayabatch.exe)を使用したバッチレンダリングの方法について書いてみます。複数のシーンファイルを連続してレンダリングしたい場合に便利です。

 

バッチファイル作成

例えばCut_001.ma、Cut_002.ma、Cut_003.maのように複数のシーンファイルがあって、全てのシーンをレンダリングする場合について書いてみます。

テキストエディタを使用してRender.exeと.maファイルへのパスを記述し、拡張子を.batにして保存します。バッチファイルは行ごとにコマンドが実行されるので改行には注意してください。

“C:\Program Files\Autodesk\Maya2017\bin\Render.exe” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”
“C:\Program Files\Autodesk\Maya2017\bin\Render.exe” -r sw -s 1 -e 5 -of tga -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_002.ma”
“C:\Program Files\Autodesk\Maya2017\bin\Render.exe” -r sw -s 1 -e 12 -of png -im “Cut_003_” -fnc “name#.ext” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_003.ma”
cmd /k

コマンド ライン レンダラはフラグを設定して、シーンファイルの設定を変えてレンダリングすることができます。

1行目が最も単純な記述方法です。フラグ -rd はレンダリングした画像の出力先を指定するものです。

2行目 -r はレンダラの指定で sw はMayaソフトウェアです。mr はメンタルレイです。
-s 1 -e 5 はフレームレンジで、開始フレーム数と終了フレーム数です。
-of tgaはイメージフォーマット。
-rd “C:\BatchFolder\Output”はレンダリングした画像の出力先のディレクトリ指定です。

3行目 -im “Cut_003_” は出力ファイル名です。-im “<Camera>/<RenderLayer>/Cut_003_<Scene>_<RenderPass>” のように「ファイル名プリフィックス」を使用してフォルダを作成したりレンダーレイヤーの名前を使用することできます。
-fnc “name#.ext”は連番番号と拡張子のフォーマットの指定です。

基本的には「レンダー設定」のフラグを覚えると便利に使えます。

.batをダブルクリックするとコマンドプロンプトが起動してレンダリングが実行されます。レンダリングが終了したらコマンドプロンプトを閉じて完了です。

 

環境変数

Mayaはシステムの環境変数によってUIの言語やプラグインパスが定義されていますが、バッチファイルを使用すると環境変数を指定してMayaを起動することができます。

例えばMayaを英語で起動したい場合は、以下のようなバッチファイルを作成します。

SET MAYA_UI_LANGUAGE=en_EN
“C:\Program Files\Autodesk\Maya2017\bin\maya.exe”

バッチレンダリングでも同様のことができます。例えば以下のようにプラグイン(モジュール)のバージョンを指定してレンダリングすることができます。

SET MAYA_MODULE_PATH=C:\Modules\PluginVersion_100\
“C:\Program Files\Autodesk\Maya2017\bin\Render.exe” -r sw -s 1 -e 5 -of png -im “AAA_” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”
SET MAYA_MODULE_PATH=C:\Modules\PluginVersion_130\
“C:\Program Files\Autodesk\Maya2017\bin\Render.exe” -r sw -s 1 -e 5 -of png -im “BBB_” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”
SET MAYA_MODULE_PATH=C:\Modules\PluginVersion_151\
“C:\Program Files\Autodesk\Maya2017\bin\Render.exe” -r sw -s 1 -e 5 -of png -im “CCC_” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”
cmd /k

Mayaはマイナーバージョンでも細かくバグが増えて動作がおかしくなることが多いので、Mayaに問題があるのかプラグインが問題かテストするときに、複数のプラグインバージョンでレンダリングをテストするときに便利です。

 

参考

コマンド ライン レンダラの共通フラグ

https://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/Maya/files/GUID-0280AB86-8ABE-4F75-B1B9-D5B7DBB7E25A-htm.html

環境変数

http://help.autodesk.com/view/MAYAUL/2016/JPN/?guid=GUID-925EB3B5-1839-45ED-AA2E-3184E3A45AC7

Tips

AfterEffectsでaerenderを使用したバッチレンダリング

After Effects のaerender.exeを使用したバッチレンダリング方法について書いてみます。複数のプロジェクトを連続してレンダリングしたい場合に便利です。

 

バッチファイル作成

例えばCut_001.aep、Cut_002.aep、Cut_003.aepのように複数のプロジェクトファイルがあって、全てのプロジェクトをレンダリングする場合について書いてみます。

テキストエディタを使用してaerender.exeと.aepファイルへのパスを記述し、拡張子を.batにして保存します。バッチファイルは行ごとにコマンドが実行されるので改行には注意してください。

“C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe” -project C:\BatchFolder\Cut_001.aep
“C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe” -project C:\BatchFolder\Cut_002.aep
“C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe” -project C:\BatchFolder\Cut_003.aep
cmd /k

.batをダブルクリックするとコマンドプロンプトが起動してレンダリングが実行されます。レンダリングが終了したらコマンドプロンプトを閉じて完了です。

プロジェクトファイルは、あらかじめレンダーキューを追加してファイルの出力先を設定して「レンダリング」ボタンを押すだけの状態にしておく必要があります。

 

引数

aerenderは引数を使用してレンダリングするフレームやコンポジッションを指定することが出来ます。個人的には全く使わないけど、テストしたのでメモっておきます。

以下は「CompositionA」というコンポジッションをレンダリングして、任意のディレクトリにファイル出力する例です。

“C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe” -project C:\BatchFolder\Cut_001.aep -comp “CompositionA” -output C:\BatchFolder\Output\Cut001_[####].psd
cmd /k

ちなみに -comp がないと -output を使用してファイルパスを変えられません。マニュアルには「引数を指定しない場合は、レンダーキュー内のコンポジションすべてがレンダリングされます。この場合は、–project、–log、–output、–v、–mem_usage および -close 引数のみが使用され、その他の引数は無視されます。」と記載されてますがCS6では動作しません。-comp がない場合は「-comp がないので-output引数は無視されます。」という警告がでます。

–output を使用すると出力パスと出力ファイル名を指定することができますが、拡張子を変えててもファイルフォーマットは変わらないようです。

 

監視フォルダーモード

バッチファイルを使用して監視フォルダーモードを実行することもできます。「監視フォルダーモード」は複数のPCがフォルダを監視し、レンダリング可能なプロジェクトがあればフレーム単位で分散レンダリングしてくれる機能です。

テキストエディタを使用してAfterFX.exeと、 -wf を使用して監視するディレクトリを記述し、拡張子を.batにして保存します。

“C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\AfterFX.exe” -wf C:\BatchFolder\

「監視フォルダーモード」でレンダリングするには「レンダリング制御ファイル」 が必要です。ファイルメニューの「フォルダを収集」実行時に作成されます。

 

レンダリング制御ファイル

レンダリング制御ファイルは「フォルダを収集」を実行すると.aepと同じディレクトリに「プロジェクト名_RCF.txt」という形で作成されます。

テキストファイルの中身はこんな感じで、使用するPCの上限などが書かれてます。

After Effects 11.0v1 Render Control File
max_machines=5
num_machines=0
init=0
html_init=0
html_name=””

レンダリング完了後は以下のようになる。

After Effects 11.0v1 Render Control File
max_machines=5
num_machines=1
init=1
html_init=1
html_name=”Cut001_00.htm”

item1=(Finished,1,1,0)

レンダリングが完了するとレンダリング制御ファイルにレンダリング済みのフラグが書きこまれ、「監視フォルダーモード」のレンダリング対象から除外されます。「init=1」を「init=0」に変えると再度レンダリング対象になります。

 

参考

aerenderの引数はマニュアルに記載されています。
https://helpx.adobe.com/jp/after-effects/using/automated-rendering-network-rendering.html

CG News

modo用ノードベースマテリアルエディタ「NoMo」公開

modo用のノードベースマテリアルエディタ「NoMo」が公開されています。価格は£45、現在アーリーアダプター価格で25%OFFとのことです。
https://gumroad.com/l/ZvnKx

現在はmodoのスケマティックでできることと同じ程度の機能ですが、modoのスケマティックより拡張した物を作りたくて開発中とのことです。将来的にノードライブラリとカスタムモードを作成したいとのこと。またノードにプレビューを追加する予定らしいです。
https://community.foundry.com/discuss/topic/145287/nomo-published-a-node-based-material-editor-for-modo

オリジナルのスケマティック追加してるのが面白いですね。modoはこういう拡張性もあるんだね。

 

概要

Modosプロシージャルテクスチャを利用して複雑なテクスチャの作成をスピードアップする、Modo用のノードベースのマテリアルエディタ。

Tips

modoのバッチレンダリング

modoのヘッドレスモードを使用したバッチレンダリングの使い方について書いてみたいと思います。
複数のシーンを連続してレンダリングする場合に便利です。

 

ヘッドレスモードとは

ヘッドレスモードはGUIのないmodoです。WindowsのコマンドプロンプトやOS Xのターミナルを使用してmodoを操作します。GUIがないためメモリが少なく済み、レンダリング中のプレビュー表示がないためレンダリング速度も少し早くなります。
ヘッドレスモードはGUIで使用できるほとんどのコマンドが使用できるので、特定のパラメータを変更してレンダリングすることができて便利です。

ヘッドレスモードのような仕組みはMaya、Max、AfterEffectsなど、アニメーションをレンダリングするソフトには大抵搭載されていて、ネットワークレンダリングなんかに使用されます。

 

バッチファイルとコマンドファイル

modoではヘッドレスモード用のmodoを起動するバッチファイルと、modoのコマンドを記述したテキストファイルを使用してバッチレンダリングをおこないます。

例えばCut_001.lxo、Cut_002.lxo、Cut_003.lxoのように複数のシーンファイルがあって、全てのシーンをOutputフォルダにレンダリングする場合について書いてみます。

 

バッチファイル

バッチファイルは拡張子を.batに変えたテキストファイルです。ヘッドレスモード用のmodo_cl.exeのパスと、コマンドファイルへのパスを記述します。今回は.batと同じディレクトリに.txtファイルがあるのでファイル名だけ書いてます。バッチファイルは行ごとにコマンドが実行されるので改行には注意してください。

“C:\Program Files\Foundry\Modo\12.2v1j\modo_cl.exe” < RenderSettingsFile.txt
cmd /k

 

コマンドファイル

コマンドファイルは拡張子通り普通のテキストファイルです。コマンドファイルにはmodoのコマンドを書いておくと1行ごとに実行されます。

log.toConsole true
log.toConsoleRolling true

scene.open {C:\BatchFolder\Cut_001.lxo}
render.animation {C:\BatchFolder\Output\Cut_001_} PNG16
scene.close

scene.open {C:\BatchFolder\Cut_002.lxo}
@ChangeRenderFrameRange.pl 1 3
render.animation {C:\BatchFolder\Output\Cut_002_} PNG16
scene.close

scene.open {C:\BatchFolder\Cut_003.lxo}
@ChangeRenderFrameRange.pl 1 4
render.res 0 1280
render.res 1 720
render.animation {C:\BatchFolder\Output\Cut_003_} PNG16
scene.close

app.quit

最初の2行はログ出力用のコマンドです。scene.openでファイルを開きrender.animationでレンダリングを実行してscene.closeでファイルを閉じています。render.animationコマンドは引数としてファイルの出力先のパスと出力ファイル名、出力フォーマットを指定しています。

@ChangeRenderFrameRange.pl はmodo標準のレンダリング範囲を変更するスクリプトを使用して、レンダリング範囲を変更する例です。render.resはレンダリング解像度の変更コマンドです。

 

レンダリングの実行

バッチファイルとコマンドファイルの準備ができたら.batファイルをダブルクリックします。modo_cl.exeとコマンドファイルのパスが正しく設定されていれば、コマンドプロンプトが開いてレンダリングの状況が表示されます。レンダリングが終了したらコマンドプロンプト閉じて終了です。

 

今回は単純にバッチレンダリングの例でしたが、ヘッドレスモードはほとんどのmodoコマンドが使用できます。例えばキャラと背景別々のシーンファイルを1つのシーンに読み込んでレンダリングしたり、複数のファイルのパラメータに同じ編集を加えてファイル保存したり、色々な使い方ができて便利だと思います。

 

参考

コマンドラインからModoのレンダリング
https://www.pixelfondue.com/blog/2016/11/3/modo-rendering-from-the-command-line

RenderMonkey

バッチレンダリング用のスクリプトも公開されています。元は有料のキットでしたが無料化されました。
https://github.com/9bstudios/mecco_renderMonkey

バッチレンダリングスクリプト

modoを通常通り起動してPythonスクリプトでバッチレンダリングするという物。レンダリングウィンドウで進捗を見たい場合にはいいかもしれません。https://community.foundry.com/discuss/post/747715

参考資料

Spider-Versemの独創的なビジュアル

Spider-Versemのビジュアルに関する記事が公開されています。
https://www.fxguide.com/featured/why-spider-verse-has-the-most-inventive-visuals-youll-see-this-year/

Sony Pictures Imageworks(SPI)のアーティストとビジュアルエフェクトチームは、古い漫画本の外観に敬意を表している見事なビジュアルスタイルを実験しました。

映画の中の漫画要素は次のとおりです。

  • ピンぼけを暗示するための位置ずれ
  • グラフィック要素 – 「BOOM」や「POW」のように枠を埋めるために使用されます
  • パネル化 – アクションをパネルに分割し、アニメーションのフレームレートがあるパネルから次のパネルへのジャンプを模倣します。
  • ハーフトーンドット – トーンとテクスチャをレンダリングする
  • 色 – 定義された形状に分割して、よりわかりやすい感じにします
  • 手描き – 煙、火花、爆発などの特定の効果はアーティストによって手描きされます

 

ピンぼけ

カラーオフセットの不完全性をエミュレート。

 

モーションブラー

アニメーションの大部分は画像は1フレームではなく2フレームで保持されます。24ではなく1秒あたり12画像です。これはCGではめったにありません。監督は漫画本のスタイルに忠実であり続けるために一時停止したときに、フィルムの各フレームが絵画のように見えることを望んでいました。このトレインショットのようなシーンでは、電車の上に線が配置され、ロールシャッター効果が導入されて、動きのない場所でモーションブラーが発生するようになります。

 

漫画本のパネル

ストーリーのさまざまな時点で、フレームは複数の漫画本のフレームに分割されます。映画撮影の観点からは、これは本当に頭痛の種でした。

 

ハーフトーンとクロスハッチ

4色印刷の驚くべきデジタル版とクロスハッチインキングとハーフトーンドットの組み合わせを使用して、質感と視覚的な関心を高めています。

 

ライン アクション

コンピュータはすべて正しく処理するので、常に正しい視点とジオメトリを使用できます。アートで興味深く表現力があるのは、人間が創造するものと密接に関連するすべての不完全性です。デザインと感情は正確さとリアリズムよりも優先されました。

 

特別なモデリングの考慮事項

漫画のアーティストが遠近感を誇張することは珍しいことではありませんが、3Dでは新しいレベルの複雑さをもたらします。これは映画の中で、街の環境作業の中で大いに行われました。

映画の中でマイルが建物から飛び降りて街に戻ったとき、ニューヨークの建物はすべて彼の周りの輪のように方向づけられています。それらの建物は地面に対して垂直ではありません。ひどく傾いていて、その高さは5倍から8倍まで変わります。

 

異なるアニメーションスタイルの統合

この映画の驚くべき功績の1つは、スクリーン上にそのような異なるスタイルで非常に多くのまったく異なるキャラクターを提供しながら、それらがあたかもそれらが同じ光源によって照らされる同じ物理的空間にあるかのように感じさせることです。

アニメーターは通常1週間に約4秒のアニメーションを作成しますが、Spider-Man:Spider-Verseでは、パイプラインは非常に複雑で画期的なので、1週間に平均1秒のアニメーションしか作成できませんでした。このためより多くのアニメーターを雇ってワークロードを引き受け、独自のビジュアルスタイルを実現しました。結局、30以上の異なる国からのアーティストが異なったスタイルを統合して、映画の作品に貢献しました。

 

顔とリグ

キャラクターリグの大部分は、以前のリグやブレンドシェイプモデルとそれほど変わりませんでした。しかしPeniは大きな例外だ。

アニメの外観を実現するために彼女の顔は「デカール」として置き換えられました。Peniには正式な顔のジオメトリ形状はありません。彼女の外見はアニメーションによるものですが、完全に平らな、そして平らな陰影付きのデカールに変換されます。

 

クラシック漫画本ツール

この映画は、印刷された漫画本か高められた多くのデバイスやツールを使用しています。最も注目すべきことは、説明文や観客の指示としてスクリーン上のテキストを使用することです。これらのテキストボックスは、カメラの動きの一部としてオーバーレイまたは移動されます。

 

漫画のサウンドFX

焦点と深さを示すために、より絵画的なスタイルに移動することに加えて、効果音を強調するためにスクリーン上にクラシカルなテキストを追加します。

サウンドはアニメーション後に行われましたが、チームはサウンドの設計とサウンドエフェクトチームによるアクションの時間を考慮しています。

 

Tips

modoのリプリケータのランダムタイム変動

modoのリプリケータにある「ランダムタイム変動」について書いてみたいと思います。


リプリケータはアイテムを手軽に複製する機能ですが、アイテムにアニメーションが設定されている場合はアニメーションした状態で複製します。単純にアニメーションを複製すると、すべてのアイテムの動きがそろってしまいます。リプリケータの「ランダムタイム変動」を使用すると、アニメーションにランダムな時間の変化を設定することができます。

アイテムのトランスフォームにアニメーションを設定してる場合は、こんな感じにランダムにずれてアニメーションが再生されます。

 

デフォーマで変形したアイテムはビューポートで「ランダムタイム変動」を確認することができないので注意が必要です。下の画像はスケルトンで円柱を変形した例です。

レンダリングした場合は、正しく「ランダムタイム変動」が効いているのが確認できます。ビューポートで確認できないのがちょっと不便ですね。

アニメーションを特定のフレーム以降から再生したい場合は、「タイムオフセット」を使ってアニメーションの開始フレームを調整するといいです。

「量子化カウント」はアニメーションのパターン数を指定する機能です。例えば3を設定するとランダムなアニメーションのパターンが3種類になります。確認してませんが「量子化カウント」の値が小さい方が、メモリの使用量が少なくなったりするのかな?と思います。

リプリケータを使用してアニメーションしてるモデルを複製する場合は、「ランダムタイム変動」を使用すると手軽にランダム感が設定できて便利ですね。

ちなみにmodo11からリプリケータのパフォーマンスが大幅に向上しましたが、modo11.2~12.2でデフォーマを使用したメッシュに「ランダムタイム変動」を使用すると、ビューポートのアニメーション再生パフォーマンスが悪くなる問題が発生しているようです。レンダリング時のみ「ランダムタイム変動」に値を設定するといいかもしれません。

CG News

OctaneRender 4 リリース

OctaneRender 4がリリースされたようです。modoの体験版はまだ古いバージョンみたい。
https://home.otoy.com/octanerender-4/

OctaneRender 4は2016年4月に発表され、2017年に出荷予定でした。Octaneの開発者が抜けてFStormRenderを開発。OTOYがFStormにOctaneのコードが使われていると販売の差し止めを求めたり、専門家の検証の結果FStormが無実だったりと開発以外のところで目立ってました。Octane 4が本当にリリースされるのか少し心配でしたが無事リリースされたみたいです。

OctaneRender 4と同時に、サブスクリプション専用となる OctaneRender 2018.1 のプレビュー版もリリースさてるようです。
https://render.otoy.com/forum/viewtopic.php?f=33&t=69461

OctaneRender 4の新機能

Octane 4は最先端のSpectral AI Denoising、AIライティング、高性能のアウトオブコアジオメトリ、シーングラフとビューポートで10倍〜100倍のスピードアップを含む、世界で最も高速なアンバイアスGPUレンダラーに数多くの業界初のブレークスルーを統合します。

OctaneRender 4は現在購入可能で、Octane 3のすべてのユーザーのための無料アップグレードです。

 

Octane オールアクセス

新しいOctane 4年間の「オールアクセス」サブスクリプションプラン $ 19.95/月(最低1年以上)、好きなDCCプラグインへのアクセス。
Maya、CINEMA 4D、AutoCAD、Revit、 Houdini、Blender、3ds Max、After Effects、Nuke、Unity、まもなくUnreal Engineなどがあります。

 

Brigade Engine の統合

OTOYのリアルタイムパストレースゲームエンジン「Brigade」はOctane 4に統合され、重いシーンの読み込みとインタラクティブ機能を最大10倍〜100倍高速化しました。

Brigadeは数百万のトライアングルを持つ重いメッシュやシーンを移動または変形するとき、Octaneビューポートで即座にゲームエンジンのようなフィードバックを与えます。

 

アウトオブコアジオメトリサポート – Octane シーン AI

Octane 4は、複数のGPUであってもスピード・ロスを最小限に抑えて、CPUメモリからコア・アウト・オブ・ジオメトリを高速にレンダリングできます。アンバイアスGPUレンダラー初です。

必要に応じてすべてのメッシュとテクスチャをCPUメモリに格納し、Octane ビューポートのレイテンシを持たない完全にインタラクティブな速度でレンダリングできます。シーンAIはリアルタイムにサーフェスの可視性をモデル化し、最大のパフォーマンスを得るためにジオメトリをコアの内外に動的に移動します。

Spectral AI Denoiser

Octane 4は画期的な機械学習技術を導入し、ビューポートと最終的なレンダリングの両方でインタラクティブにビューティーとAOVパスをオンザフライで伝えます。

Octaneの最先端のSpectral AI Denoiserは、エンジンの内部のスペクトル放射、シーンデータの内部知覚モデルのマテリアルで動作します。ドメイン特有のAIデノイザーはガラス、屈折、SSS、被写界深度、モーションブラーをサポートし、ノイジーなシーンでレンダリング時間を50〜100倍短縮します。

 

Volumetric AI Denoiser

OctaneのボリュームメトリックAIデノイザーは、ノイズのない結果を得るため従来は数万のサンプルを必要としていたボリューム(およびボリュームパス)のノイズを除去します。

 

AI Light

AIライトはAI デノイザーをさらに補完します。マルチポイントやスポットライトなどの小さな光源を多く使用したシーンでは、最大6〜10倍のスピードでリアルタイムにエミッシブポイントを追跡できます。

 

ライトリンクとライト除外

Octane 4のライトリンクとライトの除外は、複数のレンダーパスを作成せずに複雑なライティングのシーンを細かく管理するのに役立ちます。エミッタノードにライトIDが設定されているので、オブジェクトレイヤーノード内のマテリアルによってライトを含めることや除外することができます。また、カーネル設定でもグローバルにオブジェクトへのエミッターの影響を制御できます。

 

惑星環境システム

Octane 4の新しい惑星環境はNishitaスカイモデルに基づいており、上層大気と宇宙で太陽光による散乱をシミュレートしています。これは物理的条件と照明条件を拡張して、アンバイアス パストレースの精度で大気シェーダと惑星シェーダをサポートします。

ユニバーサルマテリアル

Octane 4のユニバーサルマテリアルでは、異なる材料を組み合わせるプロセスが簡素化されました。単一の「Uber」マテリアルを使用して以前は複数のタイプのマテリアルミックスを必要としていたものを達成することができます。

拡散、鏡面、光沢および金属などの、 ユニバーサルマテリアルには、Specular Transmission、Diffuse BRDF、Specular Reflection、Coating、Sheenを含む複数のBXDF ローブが組み込まれています。

 

シェーディングとライティングがOctaneBenchパフォーマンスで25%の速度向上

AIやシーングラフの改善がなくても、Octane 4は同一のGPU上でOctane 3 よりも25%速くレンダリングします。

 

ネイティブ Substance PBR テクスチャ統合

OctaneRender 4は、C4Dや3ds MaxなどのDCCツールにSubstance PBRテクスチャを統合するようになりました。

UDIMテクスチャ

プロダクションテクスチャワークフローの場合、OctaneRender 4は新しい画像タイルテクスチャノードを使用してUDIMテクスチャをサポートし、アーティストがカスタムタイルグリッドを設定できるようにします。

8:1 GPU テクスチャ圧縮

Octane4の動的に圧縮されたテクスチャは、通常のRGBA、グレースケールおよびフロートテクスチャのVRAMの仕様を 1/3 ~ 1/8にします。圧縮テクスチャはスピード損失がゼロで、非圧縮テクスチャとほぼ同じ品質です。

マテリアルのIORテクスチャ入力

ユニバーサルマテリアルのベースレイヤのマテリアルIORは、新しい1/IORテクスチャ入力ピンに接続されたテクスチャノードとOSLシェーダで手続き的に制御できます。

マルチレイヤーOpenEXR インポート/エクスポート

テクスチャノードのEXRレイヤーインジェストを使用して、マルチレイヤーOpenEXR出力ファイルをOSLポストプロセスおよびコンポジットノードグラフにリロードすることができます。
OpenEXRのインポートとエクスポートにより、レンダーレイヤのビューティーとライティングパスのコンポジット、デノイズ、ブレンディング、フィルタリング、リライティング、色補正を細かく行うことができます。 OSLシェーダノードのフルパワーと柔軟性を備えています。

新しいFBXシーンエクスポータノード

アーティストはOctaneRenderの内部ORBXシーン変換システムを使用してシーンジオメトリをフラット化およびエクスポートし、複数のジオメトリグラフをサードパーティ ツール用のFBX/Alembicファイルにエクスポートできます。

CG News

Appleseed 2.0 ベータリリース

オープンソースの物理ベースのグローバルイルミネーションレンダリングエンジン「Appleseed」の2.0ベータ版が公開されたようです。
https://appleseedhq.net/news.html
https://github.com/appleseedhq/appleseed/releases/tag/2.0.0-beta

「カートゥーンシェーディングを実装したOSLシェーダと輪郭レンダリングを実装、ノンフォトリアリスティックレンダリング(NPR)の世界への最初のステップを進めました」とのことなので、今後も継続的にNPR機能が開発されるのかな?

CG News

V-Ray Next for Maya リリース

V-Ray Next for Mayaがリリースされたようです。GPU版もだいぶ完成度あがってそう。

新機能

アダプティブ・ドームライト

もはやポータルライトは不要です。V-Ray Next の新しいアダプティブ・ドームライトは自動的にシーンを分析し、よりノイズの少ない「屋内の」イメージベース・ライティング照明を提供します。

高速IPR

IPR(インタラクティブレンダリング)を再設計し、快適なフィードバックを提供します。

IPR中の高速デノイズ

ビューポートでインタラクティブレンダリング利用中に、ほぼリアルタイムでデノイズを適用できます。(NVIDIA社 AI denoiserを使用)

デバッグシェーディング/選択オブジェクトのみ表示

インタラクティブレンダリング中に、作業中のテクスチャー/マテリアル、オブジェクトのみ表示する事ができます。エラー解析用の表示(AO,法線、UV、ワイヤー)もメニューで切り替えて表示できます。

ビューポートIPRでプレイブラスト

ビューポートIPRを使って、非常に高速にプレビューアニメーションをレンダリングできます。高品位なプレビズアニメーションが短時間で得られます。

刷新された GPU レンダリング・コア

新しいアーキテクチャーに刷新されたV-Ray GPUコアはより強靭になりました。多くの重要なV-Ray機能をGPUでサポートした事で、実際のプロダクション・シーンをGPUでレンダリングする事ができます。

GPU ボリュームレンダリング

V-Ray GPUでフォグ、煙、炎などのボリューメトリック効果のレンダリングに対応。V-RayVolumeGridのサポートする OpenVDB, Field3D, Phoenix FDのキャッシュをGPUで高速レンダリングできます。

GPU バケットレンダリング

GPUレンダリングで「バケット型」のレンダリングをサポート。これにより Cryptomatte エレメントの出力もサポートします。

フィジカル・ヘアーシェーダー

新しいV-Rayフィジカルなを使用して、より良いハイライト、照明の分布でヘアーを表現できます。メラニン色素コントロールを使用すると、ブロンドからブルネット、赤毛まで、あらゆる髪の色を簡単に表現できます。

METALNESSパラメーター

“Metalness”による反射コントールに対応。リアルタイム系と同じ物理シェーダー用テクスチャーをV-Rayマテリアルでも利用いただけます。

新しいトゥーンシェーダー

簡単にアニメ調のスタイルでレンダリングを行うトゥーンシェーダーと、より高度なライン制御ができるように改良されたVRayToonを搭載

V-Ray Layered Texture

レイヤー毎のブレンドモード、レイヤーマスクに対応した新しいレイヤーテクスチャーを提供

レイヤー化 Alembic に対応

レイヤー構造を持つ Alembic 1.7 フォーマットをサポート – Alembicデータのより迅速かつ効率的な処理と更新を可能にします。

V-Ray Cloud

Maya上から1クリックで直接V-Ray Cloudサーバーにジョブを送信できます。