MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

特定の条件に従って動作する条件コマンド ~基礎設定編~

https://www.youtube.com/watch?v=PqUWejNi7xQ

Modo バージョン16.0からは特定の条件に従って動作する条件コマンドという機能が実装されました。この機能を利用することにより、より使い勝手の良い環境を手に入れることができるようになります。

条件コマンドというとわかりにくいかもしれませんが、例えばModo標準の機能でも、例えばコンポーネントモードでキーボードショートカットShift+Dのキーを押すとポリゴンの細分化が行われますが、アイテムモードで同じショートカットキーを使うとアイテムのインスタンスが作成されるようになります。

このように状況に応じて実行する処理が変わるのが条件コマンドです。この条件コマンドでいう条件とは、編集モードやその際の選択状態、他にも様々なクエリー可能な状況になります。まずは基本的な条件コマンドの使い方を見ていきましょう。

条件コマンドを設定するには、まず条件コマンドを設定するためのインターフェイスを呼び出す必要があります。このインターフェイスを呼び出すには、以下のコマンドをコマンドラインに入力して呼び出します:

?conditionalCommand

ただこの条件コマンドを設定するのに、いちいちコマンドに打ち込むのは大変面倒です。このような場合はフォーム編集ワークベンチを活用すると良いでしょう。ワークベンチとはModoバージョン12.2から実装されているフォーム編集を行うための作業場のようなスペースのことです。ワークベンチを使うと、新たなフォームの作成やコマンドのテストなどが簡単に行えるようになりますので、今回の条件コマンドの作成や編集にもこのワークベンチを使います。ワークベンチの詳細については、日本語解説ビデオ「バージョン12.2におけるインターフェイスの改良点」をご覧ください。

まずはワークベンチのツールバーを開いたら、システムメニューフォーム編集を開きます。このワークベンチに条件コマンドを登録してテストを繰り返したいので、フォーム編集のフォーム検索ボタンをクリックし、ワークベンチのツールバーをクリックして、ワークベンチのメニューが登録されている個所を検索します。

ワークベンチカテゴリの下から新規コントロールをクリックし、コマンドの追加を選択します。ここに条件コマンドをセットアップするコマンドを入力したいので、?conditionalCommand と入力してみます。そうするとワークベンチにSetupというラベルのボタンがひとつ作成されましたので、こちらのボタンをクリックしてみます。そうすると条件コマンドを設定するパネルが表示されます。

一番上にあるキーというのは、この条件コマンドを定義する名称のようなものです。条件コマンドはいくつも設定することができますので、それぞれの条件コマンドを識別できるようにするために、唯一の名称を持つキーを設定しておく必要があります。他の項目を見てみると、頂点/エッジ/ポリゴン/アイテムに対して、それぞれ なし/単数/複数/デフォルトというのがあります。これらは頂点/エッジ/ポリゴン/アイテムは編集モードを表し、なし/単数/複数/デフォルトというのは選択の個数を表します。なしというのは選択されていない状態、単数はひとつだけ選択されている状態、複数は複数選択されている状態、デフォルトは選択数に関係なくデフォルト状態を表しています。

今回は例として、状態によって起動するスライスツールというのを変えてみる条件コマンドを作ってみます。頂点モードの時およびポリゴンモードの時にはポリゴンスライスツール、エッジモードの時には何も選択されていなければエッジスライスツール、エッジが1本選択されていればループスライスツールを起動する条件コマンドを設定してみましょう。

この条件によって異なるスライスツールを起動する条件コマンドのキーはMySliceとしておきます。任意の名称ですので、好きな名称を付けてもらって構いません。できるだけわかりやすい名称を付けるようにしましょう。ここから各スライスツールを起動するためのコマンドを記述していくわけですが、まずは入力したいスライスツールを起動するコマンドを調べておかなければなりません。

