Script

参考資料

modoで選択したアイテムの名前をテキストファイルに出力するスクリプト

modoで選択したアイテムの名前をテキストファイルに出力するスクリプトが公開されてます。たまに欲しくなるので助かる。

https://community.foundry.com/discuss/post/1212480

ファイルパスを設定して実行する必要があります。

import os
import modo

# Get the scene item
scene = modo.Scene()
# The path to write out the file to your desktop
file = os.path.expanduser("~/Desktop/selected_items.txt")
# Get all selected items names ass a list
# Adding \n to the end of the name for a new line in the file.
item_names = [item.name+"\n" for item in scene.selected]

# Write data to file.
with open(file, "w") as item_name_file:
item_name_file.writelines(item_names)

参考資料

メッシュ位置を一致させるmodoスクリプト

ソースメッシュをターゲットメッシュに一致させるmodo用のスクリプトが公開されています。

https://gist.github.com/Eterea/a028ce392a8fd41f46922d505406614f

ソースで3頂点を選択し、ターゲットで3頂点を選択して一致させます。スクリプトには3つ引数があります。

  • @etr_match_posrot_smart.py relative
  • @etr_match_posrot_smart.py targeted
  • @etr_match_posrot_smart.py original

 

CG News

3dsMaxのレンダーパスマネージャー「renderStacks」

3dsMaxのレンダーパスマネージャー「renderStacks」がリリースされました。シーンファイルに情報を保存するため、プラグインが不要なようですね。

https://renderstacks.com/renderstacks/

価格
  • サブスクリプション1ユーザー $ 59.99/年
  • 1年間のメンテナンス付き永続ライセンス $ 249.99
  • 非営利目的での使用は無料です。

 

renderStacksとは?

3dsMax用のレンダーパス/ジェネリックタスクマネージャーです。RPManager、LPass Manager、Prism、StateSet、Scene Stateを使ったことがある人ならわかると思います。みたいなものです。しかし、より賢く、より速く、より安定したものを目指しています。

一言で言えば、RenderStacksではパスごとに実行されるタスクのシーケンスを定義でき、シーンごとに無制限にパスを持つことができます。
例えば「ビューポートをCamera001に設定し、解像度を1920×1080に設定し、出力パスを "Z:\project\awesome\...\v001awesome_bty.exr "に割り当て、フレーム範囲を100から300に設定する」、「ティーポットにレッドプラスチックを適用する」などのように、「Bty」というパスをrenderStacksに指示することができます。

renderStacksを使えば、アーティストのよくあるシーン管理の手間が省けます。パスを一度設定するだけで、アート制作に集中できます。単純なミスでどれだけのレンダーノードの時間が無駄になったことでしょうか?
renderStacksは潜在的なヒューマンエラーの多くを防ぐのに役立ちます。さらに優れているのは、スクリプトを一行もコーディングすることなく、アーティストに優しいUIでこれらすべてを行うことができるということです。

 

インスピレーションのいくつか

renderStacksの開発者は、3dsMax用の他の多くのレンダーパスソリューションを手に取り、3dsmax用の階層型レンダーパスマネージャのような未発表のソリューションのビデオを研究してきました。 また、ModoのレンダーパスシステムやMayaのレンダーセットアップとレンダーレイヤーなど、他のDCCソリューションもチェックしました。 renderStacksは、アーティストとしての長年の制作経験から生まれたもので、他のソリューションの最高の機能を組み合わせたものです。私たちは renderStacks を Uber のレンダーパスマネージャーだと考えています 。

ここでは、RenderStacksの主な機能、ハイライト、そしてその背景にある考えをご紹介します。

 

欲しいものは何でもコントロールし、必要なものだけをコントロールする

