pencil4+ for mayaでsmoothかけるとメッシュが痩せるバグがある とかそんな投稿を見かけたので検証した。
pencil4+ for mayaにおけるsmoothPreview対応
これを有効にするには メニューからadd render settings nodeを実行し、
作成されたノードのアトリビュートにチェックが入っている状態にする
この状態でmayaSoftwareでレンダリングすると
smoothPreviewが効いている結果がレンダリングされる
で、こちら裏で何をやられているかというと
- レンダリング実行前にsmoothPreviewの設定を元にpolySmoothを実行する
- レンダリング実行
- レンダリング終了後にpolySmoothを削除する
という作業を行われているんですね。
変換対象
pencilのフォルダを眺めてると、なーんかそれっぽいのがあるので中を覗いてみると
C:\Program Files\PSOFT\Pencil+ 4 for Maya\modules\PSOFT Pencil+ 4 for Maya\scripts\PSOFT\PencilSmoothPreview.py
#スムーズメッシュプレビューをポリゴンに一括変換
というコメントを発見。これを読み解くとsmoothPreviewの変換対象は
- 可視状態にあるもの
- smoothPreviewがonになっているもの
可視状態とは?
具体的には
親ノードも含めて
- visibility が offになっていない
- template表示になっていない
- displaylayerなどによってdrawingOverrides のvisibleがoffになっていない
以上の条件をすべて満たす物が可視状態にある と扱われるようですね。
蛇足
ペンシルの処理部分を一部切り出して、実際にsmooth処理の対象になるオブジェクトを選択する
from PSOFT import PencilSmoothPreview
shapes = PencilSmoothPreview.getSmoothPreviewShapes(True, False)
cmds.select(shapes,r =True)