Mayaスクリプト(2):プリミティブ作成ツール "CreatePrimitivesAtSelection"
こんにちは。
自作のMaya用MELスクリプトを紹介します。
スクリプト概要
機能
- 選択対象の位置・回転・サイズに合わせたプリミティブ・ライトの作成
用途
- プリミティブは通常のpoly~コマンドでは毎回原点に作成されますが、原点から離れた位置でのモデリングを作業時に何度もmatch Transformを実行するのは煩わしいので、このスクリプトを作成しました。
UI・操作
動画
UI
プリミティブタブ・ライトタブに分かれています。
操作
- スクリプトを実行してUIを開く
- リストから作成するプリミティブ・ライトのタイプを選択
- オプションを選択
- 作成位置とするオブジェクトまたはコンポーネントを選択して実行
作成できるプリミティブ
- Cube
- Sphere
- Cylinder
- Plane
- Disk
- Cone
- Torus
- Locater (追加)
これらからひとつを選択して実行します。
作成できるライト
- Point Light
- Spot Light
- aiAreaLight
- aiPhotometricLight
- LightPortal
作成位置
- 原点位置 (選択なしで実行)
- ピボット位置 (オブジェクト選択で実行)
- コンポーネント中心 (コンポーネント選択で実行)
- バウンディングボックス基準 (オプションで選択)
選択対象が含まれるバウンディングボックスから位置を指定することもでき、バウンディングボックスのTop / Center / Bottom のどれかから選択できます。
その他オプション
- バウンディングボックスを用いたスケール
- 回転のコピー (Match Rotation)
選択対象の大きさに合わせて作成したい場合にはこの機能を使用します。作成されるプリミティブがいつも小さくて分かりづらいといったときや、ブーリアン時の型取りに便利です。
選択したオブジェクトまたは選択したコンポーネントを含むオブジェクトのRotate値を継承します。
追加説明
プリミティブはScaleを指定しての作成を可能にしました。TransformノードのScaleに値が入ります。(これはバウンディングボックスを用いたスケールも同様です。)
おわりに
回転への対応、ピボット位置→バウンディングボックスの座標へのオフセットなど、適切な配置方法の考案を含めて、見かけによらず、作成に苦戦したスクリプトの一つです。
用途:原点から離れた位置へのプリミティブ作成・ブーリアン用の型取りに。
当スクリプトの配布・販売予定については未定(調整中)です。
続報をお待ちください。

