2011年7月30日土曜日

便利なスクリプト

先週、ユーザーミーティングに参加したときに、よく使われているスクリプトの話がでてきましたので、ここで紹介しておきます。

UNBEVELPERFECT CIRCLEは、Seneca Menadさんが作られたスクリプトです。Senecaさんは、DOOMで有名なid Softwareで働く、ゲーム開発系のCGアーティストで初期の頃からmodoの便利なスクリプトを提供してくれています。Senecaさんのスクリプトは、http://www.indigosm.com/で公開されていますが、modo 501に対応した最新版は直接下記のリンクからダウンロードします。ホームページを更新する暇がないぐらい忙しいらしいです。UNBEVELPERFECT CIRCLEにも、便利なスクリプトがたくさん公開されています。

indigosm scripts 3-25-11

Topic - Seneca's latest modo scripts (12-18-10)

UNBEVELは、エッジベベルなどで丸めたエッジを元のシャープのエッジに戻すスクリプトです。下図のようにベベルしたエッジの上部と下部のエッジを選択した後にUNBEVELを実行します。



PERFECT CIRCLEは、選択したポリゴン群の輪郭、エッジのループ、頂点ループを選択し、実行すると選択したループの頂点が正しく計算された円の輪郭に再配置されます。




スクリプトを実行する方法は幾つかあります。1番簡単な方法は、modoのシステムメニューのSystem > Run Script... (システム > スクリプトの実行...)から、直接スクリプトファイルを選択して実行する方法です。

良く使用するスクリプトは、Input Remapping (入力編集)でスクリプトの実行をscript.runコマンドを使って登録する事ができます。script.runコマンドは、@というエリアスを使ってアクセスできますので、@C:\Scripts\perfectCircle.plのようなシンタックスで登録する事ができます。

また、スクリプトの検索パス上にスクリプトを置くことによって、スクリプトのファイル名称だけで@perfectCircle.plのようにスクリプトを実行することも可能です。通常、ユーザーごとのデフォルトのスクリプトのパスは、OSごとに下記のように決められています。(XXXXはログイン名称)

Mac OS X
/Users/XXXX/Library/Application Support/Luxology/Scripts

Windows 7
C:\Users\XXXX\AppData\Roaming\Luxology\Scripts

更に、独自のフォルダを検索パスに含めたい場合は、下記のようなコンフィグを使って、フォルダをmodoに追加することができます。この記述は、mypath.cfgのように適当な名称をつけて上記のパスのScriptsをConfigsに置き換えたデフォルトコンフィグフォルダに置いておく必要があります。


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <import>Z:\modo\config</import>
    <import>Z:\modo\config\scripts</import>
</configuration>

2011年7月25日月曜日

StartupCommands

昨日は、modoユーザーグループTokyoのミーティングに参加させていただきました。楽しかったです。みなさんありがとうございました。ミーティングの中で幾つか返答できなかった質問などがありましたので、このブログで解説していこうと思います。気がつけば前回のブログから2ヶ月も経過していました。

質問があったのは、レンダリングの設定値のデフォルトの値を変更してmodoの起動時に読み込ますことはできないかというものでした。レンダリングの設定には、レンダリングフレームの解像度だったり、さまざまなレンダリングアトリビュートの値などがあります。

さまざまなレンダリング設定もmodoの中ではアイテム(ロケータでないアイテム)として、扱われており、デフォルト値はプログラムにハードコードされています。

デフォルトの値は、それほど頻繁に変更するものでなければ、レンダリング設定のみを変更した空のシーンを作成し、それをmodo起動時に自動的に読み込ませることによって、オリジナルの設定を作ることができます。デフォルトシーンの作成は簡単です。modoを起動し、レンダリング設定など好きなように変更した後で、それをどこかのフォルダに名前をつけて保存するだけです。デフォルトの値を編集したいときは、そのシーンを呼び出して、書き換えるだけですので簡単ですね。

次にこのシーンを自動的にmodoを起動したときに読み込ませる方法ですが、コンフィグの設定にStartupCommandsという項目があります。この項目に起動時に実行したいコマンドを記述することが可能です。下記は、私が作成したデフォルトシーンをMyDefault.lxoとして保存し、scene.openでmodo起動時に呼び出す命令を設定しています。



<?xml version="1.0" encoding="UTF-8"?>
<configuration>


<atom type="StartupCommands">
    <list type="Command">scene.open "/Users/taz/Library/Application Support/Luxology/Configs/MyDefault.lxo" normal</list>
</atom>


</configuration>

これを適当な名称をつけて、ユーザーごとのコンフィグフォルダに保存しておきます。Mac OS X では、~/Libraray/Application Support/Luxology/Confingsがユーザーごとのコンフィグフォルダの場所ですので、Startup.cfgという名称で保存しておきます。名称は関係ありません。Mac OS X Lionになってから、ライブラリフォルダがデフォルトで非表示になっています。Optionキーを押しながら、システムメニューの”移動”メニューをクリックすると、ライブラリに移動するメニューが選択できます。Windows 7の場合は、~\AppData\Roaming\Luxology\Configsにあります。

StartupCommandsは、scene.open以外のコマンドも呼び出せますので、レンダリング設定などを変更するマクロやスクリプトを作成し、@コマンドで呼び出すことも可能です。他にも応用できる機能ですので、試してみてください。