modo 102のスクリプティング・エンジンは、ユーザーがよりシンプル、且つより多くの強健なアクセスによりmodoをカスタマイズできるように、様々な点を強化しました。
ホストサービス・インターフェースの追加
modo 102のスクリプトは、"query" コマンド・インターフェースによるグローバルな”ホストサービス”を追加しました。これにより、サーバーから提供されるタグ情報などのプラグインのデーターベースの問い合わせすることが可能となります。
LUAインタプリタのサポートによるスクリプト言語の拡張
modoは、マルチ・スクリプト言語を理解するためのシステムを追加するためのスクリプト翻訳を利用することができます。modo 101においては、二つの独創的なスクリプトメカニズム(一つはシンプルなマクロシステム、もう一つはスクリプト言語である perl )をフルサポートしていましたが、modo 102においては、ゲーム開発におけるパイプラインにおいて最もポピュラなLUA言語を追加しました。
インフォーメーションダイアログ
スクリプトは一般的なエラー、インフォーメーション、質問ダイアログなどを表示できるようになりました。
ファイルダイアログ
スクリプトは読み込み・保存、ファイルタイプなどのファイルダイアログを開くことができるようになりました。
進行状況メーター
スクリプトはスクリプトの進行状況を、ユーザーが視覚的に判るように進行状況メーターを呼び出せるようになりました。
レイヤー・インフォーメーション・サービス
レイヤー・インフォ・サービスは、レイヤー情報をグローバルオブジェクトとしてインターフェースに提供します。このサービスは、次のもののような情報へのアクセスを提供します:
- Selected layers (選択されたレイヤー)
- Primary layer (プライマリ・レイヤー)
- Meshes for layers (レイヤー上のメッシュ)
- Layer names (レイヤー名称)
- Layer properties (レイヤーの属性)
- Layer internal ID for selection & command firing (選択およびコマンド実行のためのレイヤー内部ID)
サンプル・スクリプト
modo 102においては、modoのスクリプト・システムをどのように利用することができるかなどを学ぶことに興味のあるユーザー様に対して参考となる、幾つかの新しいサンプル・スクリプトを提供します。このサンプル・スクリプトは、ファイル出力、メッシュの生成、基本モディファイヤなどの例を含んでいます。これらスクリプトはPerlフォーマットで記述されているため、簡単にカスタマイズが可能です。
- Rest On Ground(接地)
レイヤーに含まれるメッシュの最底辺の箇所が、地面に接地するようにオブジェクトを移動させます。
- SmartQuad(スマートクワッド)
このスクリプトは、選択した3つの頂点から、自動的に4つ目の頂点を生成した後、4つの頂点をもったポリゴンを生成します。
- Gasket(ガスケット)
手続き型のメッシュ生成による立方体プリミティブを使用した、メッシュ生成のサンプルです。
- Align To Point (ポイントの整列)
最後に選択した頂点に対して、選択したエレメントを整列させることができます。
- Move Pivot To Element(エレメントの中心点の移動)
選択したエレメントと一致するように、カレントレイヤーの中心点を編集します。
- Nurny(プリミティブのランダム配置)
複数のプリミティブ形状を使って、あるジオメトリを生成するためのスクリプトです。デモムービーでは、スクリプトによってランダムに置かれた複数のプリミティブで形成されるメッシュの例をお見せします。このスクリプトの名称である "nurny" とは、宇宙船上の細部へとランダムにジオメトリを配置する際に使用する用語として、Ron Thorntonが発明した造語です。
- Terrain(地形)
地形を生成する際に、このスクリプトによって、メッシュの高低等を設定することができます。
- TGasket Fractal(Tガスケット フラクタル)
その他のプリミティブを使用したメッシュ生成のサンプルスクリプトです。Tガスケットもガスケットと同様に「シェルピンスキーの三角形」を基としたフラクタルのアルゴリズムを採用しています。
|