modoでは3Dビュー上の空白部分をクリックすると選択解除できるのですが、画面いっぱいに選択されたポリゴンが表示されている場合、ブランク部分が3Dビュー上に存在しないため選択が解除ができなくなってしまいます。LightWave 3Dでは、UIの空白の部分をクリックすると選択を解除することができます。
エレメントの解除は、select.dropというコマンドで行うことができます。例えばポリゴンの選択を解除したい場合、select.drop polygonというコマンドを実行します。頂点の場合は、select.drop vertexになります。現在の選択モードに応じてエレメントを解除するには、select.typeFromコマンドで選択モードをテストしてから対応したモードでselect.dropを実行すれば良いので下記のようなスクリプトを実行すればOKです。スクリプトは、ユーザーのスクリプトフォルダにコピーして置くと絶対パスの指定無しで、@SelectDrop.plのようなシンタックスで実行できるようになります。私のOSXでのユーザースクリプトフォルダは
/Users/taz/Library/Application Support/Luxology/Scripts
になります。スクリプトはこちらからダウンロードできます。下記をテキストエディタにコピペして使用してもOKです。
#! perl
if (lxq( "select.typeFrom {vertex;edge;polygon;item;ptag;center;pivot} ?" ) ) {
lx ("select.drop vertex");
}
if (lxq( "select.typeFrom {edge;vertex;polygon;item;ptag;center;pivot} ?" ) ) {
lx ("select.drop edge");
}
if (lxq( "select.typeFrom {polygon;edge;vertex;item;ptag;center;pivot} ?" ) ) {
lx ("select.drop polygon");
}
if (lxq( "select.typeFrom {item;edge;vertex;polygon;ptag;center;pivot} ?" ) ) {
lx ("select.drop item");
}
if (lxq( "select.typeFrom {ptag;item;edge;vertex;polygon;center;pivot} ?" ) ) {
lx ("select.drop ptag");
}
if (lxq( "select.typeFrom {center;item;edge;vertex;polygon;ptag;pivot} ?" ) ) {
lx ("select.drop center");
}
if (lxq( "select.typeFrom {pivot;item;edge;vertex;polygon;ptag;center} ?" ) ) {
lx ("select.drop pivot");
}
次にこのスクリプトがフレームのブランクエリアをクリックしたときに実行されるようにInput Editorで設定すれば良いのですが、この場合FramesのRegionsのLeft Clickに割り付けます。Input Editorでは、イベントが実行される条件をビューポートやツールなどさまざまなカテゴリで指定することができます。
この方法はmodo 601から実装したレイジー選択を常にオンにしたいときにも便利です。レイジー選択は常にマウスカーソル位置に一番近いエレメントが選択されてしまうので、3Dビューのブランクエリアをクリックしても選択が解除できません。
よろしかったらお試しください。modo 501でも使用可能です。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。