スクリプト」タグアーカイブ

テキスト:「MODO MACROS & PYTHON SCRIPTING VOLUME 01」

The Pushing Points Hatchet Collection for MODO」「The Pushing Points MOP Booleans Kit」「Zipper Assembly」など、様々なスクリプトやアセンブリ、また膨大な下図のMODOの機能ビデオを公開・販売しているWilliam Vaughan 氏が、今回新たにMODOのマクロやスクリプトを細かく解説するテキストをリリースいたしました。その名も「MODO MACROS & PYTHON SCRIPTING VOLUME 01

script_book

この本をおすすめしたいターゲットとして

・作業の速度向上および現状のワークフロー拡張を目指すプロの 3D アーティスト
・生徒のスキルを広げる新たな方法を探し求める講師
・3D アセットの作成能力以上のスキルをスタジオにアピールしたい学生
・ソフトウェアのツールセットを広げることに興味がある趣味ユーザー

など、アーティストとして、また講師として長年活躍されているWilliam氏ならではのターゲット設定となっています。

ただし、このテキストでは

・コマンドの基本的な動作
・ツールプリセットの作成
・マクロの作成と編集
・Python スクリプトの作成
・プロの実践練習

を丁寧に解説していますので、上記のターゲットにはあてはまらない方であっても、全く問題なくご使用いただけます。また、こういった解説本を読むことで、現在お悩みの問題点を少しでも解消できる手助けとなるかもしれません。新たなスキルアップを目指される方は、こういったテキストもぜひ活用してみてください!

 

スクリプト:「Make Locators Per Each Points」

キャラクタアニメーションなどメッシュの変形を伴うアニメーションを、他のアイテムへと移すためのスクリプト「Make Locators Per Each Points」をご紹介いたします:

このスクリプトは弊社テクニカルサポート宛に頂きましたお問い合わせを元に、変形アニメーションを行っている各選択頂点毎にロケータを作成して、そのロケータにアニメーションをコピーするものです。こうすることで、でフォームアニメーションがアイテムアニメーションとしてデータを持つことができますので、他のソフトウェアへと読み込ませて、また別のエフェクトを設定することで、同じアニメーションにも違う表情をもたせることができますよね。興味をお持ちの方は、お手持ちのデータでぜひ試してみてください!

このスクリプトは単純な手順をバッチ処理的に選択頂点に対して行っているのですが、こういったバッチ処理的な操作を行って作業効率をグンとアップさせたり、手作業だと無理な作業を可能にしてしまうのが、まさにスクリプトの得意とするところであり醍醐味ですよね。私達MODO JAPAN GROUPでは「実際に使用する」という目的だけではなく、ユーザー様自身でスクリプトを作ることで作業環境をよりよいものとしていただくため、弊社作のスクリプトをサンプルとしてご利用いただけるよう公開・配布していますので、ぜひ自由にご利用ください。

また、06/20(水)には開発者向けにPythonセミナーも行われます。スクリプト作成に興味があるという方は、ぜひこちらのセミナーにも足をお運びください!

セミナーイベント:「ゲーム開発者向けPythonセミナー」06/20(水) 開催!

 

スクリプト:「Easy Spring and Braid 」

The Foundryのアセットシェアで、バネや編み込みのカーブを作ってくれる便利なスクリプトがありましたのでご紹介します:

「Easy Spring and Braid 」
http://community.thefoundry.co.uk/asset/scripts/view.aspx?id=4438

こちらの作者様は日本の方なので、インストール方法や使い方など、日本語のドキュメントが用意されており、すぐにでもお使いいただけるようになっています。生成されるのはカーブメッシュなので、そこから自分で自在に編集を重ね、「カーブをレンダリング」する機能で、カーブをポリゴンなどに変換しなくてもパパッとレンダリングすることができます。

rope

ばねや三つ編み用のカーブを作りたいときには、こちらのスクリプトが大変お手軽です!

カーブをレンダリングする方法については、機能解説ビデオ「カーブ伸縮のアニメーション」をご覧ください:

「カーブ伸縮のアニメーション」

 

スクリプト:「iReplicAAAte」

リプリケータのように簡単に動作する複製コマンドをお探しであれば、The Foundry社のアセットサイトにて公開されているスクリプト「iReplicAAAte 」がお勧めです:

