backyard

元工学系デザイナーが3DCGで奮闘するブログ

薄くて透明なオブジェクトの影の表現

今回は、Arnoldでケーキフィルムの様な薄くて透明なオブジェクトの影を表現する方法をまとめていきたいと思います。

 

 

理想の完成形がこちら

f:id:pick_puckn13:20191001191455j:plain

ケーキの下にフィルムが敷かれています。

これをプレーンで作ってみると

f:id:pick_puckn13:20191001191754j:plain

黒すぎ‥‥

f:id:pick_puckn13:20191001191953p:plain

マテリアルはaiStandardSurfaceをプリセットから「Thin Plastic」で置き換え、TransmissionのWeightを1.0にしています。

透過の設定はしたけど、このままではどうやら光が全く
通過しないらしいです。

 

じゃあOpaque(不透明度)を調整してみよう!

プレーンのアトリビュートからShapeの「Arnold」→「Opaque」のチェックを外します。チェックを入れると不透明度が1の状態になります。外すと0(透明)。

f:id:pick_puckn13:20191001192442p:plain

レンダリング結果↓

f:id:pick_puckn13:20191001193533j:plain

透明になりましたが、プレーンに影がないからかケーキフィルムのシルエットがわかりにくいです。

OpaqueとはArnold公式によると影すら透明にしてしまう設定で、チェックを外した後アトリビュートエディタの「Geometry」→「Opacity」からアルファチャネル画像のノードを追加することで葉っぱが作れたりします。

 

使い方としては↓の記事のような感じです。MAYA2018はこの記事とはOpaqueやOpacityなどアトリビュートエディタの配置が異なります。

「MAYA2017 ARNOLDで透明マップを使いこなそう!(ARNOLD初心者向け)」

http://maya.indyzone.jp/2016/11/25/maya2017-arnold%E3%81%A7%E9%80%8F%E6%98%8E%E3%83%9E%E3%83%83%E3%83%97%E3%82%92%E4%BD%BF%E3%81%84%E3%81%93%E3%81%AA%E3%81%9D%E3%81%86%EF%BC%81%EF%BC%88arnold%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91/

 

薄くて(ほぼ)透明なプレーンに影をつける

そして本題ですが、結論から言うと今回使用するのはアトリビュートエディタの「Subsurface」の項目です。

調べてみると、Arnold公式によると「Backlighting」なるものがあるらしい。

Backlighting 

有効にすると、バックライト照明が考慮されます。バックライトは、半透明のオブジェクトに後ろから光を照らしているような効果を生み出します(シェーディング ポイントには指定した割合の光量で照らされ、その光はオブジェクトの反対側に到達します)。これは薄いオブジェクト(片面ジオメトリ)にのみ使用することをお勧めします。厚みのあるオブジェクトでは正しくレンダリングされない場合があります。

https://docs.arnoldrenderer.com/display/A5AFMUGJPN/Shadow+Matte#ShadowMatte-Backlighting

 

ただし、Arnold5ではBacklightingはSubsurfaceに統合されたようで、アトリビュートエディタの「Geometry」→「Thin Walled」にチェックを入れてSubsurfaceのWeightをいじることで同じような調整ができるそうです。

Standard Surface シェーダの Backlighting/Translucency はどうすればコントロールできますか?

Thin Walled を有効にして Subsurface Weight をたとえば 0.5 に設定すると、ライトの半分が反射して半分が透過します。

https://docs.arnoldrenderer.com/display/A5AFMUGJPN/Arnold+5.0

The Backlighting feature in Arnold 4 was great for creating thin natural materials like Leafs, Gras, etc. I cannot find something similar in the new Arnold 5 Standard Surface Shader.

 

Zeno Pelgrims による 回答 

This has now been combined with the SSS settings. If you turn on Thin Walled in the geometry section, the SSS behaves as backlighting.

https://answers.arnoldrenderer.com/questions/492/what-replaces-the-arnold-4-standard-shader-backlig.html

 

Thin Walledを使うとシャボン玉や紙飛行機なんかもいい感じで作れるみたいです。

https://docs.arnoldrenderer.com/display/A5AFMUGJPN/Geometry?desktop=true&macroName=center

 

ということでやってみます。

まずは、先ほど「Opaque」のチェックを外したと思いますので、またチェックを入れます。

その後、アトリビュートエディタから「Geometry」→「Thin Walled」にチェック。

f:id:pick_puckn13:20191001205520p:plain

次に、アトリビュートエディタを上にスクロールして

  1. 「Transmission」のWeightを1未満にします。Transmissionが1の状態だとSubsurfaceの設定ができません。
  2. 「Subsurface」のWeightをいい感じに調整します。
  3. 様子を見ながら「Transmission」と「Subsurface」のWeightをいじります。

f:id:pick_puckn13:20191001205841p:plain

 

レンダリング結果↓

f:id:pick_puckn13:20191001211608j:plain

ケーキフィルムに存在感が出ました。

まだ反射がイマイチなので要調整です‥‥

f:id:pick_puckn13:20191001212600j:plain

レンダリングが重い_(:3 」∠)_