renderStacksの主な目的は、扱う必要のあるシーンファイルの数を減らすことです。これにより、1つのシーンファイルからより多くのことができるようになります。そのためには、このツールはパスごとに非常に包括的なコントロールを提供しなければなりません。カメラ、解像度、フレーム範囲、オブジェクトの可視性、マテリアルオブジェクトのプロパティ、レンダラーのパラメータなどをコントロールすることができます。このドキュメントの最後にサポートされているpmodifier(パスモディファイア)のリストを見ることができます。

しかし、たとえ renderStacks が多くのパラメータを制御できるとはいえ、常にすべてのパラメータを制御する必要はありません。例えば、パスごとに異なるしきい値を設定したい場合、パスごとにすべてのレンダラーパラメータを管理する必要はありません。 renderStacks は何を制御するかについて非常に細かい粒度を提供し、どのパラメータを使用するかを明示的に選択することができます。

 

スタックベースのワークフロー

renderStacksはスタックベースです。驚きです。ノードベースのワークフローが好きなユーザーもいると思います。しかし、スタックベースのワークフローを選んだ理由はいくつかあります。

  • スタックがコンパクトだからです。3ds Max のモディファイア スタックが、ノードベースのものと比べてどれだけコンパクトか見てください。スタックアプローチでは、スクリーンスペースの 4 分の 1 以下で多くのパスを見ることができます。
  • 読みやすい - 各パスは基本的に一連のタスクです。ノードのスパゲッティで思考をナビゲートしたり、UI に散在する可能性のあるすべての UI ウィンドウを探したりするのではなく、そのパスで何が起こっているのかを読み取って把握することは、はるかに簡単です。

これに関しては、モディファイア スタック、LPass Manager、Prism、そして特に 3dsmax 用の Hierarchical Render Pass Manager からヒントを得ました。

 

パフォーマンス

パスの切り替えに数秒以上待つのが好きな人はいません。ユーザーのシーンには何億ものポリや何万ものオブジェクトがあることを知っています。私たちは、3ds Max のパフォーマンスを少しでも引き出すために、長年の間に学んだあらゆるトリックを駆使してきました。まだまだ改善の余地があると思いますが、RenderStacksは類似のソリューションの中で最高のパフォーマンスを提供できると確信しています。

 

1つの場所ですべてをコントロール

renderStacksを使用すると、レンダリングに関連するすべてのパラメータを一箇所でコントロールすることができます。これは、レンダリングとシーン管理に必要なすべてのパラメータパレットのようなものです。コントロールする必要のあるすべてのパラメータが指先に集まっているので、レンダーセットアップダイアログやオブジェクトのプロパティダイアログを開く必要はありません。

 

手続き型・動的オブジェクト選択

従来の3ds Maxの選択セットから、RenderStack独自のレイヤーセットまで、オブジェクトのグループを動的に定義し、統一された方法で利用するための様々な方法を提供しています。

与えられたオブジェクトセットを様々な方法(マットオブジェクト、ライティング除外など)で複数回のパスで使用し、それらが同期していることを確認する必要がありますか? renderStackの様々なオブジェクトセットを使用すると、これらの作業が簡単になり、エラーが発生しなくなります。

 

パイプライン/チームフレンドリー

パイプラインの集中管理が必要ですか?パスの自動設定?renderStacksは、アーティストからの機能アクセスをオーバーライドまたはブロックするための様々なパイプラインフックを提供します。必要な数だけコントロールを追加することができます。さらに多くのコントロールが必要な場合は、お問い合わせください。それとも、スクリプトでパスを自動生成したいですか?renderStacksのすべての機能にMaxscriptでアクセスすることができます。

renderStacks は、ユーザー間でセットアップデータを簡単に保存して共有する方法も提供しています。アーティスト間で選択したパスを保存してマージすることもできます。

 

トークン

もう出力パスを入力する必要はありません。様々な組み込みトークンでルールを設定するだけです。おそらくそれ以上のものは必要ないでしょう。しかし、本当に個性的な花を咲かせたいのであれば、独自のトークンを作ることもできます。出力名を一度設定して、起動時のRenderStacksファイルに保存するだけです。これで、出力ダイアログを開く必要がなくなります。

 