いったんOKボタンを押してパネルを閉じます。フォーム編集のコマンドには ?conditionalCommand と設定してありますが、ここは先ほど設定したキーの名称を付けたし ?conditionalCommand MySlice と設定しておきます。そうするとラベルは MySlice に変わり、MySlice ボタンをクリックすると、MySlice の条件コマンドの設定を続けて行うことができます。

ではスライスツールを起動するためのコマンドを調べてみましょう。モデリングツールバーへと移り、編集タブを開きます。ここに求めるポリゴンスライスエッジスライスループスライスツールがあります。まずはポリゴンスライスツールを起動してみましょう。起動したら、F5キーを押してコマンド履歴のパネルを開いてみます。このパネルには、Modoで実行されているコマンドが逐一リストされています。ポリゴンスライスの起動コマンドは以下の通りです:

tool.set poly.knife on

このコマンドは、あらかじめ別のテキストエディタなどにコピペして記録しておきます。エッジスライスループスライスに関しても、同様にコマンド履歴から起動コマンドを取得し、記録しておいてください。

目当てのツールの起動コマンドが記録できたら、再度条件コマンドの設定に戻ります。ワークベンチのツールバーへと戻り、MySlice ボタンをクリックし設定パネルを開きます。頂点モードの時とポリゴンモードの時にはポリゴンスライスツールを起動したいので、頂点:デフォルトポリゴン:デフォルトにはポリゴンスライスツールの起動コマンドを入力します。

あとはエッジが選択されていない時にはエッジスライスツールを起動したいので、エッジ:なしに対してエッジスライスツール、エッジが1本選択されているときにはループスライスツールを起動したいので、エッジ:単数に対してループスライスツールの起動コマンドを入力します。OKボタンをクリックしたら、実際に動作を確認してみましょう。現在、フォーム編集のMySliceボタンには設定パネルを開くために、条件コマンドの前にマークがついていますが、このマークを削除します。こうすることでMySliceの設定パネルを開くのではなく、MySliceのキーが設定された条件コマンドを実際に実行するという意味を持つようになります。

実際に、頂点モード・ポリゴンモード・選択数がなしもしくは1本の時のエッジモードで、MySliceボタンをクリックし、どのツールが起動するのかを確認してみます。正しく設定されていることを確認したら、コマンド履歴のパネルからこのコマンドに対してショートカットキーを割り当ててみましょう。conditionalCommand MySlice のラインを選択し、右クリックからコマンドをキーに割り当てを選択します。ショートカットキーを割り当てるためのパネルが開きますので、割り当てるキーを指定し、OKボタンをクリックします。これで編集モード・選択状態に応じて使用頻度の高い複数のツールを一つのキーだけで起動できるようになり、よりモデリングの効率を上げていくことができるかと思います。

またこの条件コマンドの設定については、設定ファイルの一つにまとめられています。システムメニュー設定フォルダを開くを実行すると、設定ファイルがまとめられている設定フォルダの場所が開きます。その中にあるModo 16.0.CFGのフォルダを開きます。これがバージョン16.0の設定ファイルがまとめられているフォルダとなります。設定フォルダにつきまして詳しくは、日本語解説ビデオ「バージョン16.0で変化した設定(コンフィグ)ファイルの構成」をご覧ください。この設定フォルダの中に条件コマンドに関する設定ファイルが保存されることになります。設定ファイルは基本的にModo終了時に保存されますが、すぐに設定ファイルへと反映させたい場合には、ファイルメニュー > 設定の上書き保存を実行してみてください。設定フォルダの中を見てみると、ConditionalCommands.cfg というファイルができています。これが条件コマンドを保存している設定ファイルです。開いてみてみると、各項目に対するコマンドの設定がXML形式で書き出されているのが確認できます。ですので、慣れてくればこちらの設定ファイルを直接編集することも可能です。設定を全てリセットしたい場合には、このファイルを削除するとクリアな状態へと戻すことができます。

2022年6月3日