スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Mayaスクリプト: 法線の平坦化


Maya用法線の平坦化スクリプト「TrM_PolyNormalFlatter」を公開します。


このスクリプトは、Mayaの法線を部分的に平坦化するスクリプトです。

機械系のモデルで平面感を出す為にベベル部分にハードエッジを使ったりということはよくあると思いますが、正直あまり美しくはありませんよね。

かと言ってソフトエッジにしてしまうと、本来平面であるはずの面が補完によって歪んで丸っこく見えてしまったり、最悪黒ずみが出たり…。

というわけで、スクリプトではソフトエッジに設定したフェースを、部分的に法線を平坦化し、ハードエッジにした時のようなカッチリした見た目になるよう調整します。


法線平坦化 チュートリアル

法線平坦化 サンプル
実際に使ってみたサンプル


スクリプトは以下からダウンロード出来ます
TrM_PolyNormalFlatter
※対応Mayaバージョン: 2011以上 (2013で動作確認)


インストール・使い方説明はスクリプト内にもあります。

▼ インストール
インストールはいつも通り、スクリプト自動読み込みフォルダにダウンロードしたファイルを移動し、setup.pyにて、以下のコードを追加
import TrM_PolyNormalFlatter

後はMayaを起動してPythonコマンドラインで以下のコマンドを打つだけです。
TrM_PolyNormalFlatter.main()

▼ 使い方
使い方は、優先的に平面化したいフェースを選択し、スクリプトを実行するだけです。

実行前に、ハードエッジ化したい部分は予めハードエッジにしておいてください。
PolyNormalFlatterは、ハードエッジを無視して良きに計らってくれます。

重要なのは、周囲のフェースよりも優先的に平面化したいフェースを選択するということです。
平面化とは言っても、完全にフラットになるわけではなく、選択したフェースと選択してないフェースの境界線上の法線を調整するだけなので、全てのフェースを選択してしまっても全く効果がありません。

それとMayaの法線設定の処理が遅い為、結構時間がかかります。
一応進展表示もスクリプトウィンドウに出力しますので、コーヒーでも飲みながら気長にお待ちください。
(実際はそんなにかからないとは思いますが…。)


▼ その他 免責事項等
このスクリプトはフリーソフトです。
個人/商業問わず自由に使用していただけますが、このスクリプトを使用して発生したいかなる問題にも作者は一切の責任を負いませんので、予めご了承ください。

以下は禁止事項です。
・このスクリプトの無許可での再配布。
・このスクリプトを自分が作ったと偽る行為。


関連記事
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。