自動で汎用的なサードパーティのサポート

レンダラやプラグインを選択して、RenderStacks がどんな素晴らしい新しいオプションをサポートするかを待つ必要はありません。その機能がMaxscriptに公開されている限り、RenderStacksは自動的にそれらの機能を確認し、使用できるようにします。

現在、VRay, Arnold, Corona, Redshift, FStorm, ART, Scanlineを完全にサポートしています。しかし、ほとんどの機能はどのレンダラーでも動作します。

 

外部ファイルを使用しません。プラグインなし

renderStacksは必要なものをすべてmaxシーンファイルに保存します。外部ファイルを扱う必要はありません。また、RenderStacksのデータはパスのために実行する必要がある命令のシーケンスに過ぎません。レンダーノードに何もインストールする必要はありません。シーンファイルをクライアントやサードパーティのレンダーファームに送りたいですか?パスを有効にしてファイルを保存するだけです。クライアント側やレンダーファームでは何も必要ありません。

 

本当にアーティストのために。スクリプトは必要ありません。

私たちが出会った3dsMaxアーティストのほとんどは、スクリプトを知らないし、やりたくもありません。ユーザーがスクリプトを必要とするなら、なぜ renderStacks が必要なのでしょうか? 自分たちで作ればいいのに。私たちは、アーティストは必要なことを何でもできるようにすべきだと確信しています。私たちは、UIを通してすべてのものにアクセスできるようにするために多くの努力をしてきました。

 

レンダリングのためだけではありません

最後に、renderStacksは単なるレンダーパスマネージャではありません。単にレンダリングを提出するだけではありません。流体シミュレーションのために様々なシミュレーション設定の組み合わせを実験する必要がありますか?変更した内容を覚えるためにメモを取る必要はありません。シミュレーションパラメータを設定し、RenderStacksパスを作成するだけです。 シミュレーションパラメータはRenderStacksパスと一緒に保存されます。シミュレーションを実行して、別のシミュレーションを試したい場合は、シミュレーションパラメータを変更して、別のRenderStacksパスを作成し、シミュレーションを再度実行してください。 最初のシミュレーションの結果が良い場合は、最初のRenderStacksパスを有効にしてください。 モデリング中にシーン内のすべてのTurboSmoothをオン/オフするにはどうしたらいいでしょうか?"モデル "パスと "プレビュー "パスを作成し、RenderStacksですべてのTurboSmoothをオン/オフすることができます。 基本的には renderStacks を使って、異なるパラメータの状態を切り替えることができます。

 

現在の pmodifier リスト

  • アライメント - オブジェクトの親とトランスフォームごとのアライメント
  • アニメーション範囲 - アニメーションの開始フレームと終了フレーム
  • 大気 - 大気のオン/オフごとに
  • BackBurner - バックバーナーのサブミット
  • カメラ - カメラ, 開口部幅
  • Deadline - すべてのDeadline 設定
  • 環境 - 環境ダイアログの共通パラメータのすべてのパラメータがロールアウトされます
  • 露光 - 露光制御の全パラメータ
  • FrameRange - スキップフレームをサポートしたフレーム範囲をレンダリングする
  • LightOn - ライトのオン/オフごとに
  • ManyObjParams - オブジェクトのすべてのパラメータは,動的なオブジェクト選択で修飾子を含みます
  • マテリアル - オブジェクトごとにマテリアルを割り当てます
  • ObjParams - オブジェクトのすべてのパラメータに修飾子が含まれます
  • ObjPropsDisplay - オブジェクトのグループごとのオブジェクト表示プロパティ
  • ObjPropsRender - オブジェクトのグループごとのオブジェクトレンダリングプロパティ
  • RenderCommon - レンダーダイアログのコモンタブのすべてのパラメータ
  • RenderElement - 要素をレンダリングする際のオン/オフを設定する
  • RenderOutput - 3dsMaxフレームバッファまたはトークン付きVRayフレームバッファを介して出力をレンダリングします
  • Renderer - パスごとにレンダラを切り替えます
  • RendererParams - 任意のレンダラーのすべてのパラメータ
  • 解像度 - ワンクリックオーバースキャンをサポートする解像度
  • Transform - オブジェクトごとの変換
  • VRayOverrideMtl - 動的オブジェクト選択機能を持つグローバルVRayオーバーライドマテリアル
  • VRayRenderMask - 動的オブジェクト選択機能を持つVRayRenderMask
  • ViewportBackground - ビューポートの背景
  • 可視性 - オブジェクトの非表示/非表示

