hibitekitou
modo ライトリンキング
cg |2009-08-02
modoで、このライトはこっちオブジェクトに、このライトはそっちのオブジェクトに影響させるあるいはさせない、という設定を行うにはどうするか。というのが最近2chで語られました。
softiamgeで言う所のSelective light。
特徴的なのは、softimageがオブジェクトごとにライトの影響のオンオフを切り替えるのに対し、modoはシェーダごとにオンオフを切り替えるということを行う事でしょうか。(あ、僕が使えるツールがsoftimageなので、softimageと比較しちゃう事になります)
例えばこんなシーン。
![](http://blogimg.goo.ne.jp/user_image/5e/cb/570aba018a6d67af14bb7b904a042247.jpg)
二方向からの平行光源、オブジェクト(アイテム)はシーンに二つ。ただし、groundAndcColumnってアイテムには、マテリアルが3種類設定されています。
![](http://blogimg.goo.ne.jp/user_image/67/45/9612282a043b75b2d99cd65dd3d3f587.jpg)
地面と円柱がひとつのアイテム。球でひとつのアイテム。
地面と円柱それぞれにマテリアルが設定されている上、円柱には赤帯のマテリアルがあります。
![](http://blogimg.goo.ne.jp/user_image/78/04/7ed1b45820fc9bebf936e6900ab1a6a9.jpg)
このマテリアルごとにシェーダを設定すれば、それぞれにライトの影響のオンオフが設定されるという仕組みみたいです。
まず、ライトのグループを作ります。
![](http://blogimg.goo.ne.jp/user_image/01/83/1977ce620713966b32448bd2affc41de.jpg)
DL_Aと名付けた平行光源のみのグループlight_A、DL_Bのlight_B、両方が入ったlight_A_Bの3つのグループを作りました。
その上で、Shaderの設定でライトリンキングの設定をいじります。
![](http://blogimg.goo.ne.jp/user_image/78/78/db9afdd05117cf6f00b7578c697a55c2.jpg)
ここでグループを選び、そのグループ内のライトがそのシェーダに影響を及ぼすか否かを決定してやるわけです。
上のライトが2灯あたって影が2方向に伸びている画像は、グループlight_A_Bを各シェーダに適用しています。
試しに、マテリアルgroundにはグループlight_Aを、columnとcolumn_ringとsphereにはlight_Bを適用してやります。モードは全部「含む」で。すると、地面とその上に乗っているオブジェクトの光源方向が違う不自然な絵の出来上がりというわけです。
![](http://blogimg.goo.ne.jp/user_image/34/00/205f2c06f8cfe4c8188cd804741f07bf.jpg)
ちなみに、モード「含む」の逆は「除く」となります。
このmodoのライトの影響のオンオフの考え方。ライトグループの組み合わせ、マテリアルのグループの組み合わせを工夫すれば様々な設定が可能そうである一方、パズルのように組み合わせを解いていかねばならないような気分になります。
この辺、softimageの設定は至極シンプルですね。オブジェクトごとにライトの影響を切り替える設定ですから、ひとつのオブジェクト内の別パーツ(クラスタ)には別のライトというようなことはできません。けれども、その場合はオブジェクトを分けるというのはsoftimage的には違和感はありませんし。
![](http://blogimg.goo.ne.jp/user_image/6b/23/0913fbe8f1b5c56387e0ef04db1a6dd4.jpg)
ちなみに、modoと違って、softimageではライトの影響を受けないと設定する場合。例えば、自分が影響を受けていないライトの影響を別のオブジェクトが受けているなら、そのオブジェクトから落ちる影は自分には落ちません。
![](http://blogimg.goo.ne.jp/user_image/07/d0/118335f32d86adb6af6724cc2b7fbb40.jpg)
上図は分かりやすいように、地面と同じライトの影響を受けているテキストオブジェクトを置いています。円柱や球の影が地面に落ちていないことに注目です。理屈上はこれが正しいように思えるけど、modoはシェーダごとだから、考え方が根本的に違うとも言えるかな。
どちらがいいのかは、まぁこれは慣れって話なんでしょうけどねぇ。でも、softimageは何も考えなくていいから、おバカな僕には楽だなぁって思えたりします。
追記
タイトルに「リギング」って書いてた。なんで? 「リンキング (Linking) 」が正解でした。
追記
2chの方で指摘されましたけど、球アイテムに影響を与えていないはずのライトの影が地面に落ちているという所がよろしくないという感じですね。
その辺のやり方が分かるといいのだけど、2chでもどこでも、教えてくれる勇者は現れぬものか。
あと、アイテムごとにライトの影響をオンフするなら、アイテムマスクを作って、その下にシェーダーを配置してやるのがシンプルそうです。
softiamgeで言う所のSelective light。
特徴的なのは、softimageがオブジェクトごとにライトの影響のオンオフを切り替えるのに対し、modoはシェーダごとにオンオフを切り替えるということを行う事でしょうか。(あ、僕が使えるツールがsoftimageなので、softimageと比較しちゃう事になります)
例えばこんなシーン。
![](http://blogimg.goo.ne.jp/user_image/5e/cb/570aba018a6d67af14bb7b904a042247.jpg)
二方向からの平行光源、オブジェクト(アイテム)はシーンに二つ。ただし、groundAndcColumnってアイテムには、マテリアルが3種類設定されています。
![](http://blogimg.goo.ne.jp/user_image/67/45/9612282a043b75b2d99cd65dd3d3f587.jpg)
地面と円柱がひとつのアイテム。球でひとつのアイテム。
地面と円柱それぞれにマテリアルが設定されている上、円柱には赤帯のマテリアルがあります。
![](http://blogimg.goo.ne.jp/user_image/78/04/7ed1b45820fc9bebf936e6900ab1a6a9.jpg)
このマテリアルごとにシェーダを設定すれば、それぞれにライトの影響のオンオフが設定されるという仕組みみたいです。
まず、ライトのグループを作ります。
![](http://blogimg.goo.ne.jp/user_image/01/83/1977ce620713966b32448bd2affc41de.jpg)
DL_Aと名付けた平行光源のみのグループlight_A、DL_Bのlight_B、両方が入ったlight_A_Bの3つのグループを作りました。
その上で、Shaderの設定でライトリンキングの設定をいじります。
![](http://blogimg.goo.ne.jp/user_image/78/78/db9afdd05117cf6f00b7578c697a55c2.jpg)
ここでグループを選び、そのグループ内のライトがそのシェーダに影響を及ぼすか否かを決定してやるわけです。
上のライトが2灯あたって影が2方向に伸びている画像は、グループlight_A_Bを各シェーダに適用しています。
試しに、マテリアルgroundにはグループlight_Aを、columnとcolumn_ringとsphereにはlight_Bを適用してやります。モードは全部「含む」で。すると、地面とその上に乗っているオブジェクトの光源方向が違う不自然な絵の出来上がりというわけです。
![](http://blogimg.goo.ne.jp/user_image/34/00/205f2c06f8cfe4c8188cd804741f07bf.jpg)
ちなみに、モード「含む」の逆は「除く」となります。
このmodoのライトの影響のオンオフの考え方。ライトグループの組み合わせ、マテリアルのグループの組み合わせを工夫すれば様々な設定が可能そうである一方、パズルのように組み合わせを解いていかねばならないような気分になります。
この辺、softimageの設定は至極シンプルですね。オブジェクトごとにライトの影響を切り替える設定ですから、ひとつのオブジェクト内の別パーツ(クラスタ)には別のライトというようなことはできません。けれども、その場合はオブジェクトを分けるというのはsoftimage的には違和感はありませんし。
![](http://blogimg.goo.ne.jp/user_image/6b/23/0913fbe8f1b5c56387e0ef04db1a6dd4.jpg)
ちなみに、modoと違って、softimageではライトの影響を受けないと設定する場合。例えば、自分が影響を受けていないライトの影響を別のオブジェクトが受けているなら、そのオブジェクトから落ちる影は自分には落ちません。
![](http://blogimg.goo.ne.jp/user_image/07/d0/118335f32d86adb6af6724cc2b7fbb40.jpg)
上図は分かりやすいように、地面と同じライトの影響を受けているテキストオブジェクトを置いています。円柱や球の影が地面に落ちていないことに注目です。理屈上はこれが正しいように思えるけど、modoはシェーダごとだから、考え方が根本的に違うとも言えるかな。
どちらがいいのかは、まぁこれは慣れって話なんでしょうけどねぇ。でも、softimageは何も考えなくていいから、おバカな僕には楽だなぁって思えたりします。
追記
タイトルに「リギング」って書いてた。なんで? 「リンキング (Linking) 」が正解でした。
追記
2chの方で指摘されましたけど、球アイテムに影響を与えていないはずのライトの影が地面に落ちているという所がよろしくないという感じですね。
その辺のやり方が分かるといいのだけど、2chでもどこでも、教えてくれる勇者は現れぬものか。
あと、アイテムごとにライトの影響をオンフするなら、アイテムマスクを作って、その下にシェーダーを配置してやるのがシンプルそうです。
コメント ( 0 )|Trackback ( )
« サマーウォーズ・Macで使える連... »
コメント |
コメントはありません。 |
![]() |
コメントを投稿する |
![]() |
ブログ作成者から承認されるまでコメントは反映されません |