【3dsMax】Arnold Renderでできることは何?

CG

3dsMax2021からArnoldレンダラーがデフォルトのレンダラーに変更になりました。
そこでArnold Renderでできることを紹介します。

はじめに

3dsMax2021からArnoldがデフォルトレンダラーに変更になりました。

Arnold でできること

キックアス

Arnoldレンダラーでは、kickと呼ばれるコマンドからAss(Arnold Scene Source)ファイルをレンダリングすることが可能になります。

ちなみにassの日本語訳は…

「ロバ、ばか、がんこな人」

assをキックしてレンダリングするなんて、
言葉のセンスが面白いですよね。

 
スマ兄
重たいシーンファイルを開かずに、モデルの差し替えや必要な素材のみレンダリングが可能になるよ!

オペレータ

Arnold シーンの一部をオーバーライドし、プロシージャル(ASS または Alembic)内のパラメータ(シェーダなど)の変更することができるようになります。

プロシージャル

Alembic , USD , MaterialX ファイルをサポートしています。

プロシージャルにファイルを読み込むことで、レンダリングシーンの構築を自動で差し替えたり上書きできるようになります。

USDを使用して背景を非破壊で共同作業したり、MateriarlXを使用してマテリアル情報をテキストで管理したりできます。

関連記事

この記事はテクニカル好きなアーティスト向けです。Pixar社のパイプラインの考え方を学ぶことを目的としています。 USD とは、Universal Scene Description (ユニバーサル シーン ディス[…]

関連記事

この記事は、ArnoldレンダラーがサポートしているMaterialXについての内容になります。 MaterialX とは? MaterialXは、2012年にルーカスフィルムで創設され、 『スターウ[…]

Arnold SDK

SDKの使用はテクニカル向けになるので、アーティストは飛ばして実際どのように機能するのか、下の動画をご覧ください。

SDK インストール

SDKとは、特定のソフトウェアを開発する際に必要なツールのセット(APIのライブラリ、サンプルプログラム、技術文書などが含まれる)のことです。 software development kitの略称であり、日本語ではソフトウェア開発キットと訳します。

  1. インストール:Arnold SDK
  2. 環境変数のpathに追加
    <インストールルート>\Arnold-6.0.3.0-windows\bin

arnold sdk をインストール後 kick commandからより詳細な情報を取得可能になります。

kick command

どんなノードがあるのか?

kick -nodes

ジオメトリには何ができるのか?

kick -info polymesh

common

Type Name Default
NODE[] shader (empty)
BOOL matte false
BOOL opaque true
BOOL receive_shadows true
BOOL self_shadows true
BYTE visibility 255

polymesh

Type Name Default
BYTE visibility 255
BYTE sidedness 255
BOOL receive_shadows true
BOOL self_shadows true
BOOL invert_normals false
FLOAT ray_bias 0.0
MATRIX[] matrix (empty)
ENUM transform_type rotate_about_center
NODE[] shader (empty)
BOOL opaque true
BOOL matte false
BOOL use_light_group false
NODE[] light_group (empty)
BOOL use_shadow_group false
NODE[] shadow_group (empty)
STRING[] trace_sets (empty)
FLOAT motion_start 0
FLOAT motion_end 1
UINT id 0
UINT[] nsides (empty)
UINT[] polygon_holes (empty)
UINT[] vidxs (empty)
UINT[] nidxs (empty)
UINT[] uvidxs (empty)
UINT[] crease_idxs (empty)
FLOAT[] crease_sharpness (empty)
BYTE[] shidxs (empty)
VECTOR[] vlist (empty)
VECTOR[] nlist (empty)
VECTOR2[] uvlist (empty)
BOOL smoothing false
ENUM subdiv_type none
BYTE subdiv_iterations 1
FLOAT subdiv_adaptive_error 0
ENUM subdiv_adaptive_metric auto
ENUM subdiv_adaptive_space raster
BOOL subdiv_frustum_ignore false
ENUM subdiv_uv_smoothing pin_corners
BOOL subdiv_smooth_derivs false
NODE[] disp_map (empty)
FLOAT disp_padding 0
FLOAT disp_height 1
FLOAT disp_zero_value 0
BOOL disp_autobump false
BYTE autobump_visibility 1
FLOAT step_size 0
FLOAT volume_padding 0
STRING name  

オペレータ

Operator Graph (Arnold メニュー)ウィンドウを使用できるのは、3ds Max 2019 以降のみです。

リンク:https://docs.arnoldrenderer.com/pages/viewpage.action?pageId=113247041arnold for 3dsmax user guide

オペレーターを使用すると、シーンの一部をオーバーライドし、レンダリング時にプロシージャル(ASS または Alembic)内のパラメータ(シェーダなど)のオーバーライドが可能になります。

Autodeskのシニアソフトウェア開発マネージャーであるFred ServantとThe MillのVFXスーパーバイザーであるSid Harrington-Odedraが語る、Arnoldへのオペレーターによる、オーバーライド、シェーダー割り当て、および MaterialXによるlookdev方法の動画。

サンプル

表示/非表示

visibility = 0
visibility = false 

ライトの含むに追加

use_light_group = on
light_group[0] = "ArnoldLight001"

subdivのオーバーライド

subdiv_type = 'catclark'
subdiv_iterations = 1

差し替え

  • *.(@node==’alembic’) selects all Alembic procedural nodes
  • Match matches any file name that ends with “_proxy.abc”
  • Replace replaces “_proxy.abc” with “.abc”

シーン内にあるalembicファイル名の最後が“_proxy.abc”だったら“.abc”に置き換えることができます。

selection

Selection Expressions

  • or (union)
  • and (intersection)
  • not (negation)
  • and not (exclusion)
  • () for nested scoping

(例) Teapot001 or Teapot002

Collection

“#big_collection”

Matching Node Entries

*.(@node == ‘polymesh’)

*.(@type == ‘shape’)

*.(@derived == ‘procedural’)

最後に

プロシージャルなデータでレンダリングシーンを構築するようなワークフローを構築するのは大変ですが、モデルの差し替えや質感の差し替えなどがスムーズに行えるようになるので、大規模なプロジェクトでは協力なツールになりますね!