これはv1のためだけのもので、今後もっと多くのpmodifierが登場します。

CG News

MODOの地図インポータースクリプト

modoに基盤地図情報ビューアから書き出したシェープファイルを読み込むインポーターが公開されてます。スクリプトはYouTubeの説明からダウンロードすることができます。

概要

基盤地図情報ビューアから書き出したシェープファイルをMODOへ読み込むインポーターです。

  • 主に道路などのポリラインの地物の表示属性はパートタグに割り当てられ、地物の種類は選択セットに割り当てられます。
  • 建物も同じく、建物の種類が選択セットに割り当てられます。
    穴あきポリゴンの可能性のあるポリゴンには、 パートタグに「Possibility of holes」というタグは設定されますので、適宜穴あけ処理は手動でお願いします。
  • 等高線を読み込んだ場合は等高線の高さにポリラインが読み込まれます。 一応その他のシェープファイルも読み込めますが、 ポリラインとポリゴンのみのサポートです。

一応その他のシェープファイルも読み込めますが、 ポリラインとポリゴンのみのサポートです。

CG News

Obj Sequence Exporter for MODO

modoからobjのシーケンスをエクスポートキットが公開されています。After EffectsのElement 3Dでの使用を想定したもののようです。MeshOps、Deformer、Mesh Fusionをサポート。価格は無料ですが、コーヒーがお好きなようです。
https://gumroad.com/l/objExp

以前公開されていた同様のスクリプトに比べると機能の対応範囲が広そう。

Tips

modoのスクリプトやプラグインのインストール方法

modoのスクリプトやプラグインのインストール方法について書いてみたいと思います。

modoは他の3Dソフトと同様にスクリプトやプラグインで機能拡張することができます。FoundryのフォーラムMODO Japan GroupGitHubでは便利なフリースクリプトやプラグインが公開されています。

 

配布形態

modoのスクリプトやプラグインにはいくつかの配布形態があります。

 

スクリプトファイル単体

一番多いのがスクリプトファイル単体で配布されてる場合です。.pyや.plファイルだけ公開されてる場合がそれです。

 

Kit

次に多いのが「Kit」として配布されている場合です。有料プラグインやFoundryが配布しているAfterFX IOやGozはKit形式です。

Kitはスクリプト、プラグイン、UI、画像など複数のファイルで構成されていて、配布に便利な仕組みです。KitはUIの「Kitボタン / キットマネージャ」から有効/無効を切り替えることができます。Mayaのモジュールと似た仕組みですね。

キットは複数のファイルで構成されているため、.lxpや.zipのような圧縮形式で公開されてることが多いです。

 

インストール方法と使用方法

インストール方法は簡単です。ファイルをスクリプト フォルダ、またはKitフォルダにコピーします。

 

スクリプトのインストールディレクトリ

modoのスクリプトは、スクリプト実行時に以下のフォルダを検索します。

C:\Users\ (ユーザー名) \AppData\Roaming\Luxology\Scripts

C:\Program Files\Foundry\Modo\ (バージョン番号) \extra\scripts

Luxologyフォルダは全てのmodoバージョンから参照されるので、基本的には Luxology\Scriptsフォルダにファイルをコピーしておけば問題ありません。

 

