shuto_log.aep

ブログ名変わりました。自分がやったことなどを備忘録的な感じで残していこうと思います。

Octane Material基礎

Octaneのマニュアル を読んで理解した事をまとめた。
ここではOctane専用マテリアルについて噛み砕いて説明します。Octaneレンダラの基本的な操作等については説明しません。
はじめての人はとりあえず全容をざっくり掴んだほうが良いので、公式の ビデオチュートリアル を見ましょう。

Octane Rendererとりあえずこれ知っとけリスト

Octane Rendererでレンダリングしようとすると、使えなくなるC4D標準機能がいくつかある。
例えば標準カメラの被写界深度の設定やオブジェクトの可視・不可視の設定(Compositingタグ)、Skyオブジェクトなど。それらと同等の機能はたいていOctane専用のタグを使用することで使えることが多かったりするが、最初のうちは「そんなん知るか」って感じだし、学習効率の障壁にもなる。
そのため、以下の項目については最低限その存在と機能を知っておきたい。

機能名 概要
Live Viewer リアルタイムでレンダリング結果を表示できる他、インタラクティブにパラメータを調整できたりする便利なウィンドウ。
Octane Material Octane専用のマテリアル。(ここで説明する内容) 通常のマテリアルも使用可能だが、非対応の項目が多い。
Octane Camera Tag C4D標準のカメラにつけることで Octaneでレンダリングする際のカメラのパラメータを操作できるようになる。
Octane Light Tag C4D標準のライトにつけることで、Octane用パラメータが操作できる。 このタグがついてないとOctaneはライトとして認識してくれない。
Octane Object Tag その他の設定(可視設定やモーションブラー、SDSなど)を特定のオブジェクトだけ変えたい場合につける。
Environment Tag HDRIとか使う場合にC4D標準のSkyオブジェクトにつける。

C4Dにおけるマテリアル関係のキーワード整理

似たようで異なる意味のワードが多いので一旦ここで整理する。

用語 定義
マテリアル オブジェクトの質感を設定する情報。C4D標準のものやプラグイン(レンダラ)固有のものがある。
チャンネル マテリアルを構成する項目。C4D標準マテリアルではColor、Diffusion、Luminance、Transparencyなどがある。
テクスチャ チャンネルで使用できる画像のこと。外部の画像や動画だけでなく、C4D標準のシェーダやプラグイン固有のシェーダを読み込むことも出来る。
シェーダ 使用頻度が高い簡易的なパターン画像や特殊な効果をC4D内で作成できる機能。テクスチャで画像を読み込む代わりに選択することが出来る。

Octane用マテリアルについて

Octane専用のマテリアルは3種類ある。

名称 説明
Octane Material 基本的にはこれを使う
Octane Mix Material 複数のOctane Materialを混ぜることが出来る
Octane Portal Material 建築系などで内観レンダリングの効率を上げるPortal Rendering

Octane Materialについて

Octane MaterialにはMaterial Typeが3種類ある。

名称 説明
Diffuse あまり反射しないマット調のマテリアル
Glossy 反射の強い金属やプラスチックなどに適したマテリアル
Specular ガラスなど透明に透けるマテリアル

Material Typeによって使用できるチャンネルの種類が違ったり、レンダリングの処理が若干異なるようだ。

画像引用元

Octane Materialのチャンネルについて

種類が多いので詳細な解説や、3DCGにおいて自明なチャンネル(カラー、バンプなど)についての説明は省く。 以下、C4D標準と操作が異なるため、探すのに時間がかかった設定の逆引き。

やりたいこと いじるチャンネル
ガラスの屈折率を変える SpecularのIndexチャンネル
SSSのような濁り SpecularのMediumチャンネル。Absorptionに吸収したい色、Scatteringに拡散させたい色をそれぞれ設定する。
発光させたい DiffuseのEmissionチャンネル。テクスチャにBlackbody emissionシェーダを適用すると良い。
メタリックな見た目にしたい GlossyのIndexチャンネルを1、Diffuseをオフ、Specularで色指定。

Octaneシェーダについて

C4Dの標準シェーダには、カラー、ノイズ、エフェクトなど大きな分類があるが、Octane用シェーダはすべて「C4doctane」に集約されているため、非常に見づらい。しかし、ごっちゃにはなっているものの、分類は可能であり、マニュアルやチュートリアルでは分類分けされて紹介されている。そのため、分類分けをきちんと理解出来れば標準シェーダと同様に使うことが出来る。

↑Octane用のシェーダはすべて「C4doctane」に集約されてしまっている上、アルファベット順に並んでいる。せめて分類ごとに分けて欲しかった…

以下、だいたい ここ に書いてあること

