MoGraphのマテリアルについて

CINEMA 4DおよびBodyPaint 3Dに関する一般的な議論や情報交換をするフォーラムです。

MoGraphのマテリアルについて

投稿記事by tofuji » 火 11 01, 2011 5:56 pm

 先週の講習会で、MoGraphのマテリアルについて質問があったので、サンプルをいくつか出します。

 基本的に、MoGraphではオブジェクトの「カラー」しか扱えません。
つまり、それ以外のマテリアルの性質である「発光」や「透過」、「鏡面反射」等を
直接MoGraphオブジェクトやMoGraphイフェクタで変更することはできません。

 そこで、「MoGraph -> カラー」シェーダを使って、間接的に表現することになります。
ところが、このカラーシェーダの使い方がそれほど簡単ではありません。
 MoGraphカラーシェーダは、イフェクタ等によって変更されたMoGraphオブジェクトの色を取り出し、マテリアルに伝えるシェーダです。
この処理はクローン一個一個ごとに行われるので、マテリアルの値をクローンごとに変えることができます。


1. まず、クローナー等のMoGraphオブジェクトにマテリアルが適用されていない場合、
クローンはイフェクタ等で指定された「カラー」のみで表現されます。「発光」や「透過」、「鏡面反射」等のチャンネルは使えません。


2. 次に、クローナー等のMoGraphオブジェクトにマテリアルを適用した場合、全てのクローンがそのマテリアルで表現されます。
もちろん、「カラー」だけでなく「発光」や「透過」、「鏡面反射」等のチャンネルも使えますが、クローン一個一個ごとに値を変えることはできません。


3. 次に、クローナー等のMoGraphオブジェクトにマテリアルを適用した場合でも、MoGraphカラーシェーダを使うと、
クローン一個一個ごとに値を変えることができます。

 例えば、透過チャンネルを働かせ、MoGraphカラーシェーダをテクスチャに読み込むと次のような絵を作れます。

http://www2.11moon.com/sample_files/201 ... _color.mp4
http://www2.11moon.com/sample_files/201 ... _color.zip


4. この調子で他の表現に応用できれば、まあそんなに面倒ではないのですが、取り出せるのがカラーだけなので、
グレースケールの値がほしい場合は「カラー変換」シェーダを使ってわざわざグレースケールに変換する必要があります。

http://www2.11moon.com/sample_files/201 ... y_grey.mp4
http://www2.11moon.com/sample_files/201 ... y_grey.zip


5. さらに、MoGraphカラーシェーダを適用したマテリアルにはいろいろな制約が生じるようで、
例えば「発光」チャンネルにこれを適用すると、なぜかカラーチャンネルにも影響が及びます。
 つまり、カラーチャンネルを一定の値に固定することができません。
もう一つのマテリアルを乗算モードで重ねてみましたが、これも正常に働きません。

 というわけで、こういう場合にはオブジェクトそのものを重ねるしかありません。
「面倒」というより、「できない」と思いますよね、普通の人は。

http://www2.11moon.com/sample_files/201 ... nation.mp4
http://www2.11moon.com/sample_files/201 ... inance.zip
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 803
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: MoGraphのマテリアルについて

投稿記事by tofuji » 水 11 02, 2011 12:14 am

 次に、ビットマップテクスチャやシェーダを使ってクローンの上に生成したパターンを動かす方法について説明します。
実はこの機能もMoGraphの中には含まれていません。

 普通のオブジェクトは、テクスチャ軸を移動させることで、簡単にパターンを動かすことができます。
しかし、MoGraphにはテクスチャ軸に相当するものがないのです。シェーダイフェクタなんかには
「イフェクタをテクスチャ軸とみなす」といったオプションがあってもいいと思うのですが。

 そこで、わざわざマテリアルを作成し、それをシェーダイフェクタに適用し、それを読み込ませる、
という面倒な手順を取る必要があります。
こうすると、シェーダイフェクタに適用されたテクスチャタグの情報(つまりテクスチャ軸の情報)
がシェーダイフェクタの内部に伝わり、それを使ってクローン上のパターンを自由に動かせるようになります。

http://www2.11moon.com/sample_files/201 ... _flow2.mp4
http://www2.11moon.com/sample_files/201 ... _flow4.zip


 他にも、「ノイズシェーダ内部の風速機能を使う」とか、「ノイズをUV(2D平面)で貼付けて、
シェーダイフェクタ内部のマッピング機能を使う」といった方法でテクスチャを動かすことができます。
しかし、加減速のコントロールや曲線的な動きをつけるのが難しくなります。
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 803
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: MoGraphのマテリアルについて

投稿記事by tofuji » 木 11 03, 2011 6:33 pm

 次に、屈折率の値をMoGraphで制御したサンプルを出します。

 マテリアルの「屈折率」の値をMoGraphの機能で直接変える方法は存在しないので、
「屈折率の違うマテリアルを16個作成し、それを16個のオブジェクトに適用し、クローンにするオブジェクトを変える」
という力技で実現しています。

http://www2.11moon.com/sample_files/20111102/MoGraph_refractive_index.mp4
http://www2.11moon.com/sample_files/20111102/MoGraph_refractive_index.zip

 
 なお現実世界でも、圧電性の物質(例えばKTN)は、印加する電圧によって屈折率が変ります。
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 803
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区


Return to ユーザフォーラム

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[3人]