Mayaスクリプト(11):オブジェクトスナップツール "StmRayDrop"
こんにちは、Steemです。今回紹介するのは、指定した平面にオブジェクトをピタリとくっつけるMaya用Pythonスクリプトです。
このスクリプトについての解説記事をnoteにアップしました。(約15000字)
ご興味あれば是非ご覧下さい。
スクリプト概要
機能
- オブジェクトを一定方向に移動し、指定したサーフェスにピタリと揃える。
用途
- 無数のオブジェクトの地形へのスナップ
- オブジェクトの地面に合わせた回転 等。
操作・UI
動画
UI
UI:クリックで拡大
操作
スクリプトを実行してUIを開きます。
- スナップする対象のオブジェクト群を登録
- スナップ先(ターゲット)のサーフェスオブジェクトを登録
-
オブジェクトのスナップ方向を選択
オブジェクトをスナップする方向はオブジェクトのローカルY方向とワールドY方向の2つから選択可能です。どちらも+Y,-Yいずれの方向にもスナップします。(両方にスナップできる場所がある場合、近い方にスナップします。)
- 実行ボタンを押して実行
追加説明
-
オブジェクトのスナップ基準位置について
サーフェスへのスナップと回転について、基準になるのは「ピボット位置」です。特定の場所を接地させたいという場合には、あらかじめその場所にピボットを移動しておく必要があります。 - オブジェクトのスナップ回転について
このオプションが有効だと、スナップ先のフェースの向きに合わせてオブジェクトを回転させられます。(オブジェクトのローカルY軸をスナップ先の法線ベクトルに最小回転で揃えます。
おわりに
今回は平面スナップツールを紹介しました。
もとは大きくない用途のためのスクリプトだったのですが、以前公開したタイルを作成するスクリプトについて、平面にしか対応していないと言われそうだな…と思い配布できる形にしてみようと作成に取り掛かりました。
地形を調節しながら柔軟にオブジェクトを移動できるツールです。デフォーマを使用するとノード管理もややこしくなり、そもそもオブジェクト自体の変形も生じますが、これを使えば一瞬です。
とりあえず曲面に何かを置きたいと思ったときには、使用できる局面がそれなりにあるのではないかと思います。
当スクリプトの配布・販売予定については未定(調整中)です。
続報をお待ちください。
