11/29/2019

Shapeの制限?

Shapeはv2018で実装された実体の無いNullをベースとする仮想のプリミティブタイプです。仮想ジオメトリの為、メモリ消費を抑える等のメリットがある反面、幾つかの機能制限を含みます。マニュアルに書かれてる制限事項にはオブジェクトレベルに関わる具体的な制限内容は書かれていない為、オブジェクトレベルの操作ってのがどの範囲を指し示すのかがはっきりしません。よって以下の幾つかの現象がこの制限由来の仕様なのか、或いは単なるバグなのかの判断が難しくなっています。

・Shapeに適用した3D Texture(所謂、3Dプロシージャル)では、カラーマップとアルファ(変位)マップの位置が合致しません(アルファ側のスケールが小さいように見えます)。又、2D、3D Texture共に、陰のエリア(影では無く)にある変位箇所でライトリークのようなシェーディングエラーが発生してます(図の矢印部)。
3D Textureの場合、Shapeではカラーマップに対して変位(アルファ)マップが合致しません(図上)。
一方、2D Textureではカラーと変位(アルファ)は綺麗に合致しますが(図中)、2D、3DTexture共に
陰エリアにある変位箇所(矢印部)に於いてシェーディングエラーが発生してます(図下)。



・ShapeのCube、Cone、Cylinderの透過屈折処理が正しくない。


図左側がShapeプリミティブで右側がPolygonプリミティブ。
ShapeのCubeとCylinderの上下面とConeに於いて透過屈折処理が正しくありません。

・ShapeのSelf ShadowとCast Shadowオプションの効果が正しくない(Receive Shadowだけ正しい)
ShapeではSelf Shadow OFFの効果が無い。
又、ShapeのCast Shadow OFFではSelfの影も無効になります。

・Sphereのように閉じたShapeプリミティブは片面サーフェスで構成されています。よって、Shapeではダブルサイドオプションを有効にしても両面サーフェスのマテリアルにはなりません。
左はシェイプ球、右はポリゴン球。両方共ダブルサイドオプションを有効にしていますが、
Shapeではワンサイドの透過屈折処理です。


・Planeのように開いたShapeプリミティブは両面フェイスの固定ですが、裏面側のサーフェス設定は無効です。
Shape、Polygon共に表面を赤色、裏面を青色にサーフェス(ノード)設定していますが、
裏面から床へ照射された光の色を見ると、Shapeでは赤色のままなので、
裏面の青色設定が無視されている事がわかります。


・ShapeのPlaneに変位(Displacement)を適用した場合は、その裏面側となるフェイスは全く変位しません。



・Unseen By Rayのオプションを有効にすると、Shapeでは何故かラジオシティの影(オクルージョン)が無効になります(ラジオシティ無効オプションのような効果?)。又、Object Dissolveを100%にするとShapeの影だけが残ります。(これらオプションはオブジェクトレベルの操作なので、おそらくShapeの機能制限なのかなと思います。)




・ライトの除外(Exclude)オプション
ライト(直接光)の除外オプションを有効にすると、Shapeを照射した光とShapeの自己の影(SelfShadow)は除外されますが、Shapeが落とす影(CastShadow)は落ちたままになります(上から2番目の図)。又、ラジオシティ除外オプションを有効にすると環境光が無くなり、直接光の陰のみとなる為、冒頭に指摘したライトリークのようなシェーディングエラーが表れます。(これらも上記同様、オブジェクトレベルの操作なので、Shapeの機能制限だと思われますが、ライト除外の制御がままならないってのはオブジェクトとしてどうなの?って気はします。)




上記のようにオブジェクトレベルの制限であっても普通に操作出来る機能もあるので、Shapeは何が制限で何が機能するのかが分かりずらいです。現状ではバグっぽい現象もありますし、同類機能のオプションであっても機能制限で機能しないボタンと機能するボタンが混在しているので、機能性は更に不明瞭です。機能制限が多いツールは使い所に憂慮するので、もうちっと機能精査、拡張してくれればもっと使い所も増え、扱い易くなると思うのですが。。

0 件のコメント:

コメントを投稿