シェーダの分類

  • Colour and Spectrum: マテリアルに単色を適用するためのシェーダ
    • FloatTexture: Floatで指定する白黒単色
    • RGBspectrum: FloatでRGBを指定する単色
    • GaussianSpectrum: ガウス関数を用いて指定する単色(参考)
  • Generators: グレースケールのパターンをプロシージャルに生成する
    • Checks: ストライプ、ボーダー、チェックボード、グリッドなど
    • SineWave: Sin波
    • SawWave: ノコギリ波
    • TriangleWave: 三角波
    • Falloffmap:
    • Side:
    • Random Color: 異なるジオメトリに異なる色(白黒)を割り当てる
      • クローナーのカラーシェーダのように異なる色(ただし白黒)を割り当てることが出来る
      • DiffuseでGaussianSpectrumのlengthに割り当てる→ジオメトリごとに異なる色になる
      • Specularに割り当てる→異なる反射率になる
      • Opacityに割り当てる→異なる透明度になる
    • Dirt: 汚れ系の明暗を再現(Noiseに近い)
    • Turbulence: タービュランスノイズ(Noiseシェーダでも代用可能っぽい)
    • Marble: マーブル系のノイズ
    • RidgedFractal:
    • Noise: 汎用的なノイズ用シェーダ。ノイズタイプが選べる。
      • Perlin
      • Turbulence
      • Circular
      • Chips
  • Images: 画像を読み込む。
    • ImageTexture: 適用する用途によってTypeを指定する必要がある
      • Normal: Diffuseなどカラー情報が使いたいとき用
      • Float: Bump、Roughness、Specularなど、白黒用。メモリ使用が少なくなる。
      • Alpha: アルファチャンネルを使いたいとき用
  • Mesh Emitters: 発光する特殊なシェーダ
    • Blackbody Emission: 発光体を定義するためのシェーダ。色温度や強度などが設定可能。
    • Texture Emission: 画像を読み込む。HDRIを読み込んでIBRしたいとき用。
  • Mediums: 光を吸収したり散乱したりする特殊なシェーダ
    • Absorption Medium:
    • Scattering Medium: SSS用。AbsorptionとScatteringを設定する。
      • Absorption: 吸収する色を定義する。赤を設定すればオレンジ色になる。
      • Scattering: オブジェクトの内部で散乱する色を設定する。
  • Mappings: 他のテクスチャを読み込んで、変形させたり色を変えたりする。
    • ColorCorrection: 色調調整をする
    • Invert: 色を反転する
    • Multiply:
    • CosineMix:
    • ClampTexture: 色をクランプする(色の最小値、最大値の設定をする)
    • Gradient: グラデーションに応じて色をマッピングする
    • MixTexture: 複数種類のテクスチャを混ぜ込む
    • Transform: 座標やスケールを変形させたり、ループの設定などをする。
    • Txture Projection:

C4Dシェーダの変換について

  • C4DのネイティブシェーダをOctaneで使う場合、バックグラウンドで変換処理が走る
  • 変換に対応しているC4Dシェーダは一部に限られている
  • 対応している場合は、C4D側でシェーダを生成して(内部的には)OctaneのImageTextureに適用される

各C4Dシェーダの対応状況

分類 対応しているもの
General Color、Gradient、Noise、Colorizer、Layer、Posterizer
Effects すべて非対応
MoGraph Color Shader
Sketch & Toon すべて非対応
Surfaces すべて対応
Polygon Hair 非対応

設定

対応しているC4Dシェーダを使う場合、次の方法で設定を変える必要がある。

  1. Octane Setting > Settingsタブ > C4D Shadersタブ、Enableにチェック
  2. 同タブのRender sizeを適切なサイズに設定する(1024とか2048とか)

※グラボのVRAMが少ない場合、大きなテクスチャを使いすぎるとレンダリングしてくれないことがある

その他特筆事項

テクスチャタグのパラメータは毎フレーム読み込まれない

UVスクロールやUVスケールをアニメーションさせたい場合は、

  • 各シェーダ内の「UV Transform」を有効にする
  • OctaneのTransformシェーダを使う

複数のマテリアルを混ぜる方法

  • Mix Texture
  • Gradientシェーダ(Complex)

C4D標準で異なる質感を一つのジオメトリに適用したい場合

  • 異なるマテリアルを作成し、片方のマテリアルにアルファチャンネルでマスクを作成、重ねて適用
  • 金銀のストライプとかであればSpecularチャンネルのレイヤーを複数作成し、上のレイヤーにレイヤーマスクを作成

のようにマテリアル内にマスクを作成する方法が主だった。

Octaneマテリアルでは、同様にアルファチャンネルにマスクを作成することも可能だが、Mix Textureという機能を使うこともできる。