スクリプトの使用方法

スクリプトを実行するときはmodoのUI右下にあるコマンド入力に「@+ファイル名」を入力してEnterで実行します。

 

Kitのインストールディレクトリ

Kitをインストールするときは基本的にインストールマニュアルに従うとよいです。modoは起動時に以下のフォルダを参照し、フォルダ内のKitを自動でロードする仕組みになっています。

C:\Users\ (ユーザー名) \Documents\Luxology\Content\Kits

C:\Users\ (ユーザー名) \AppData\Roaming\Luxology\Kits

C:\Program Files\Foundry\Modo\ (バージョン番号) \resrc

Content\Kits はmodoのコンテンツファイルをインストールしてる場合に作成されるフォルダなのですが、多くのKitはContentフォルダにインストールする気がします。

Kitが.zip形式の場合は、ファイルを解凍して Content\Kits フォルダにコピーすればロードされるようになります。

.lxp形式の場合は、modoを起動してウィンドウに.lxpファイルをドラッグアンドドロップします。.lxp形式はただの.zipファイルなのですが、Kitのディレクトリに自動的にファイルをコピーしてくれる便利ファイル形式です。.lxpは拡張子を.zipに変えると、圧縮・解凍ソフトを使用してファイルを直接取り出すこともできます。

.lxはバイナリ形式のプラグインファイルですが、このファイル単体で配布してるのをほぼ見かけたことがないです。多くの場合はKitフォルダを使用してmodoに読み込ませるのが一般的だと思います。

Kitは「index.cfg」内にキットが定義が書かれていて、Kitが使用するスクリプトやプラグインへ相対パスが記述されているのが一般的です。しかし絶対パスの決め打ちでパス指定されているKitもあるため、Luxology\Kits にコピーしないと動かないKitもあります。サードパーティのKitは、インストールマニュアルにしたがった方が無難です。

 

Kitの使用方法

Kitの使用方法はKitごとに異なるので、Kitのマニュアルを見ましょう。ファイルメニューに項目が追加されたり、特定のフォームにボタンが追加されたり、手動でフォームを編集する必要があったり、Kitによって動作がさまざまです。

新しいmodoでKitが動かない

余談ですが、modoを12から13にメジャーバージョンアップしたら、Kitが使えなくなることがあります。

modoのプラグインやスクリプトは後方互換性があるので、新バージョンでも基本的に動きます。しかしVrayなど一部のKitはバージョンごとに読み込みを制限しているため、新バージョンで動かなくなります。これは「index.cfg」内でバージョンを指定することで制限しています。configuration の行でバージョン番号を書き換えれば、新しいバージョンのmodoでKitを使用することができるようになります。

例えばmodo 901のみで動作する場合は以下用に記述してあります。

<configuration and="rel]900" and="rel[1000">

modo 11のみで動作する場合は以下の通り。

<configuration and="rel]1100" and="rel[1200">

modo 12のみで動作する場合は以下の通り。

<configuration and="rel]1200" and="rel[1300">

バージョンの記述方法はメジャーバージョンが見てわかる物や、ビルド番号っぽいものといくつか種類があるようです。

バージョンを制限してるのには理由がある場合があります。フォーラムを見てるとmodoの問題を避ける場合や、新しく追加された機能を使用している場合に動作するバージョンを制限することがあるみたいです。
もし開発が終了してしまってメンテナンスされていないKitが動かなくなってしまったというときは、バージョン番号を書き換えると使えるようになるかも知れません。

 

スクリプト情報 (おまけ)

スクリプト言語

modoが対応しているスクリプト言語は以下の3つです。

  • Perl スクリプト
  • Pythonスクリプト
  •  luaスクリプト

Pythonは古くからサポートしてたPython APIの他に、modo 901で追加された TD SDK というTD向けのPython APIラッパーもあります。

modoのインストールディレクトリを見ると、.pyや.plファイルが大量にあるのがわかると思います。