http://community.thefoundry.co.uk/asset/scripts/view.aspx?id=4371

このスクリプトは「選択コンポーネント上に対し<いつでも><なんでも><どこにでも>MODOアイテムを複製する」ためのスクリプトになっています。

複製できるアイテムは現在シーン上に存在しているアイテムだけでなく、カメラやライト、フォールオフやフォース、ダイナミクスのコンストレイントまで、新規で作成しては複製できるようになっています。またメッシュに関しては複製した後のアイテムを自動でマージする機能もついていますので、手軽にぱぱっと配置したい場合など大変便利に使えそうなスクリプトです。

 

スクリプト:「Move Selected Points’ Position to Last Point」

今回はユーザー様からのご希望により制作したスクリプト「選択中の複数ポイントを、一番最後に選択したポイントの位置へと整列させるスクリプト」をご紹介します。

位置を合わせる方法は他にもいくつか考えられますが、このスクリプトは特に、ショートカットキーを割り当てることで、気軽に使うことができるツールとなるでしょう。コマンドをキーボードショートカットへと割り当てる方法につきましては、以下のビデオをご参照ください:

ショートカットキーを割り当てるには

 

スクリプト:「Visible Selected Meshes」

シーン内に膨大な数のアイテムがあふれているものの、一つのアイテムだけを表示状態にしたい、でもアイテムリスト状の目玉アイコンをいちいちオフにするのは面倒くさい、といった場合がありますよね。もちろん、表示とコントロール非アクティブメッシュ非アクティブは非表示にしても良いのですが、可視・不可視を頻繁に切り替えたい場合などには、それもまた手間がかかると思われるかもしれません。

そんな方のために、MODO JAPAN グループでは、アイテムリスト上で現在選択しているメッシュだけを可視状態にしたり、または可視状態を反転したり、すべてのメッシュを可視状態にするスクリプトを作りました。これをキーに割り当てれば、キーを押すだけで状態を切り替えることが可能になります:

Visible Selected Meshes

試しに、コマンド履歴のパネルなどで、以下のように入力してみてください:

@(パス名)\mjg_sel_solo.py solo
@(パス名)\mjg_sel_solo.py reverse
@(パス名)\mjg_sel_solo.py all

(パス名)にはこのスクリプトを格納されたフォルダのパス名を入力し、それぞれ実行してみると、”solo”を指定すると選択しているアイテムだけを可視状態に、”reverse“を指定すると現在の可視状態を反転し、”all“を指定すると全メッシュを可視状態になります。

これらはキーに割り当てることで、キー操作だけで可視状態を切り替えられるようになるんですね。今回は”solo“をAltキー+0(テンキー)、”reverse“をAltキー+1(テンキー)、”all“をAltキー+2(テンキー)に割り当ててみました↓

input非常に簡単なスクリプトですが、アイテムリスト上で目玉アイコンをクリックしていかなくても、キー操作だけで切り替えられるようになるのは、メッシュの数が多いシーンを扱う方にとっては意外と重宝するかもしれません。ぜひ、一度お試しください!

 

スクリプト:「Convert Polygon to PolyLine」

MODO 801から搭載された新しいポリゴンタイプポリラインカーブをレンダリング機能を組み合わせて、ワイヤーフレームレンダリングを実現するMODO JAPAN GROUP製スクリプトConvert Polygon to PolyLineをご用意いたしました:

Convert Polygon to PolyLine

まずはワイヤーフレーム上にしたいメッシュを選択(複数選択可)し、このスクリプトを実行します。

例えば、このカバのメッシュを選択して、システムメニュー > スクリプトの実行からスクリプトを実行します:

wireframe01スクリプトを実行すると、このカバのメッシュはそのままで、PolyLine_メッシュ名という新たなメッシュが生成されます。このメッシュに対してカーブをレンダリング機能をオンにします。すると、ワイヤーに厚みがあるようなレンダリングが可能になります:

wireframe02この表現も面白いですが、より線画的なワイヤーフレームを望まれる場合には、カーブをレンダリングカーブ半径の値を低くし、シェーダツリーからレイヤー追加カスタムマテリアルCel Edge Materialを追加してみてください。そうすると、よくあるワイヤーフレームレンダリングが可能になります:

wireframe03ワイヤーフレームレンダリングでお困りの方は、ぜひ一度、このスクリプトをお試しください!また、サイトの方では、簡単なスクリプトの解説も行っておりますので、ご興味のある方はそちらもご活用いただければと思います。

 

スクリプト:「Weight Connect to Skeleton」

7月15日(火)に行われました「MODO 801 ラウンチイベント in 東京」では、キャラクタアニメーション制作のワークフローなどについて、YAMATOWORKS金本真様/澤田覚史様より丁寧にご紹介いただきましたが、そのセミナー内でもご紹介いただいたスクリプトが、澤田様個人のブログにおいて日本語音声解説付き動画と共に公開されています。

今回公開されているスクリプトは二つ。一つはウェイトマップリネームする「VertexMap Renamer」:

そしてもう一つはウェイトを同名称を持つスケルトンにリンクさせるための「Weight Connect to Skeleton」:

こういった便利なスクリプトを自分で組んでいくことで、リグアニメーションのライブラリ化・再利用が可能になり、アニメーションに登場する大量のモブキャラクタを容易に制作できるようになるなど、キャラクタアニメーションをさらに使いやすく、また時間を大幅に短縮させながら作業することが可能になるんですね。

YAMATOWORKS様では、このように自ら制作ワークフローを快適に整えることにも目を向けたり、常により良い映像を作るための工夫を行う姿勢を持たれており、それが映像作品「九十九」(短編映画「SHORT PEACE」の一編)が第86回米国アカデミー賞短編アニメーション部門のノミネートされるなどの、目覚ましい活躍につながっているのかなぁと感じます。

 

スクリプト:スケルトンウェイトを通常のウェイトマップへと変換

今週はもう一つMODO JAPAN GROUP製「スケルトンウェイトを通常のウェイトマップへと変換」するスクリプトをご紹介します。

Convert Skeleton Weight to normal Weight

スケルトンをメッシュにバインドすると、自動的に対応するウェイトマップを作ってくれますが、このウェイトマップはスケルトンに紐づいているため、スケルトンを削除してしまうとウェイトマップも消えてなくなってしまうという性質を持っています。微調整を加え、キレイに整えたウェイトマップがスケルトン削除と同時に消失してしまうのはもったいない!後から他のスケルトンに対しても使っていきたい!といったケースも出てくるかと思います。

今回はそんなケースのために、スケルトンのウェイトを通常のウェイトマップへと変換し、さらにスケルトンへと再度割り当てるスクリプトを公開いたします。このスクリプトを使って通常のウェイトを変換した後にスケルトンを削除しても、ウェイトの情報はそのまま残ってくれることになりますので、ウェイトを作るためだけにスケルトンを作るといった逆の発想からのウェイト作成法としてもご利用いただけるかもしれません。

シーンの中身を調べたり、頂点マップを調べたり、といった他にも応用が利きそうな操作を行っていますので、ぜひ参考になさってみてください!

 

Pythonサンプルスクリプトサイト公開!

MODOで作業を進めていく際、適切なスクリプトがあればもっと作業を簡単にできるのに、といった場面に遭遇するケースもあるかと思います。MODO JAPAN グループでは新たに、<MODO基本機能・チップス紹介サイト>の中にスクリプトカテゴリを設け、簡単なサンプルスクリプトの公開・配布を開始いたしました:

<MODO基本機能・チップス紹介サイト> スクリプトカテゴリ

このスクリプトカテゴリではスクリプトを配布すると同時に、簡単な解説文も加えるようにしています。こうすることで、配布しているスクリプトをただ単に使用するだけでなく、カスタムで手を加え、さらにユーザー自身にとって使いやすいスクリプトへと改変していただければと思っております。

今回配布するスクリプトは「Import CAD Data from Folder」。このスクリプトではCAD Loader/Power Translatorsなどを用いて複数のCADデータを読み込む場合に、指定したフォルダ内のファイル全てを自動的に読み込むスクリプトです。このため CADファイルだけに関わらず、ファイルを読み込むときに最初にダイアログが出てくるようなフォーマット(例:OBJなど)のファイルを複数一括で読み込みたい場合にも有効に使えます。

少しでも作業の効率化を図りたいとお考えの方は、Pythonスクリプトに挑戦してみてはいかがでしょうか?