
頂点法線ペイントツール※試作
MAYAって頂点法線いじる機能がウンチなんですよね(´・ω・`)<昔っから
XSI(Softimage)とか最近だとUnityではこういう調整ツールがまぁまぁあって羨ましい~

何とかならんかなぁと以前から思ってたんですが、、、、、

MAYAにあるやんけ、、、っ!Σ( ̄ロ ̄lll)ガーン
結構前からあるんですが、ネットだと海外でちょっとやってる人が一人ぐらいいるくらいの印象(。´・ω・)?<ヤッタレ!
【結論 ⇒ できました!】

ペイントツールのパネル自体をいじる方法がまだわからんので、
起動と同時にカスタムWindowを連携させて出現させて、
両方で調整していく仕様になりました(´・ω・`)<マァシャーナイ
【導入の仕方】
ファイルはいつものようにGithubにあっぷしておきましたε≡≡ヘ( ´Д`)ノ
下にある「NH_vertexNormalPainter.mel」をDLしたら…
C:\Users\〇〇〇\OneDrive\ドキュメント\maya\20XX\ja_JP\scripts
にでもぶち込んで下さいーーー
MAYA上で呼び出すためには以下のスクリプトを…
ScriptPaintTool;
artUserPaintCtx -e -tsc "NH_vertexNormalPaint" `currentCtx`;
NH_normalPaintTool;
↓みたいにMELコマンドラインに貼り付けて全選択した状態で…

マウスの中ドラッグでシェルフにドラッグインドロップしてMELシェルフ登録してあげたら次回以降それを叩けばおkです(/・ω・)/

【機能解説】
■機能1:頂点法線スムース

上の画像の赤枠のとこでいじれます(´・ω・`)b
【ツール設定】ブラシの半径が効く
【ツール設定】不透明度が効く
【ツール設定】減衰もちゃんと効く
【ツール設定】シンメトリ(Xだけ)も効く
【カスタム設定】スムースを選んでる時
■機能2:頂点法線を指定ベクトルで加算

「ペイントモード切替」で「方向指定」をすると、
例えば(X, Y, Z)=(1, 0, 0)にすると強制的に法線を外側に向けます💡
※シンメトリにすると逆側は逆の外側にちゃんと向きます(´・ω・`)
【ツール設定】ブラシの半径が効く
【ツール設定】不透明度が効く
【ツール設定】減衰もちゃんと効く
【ツール設定】シンメトリ(Xだけ)も効く
【カスタム設定】方向指定を選んでいるとき
【カスタム設定】法線方向を指定するとその方向に向ける
■機能3:ストローク方向に傾ける

なんか公式見てたらできるんじゃね?とおもってやってみたら
( ゚Д゚)<デキマシタァァァァアアアーーーー
マウスの動きの方向に傾ける感じで、これもシンメトリ機能効きます💡
【ツール設定】ブラシの半径が効く
【ツール設定】不透明度が効く
【ツール設定】減衰もちゃんと効く
【ツール設定】シンメトリ(Xだけ)も効く
【カスタム設定】ストローク方向を選んでる時
■機能4:ペイントで頂点法線のロック解除

まぁあってもなくてもいい機能(´・ω・`)<ナクテイイカナ…
一応入れただけの機能です(;'∀')
【ツール設定】ブラシの半径が効く
【ツール設定】シンメトリ(Xだけ)も効く
【カスタム設定】ロック解除を選んでいるとき
■機能5:なんか便利な機能
■頂点法線の表示切替

■頂点法線の長さ調整

■選択項目のハイライトの切り替え

■機能補足
一応「ロック解除」でオブジェクト一括で頂点法線のロック解除できたり、あとシンメトリXの時の正中線のしきい値を「0.001~0.1」で選べたり
します(/・ω・)/
【今後の予定(実装予定)】
現状頂点ベースの処理なので、、、
ハードエッジを維持できない
のですが、これは「頂点フェース」の処理に切り替えれば、
半分くらいハードエッジ、みたいなことできるはずなので将来的にやります(;'∀')<一応昔やったことあるので…
あとはそのうちやる予定なのが、
頂点法線の左右反転機能
まぁ欲しいですよね(;^_^A<これは難易度低いのでタイミング次第…
それから…
ベイクしたいオブジェクトからペイントした先に法線を転送する
これが今できるか謎だけど出来たら重宝しそう(ただ処理重そう…)な奴ですね(/・ω・)/
【最後に…】
基本重いです(;^_^A
ブラシ半径広げるとめっちゃ重いです……
チョコチョコやってくのをお勧めします( ノД`)シクシク…
あとかなり勘と手探りで調べながらやってるのでバグとかあったらすみません……ORZ
あとScriptPaintToolの情報はガチでネットに情報無いので、もしやりたい方いらっしゃいましたら、是非質問くださいませ(わかる範囲で……)m(__)m
それではヨキMAYAライフを(/・ω・)/<美少女ツクリターイ!