C:\Program Files\Foundry\Modo\13.0v1j\extra\scripts

スクリプトについては、以下のディレクトリに日本語のスクリプト ドキュメントがインストールされています。

C:\Program Files\Foundry\Modo\13.0v1j\help\Scripting_and_Commands.pdf

最新の情報はSDK Wikiにまとまっています。
http://modo.sdk.thefoundry.co.uk/wiki/Main_Page

modoのスクリプトまとめページです。
http://www.etereaestudios.com/modoshare/tips_python_modo.html

modoの開発者のリポジトリです。
https://gist.github.com/Farfarer
https://gist.github.com/mattcox

 

私はスクリプトは全く書けないので、スクリプト書ける人は凄いなと尊敬しながらフリースクリプトを使わせていただいてます。

 

参考

http://lifewithmodo.blogspot.com/2011/01/modo-501_04.html

CG News

Move Center to Selected Elements

選択した頂点、エッジ、ポリゴンの中心に「センター」を移動するスクリプト「Move Center to Selected Elements」が公開されました。
今まではスナップやマクロで作業平面の中心にセンターを移動させていましたが、このスクリプトを使えば手軽にセンター位置を設定できます。標準機能で入れて欲しいですね。
http://modogroup.jp/tipsblog/scripts/move-center-to-selected-elements/

CG News

選択中の複数アイテムに対してチャンネルリンクするスクリプト

選択中の複数アイテムに対して、チャンネルをリンクするスクリプトが公開されてました。スクリプトとかまったく書けないですが、この行数なら改造して何かに使えそうかも。。。
https://community.foundry.com/discuss/post/1152345

 

#!/usr/bin/env python

import modo

chan_out = 'visible'
chan_in = 'render'

def scene():
return modo.scene.current()

def items_selected():
return [i for i in scene().selected]

work_space = scene().groups[0]

for item in items_selected():
item.channel(chan_out) >> item.channel(chan_in)
work_space.addItems(modo.Item(item.id))

CG News

modoのランダム ワイヤーフレーム カラー スクリプト

modoのワイヤーフレーム色にランダムに色を設定するスクリプトが公開されています。バウンディングボックススレッショルドと組み合わせるとMaxっぽくて便利かもしれません。
https://community.foundry.com/discuss/post/1151471

スクリプトはファイルに保存してUIのボタンに割り当てるか、スクリプトエディターから実行することができます。

 

import modo, random

def random01():
# Convert random 0-1 into scring
return (str(random.random())+" ")

def setColor(item):
try:
# add draw package
lx.eval("!item.draw mode:add type:locator item:%s" % item.id)
# Set color to user
lx.eval("item.channel name:locator$wireOptions value:user item:%s" % item.id)
except RuntimeError:
# Item alread has package
pass
# Randomize color
color = ("{"+random01()+random01()+random01()+"}")
# Set Color
lx.eval("item.channel name:locator$wireColor value:%s item:%s" % (color, item.id))

# Get the active scene
scene = modo.Scene()
# Get selected objects of type mesh
items = scene.selectedByType(lx.symbol.sITYPE_MESH)
packAdded = False
# if selection contains meshes
if items:
for item in items:
print item
setColor(item)
else: # Otherwise Do all
for item in scene.iterItemsFast(lx.symbol.sITYPE_MESH):
setColor(item)
print item

 

 

CG News

Render Output Manager V2.0 for MODO

ファイル出力を便利にするスクリプト Render Output Manager V2.0 がリリースされました。価格はインディー版$29、スタジオ版$99。
https://gumroad.com/l/renderManager2

2018年5月20日まで40%になるクーポンコードが配布されています。
https://community.foundry.com/discuss/post/1128537

V2機能のリスト:
  • レンダー出力をタイプ別に追加、選択、削除
  • すべてのプリセットチェックボックスを選択、選択解除
  • altまたはctrlを押してチェックボックスの各グループを選択、選択解除
  • 個々の追加ボタンは、altまたはctrlを押して追加されたレイヤーのサフィックス名を「オンザフライ」で追加
  • シェーダーツリーで、すべてのレンダリング出力を選択、選択解除、削除
  • [SCENENAME]に現在のシーンの名前を付けたタグ
  • バージョンパターンと一緒に[VERSION]タグを使用可能。V ### - > V001、V002など
  • [PASS]タグ、これはアクティブパスの名前を "CAUTION"にします:これは動作しませんパスグループをレンダリングすると(レンダリング中に名前を変更できません)
  • プリマルチプライ デフォルトオプション
  • レンダーマネージャのログを保存し、現在のmodoシーンの名前を含むテキストファイルを各フォルダに保存するレンダリングに使用
  • レンダリング出力のレンダリング
  • modoの起動時に出力パターンを強制的に設定する "_ "(設定ファイルにデフォルト値を保存する)
  • アップデート モーション、Detph、AO がワンクリック
  • あなたがアップデート ボタンをクリックしたときに、Motion、Detph、AOも更新したい場合のオプション
  • 可視性向上のための新しいアイコン
  • 若干のUI改善

CG News

Python Mesh Operator for MODO

Pythonを使用してカスタムメッシュを生成するmodo用のプラグインがリリースされました。
最近のノードベースの3Dソフトには、大抵Pythonノードがある気がします。私はスクリプト書けませんが、本当は標準機能であった方がよい系の機能な気がします。
https://gumroad.com/l/pyMop

 

概要

カスタムメッシュ操作を簡単に作成することが、今までにないほど簡単です!
私は3K行以上のコードを書いているので、ユーザーは多くの信じられないことをするために平均で〜10行のコードを書くだけで済みます。または、コードを忘れてサンプルを使用してください!

このプラグインはテクニカルとアート両方のためのものです。このmeshOpのメリットはコードを知る必要はありません。ノードにプリロードされ、新しいノードが頻繁に出てくる例がたくさんあります。

  • Curve Deformer with Rail Curve
  • Replicator Merge to Mesh
  • Particles to Points (Live!)
  • Pyramid Primitive
  • Dynamic weight/rgba map
  • Flip poly
  • Falloff Weight
  • Matrix Blending
  • Simple Triangle
  • Particle Rail Curve

PyMopの他のユーザに譲渡/売却するための例をエクスポートすることができます。このプロセスは、ワンクリックでネイティブの.lpk形式を使用してサンプルをパッケージ化するために合理化されています。
これによりユーザがmodoに直接ドラッグ&ドロップしてPyMop Editorにサンプルを追加することができます。exampleフォルダにpngを追加するだけでカスタムアイコンを追加することもできます。

MODOの手続き型モデリングシステムの不足している部分を埋めるのに役立つ例を作成するので、キットはますます役立ちます。

完全なPythonコードエディタが付属しています
  • 正しい行エラーの報告
  • カスタマイズ可能な構文の強調表示色
  • 折り返し
  • スペースとタブの表示
  • コードが保存されているかどうかを示すアウトラインカラー
サポートされている追加入力
  • Other Meshes
  • Curves
  • Falloffs
  • Particles
価格
  • インディーズ:$100K未満($20 USD)
  • プロ:$100K以上($50 USD)
  • ソース:完全に文書化されたソースコード($ 300 USD)

あなたの好みに合わせて微調整したり、深く掘り下げてこのプラグインのあらゆる部分がどのように作成されたかを学んでください!

*このノードはTDSDKではなくpython apiを使用することに注意してください。しかしTDSDKの使用を試してみることを止めません。そうする前にあなたのシーンをバックアップしてください。
他のソフトウェアの開発と同様、しばらく毎回クラッシュします。誤って9の代わりに8つの値を持つ行列を設定するのと同じように。いくつかの例ではTDSDKを使用して行列を扱います。 これらはほとんどうまくいき、奨励されています。