/
Pythonプラグインシステム
Pythonプラグインシステム
Atoms Crowd 2.0.0から、さらにAtoms Crowdをパイプラインに統合するためのpythonプラグインシステムを利用することができます。
pythonプラグインは__init__.pyファイルとatomsinit.pyファイルを含む、ディスク上のフォルダとして定義されます。もちろん、そのフォルダの下に他のファイルを配置することもできます。
ユーザーのpythonプラグインをAtomsにロードするために、ユーザーはATOMS_PYTHON_PLUGINS_PATH環境変数を定義する必要があります。
このenv変数は、ユーザーのpythonプラグインの親フォルダを指す必要があります。このように、ユーザーは同じフォルダの下にいくつかのpythonプラグインを持つことができます。 (ATOMS_PYTHON_PLUGINS_PATH C:\ projects \ atomscrowd \ pythonplugin)
atomsinit.py
atomsinit.pyファイルは、Atomsによって、いくつかの段階で呼び出されます。 Atomsは、以下の関数を検索して、それらが定義されている場合は、それらを呼び出すことができます。
- def load():Atomsが初期化された場合に、呼び出されます。
- def unload():Atomsが単一化された場合に、呼び出されます。
- def loadScene():Atomsを使用した新しいシーンがロードされた場合に、呼び出されます。
- def unloadScene():Atomsを使用しているシーンがアンロードされた場合に、呼び出されます。
Example
次の例は、新しいVariation フィルタを作成して登録する方法を説明しています。
import Atoms import Atoms.ui.constants from Atoms.singletons import get_atoms_variation_filters_singleton import random ''' This is an example how a filter can edit the variation table at runtime ''' class VariationFilter: def filter(self, variations, atomsNode, origin_data): atv = variations.getAgentTypeVariation("atomsRobot") if atv: for mat in atv.getMaterialNames(): material = atv.getMaterial(mat) if material: material.setDiffuseColorBlue(random.randint(0,255)) material.setDiffuseColorGreen(random.randint(0,255)) material.setDiffuseColorRed(random.randint(0,255)) #print variations.toString(True) print "My variation filter" return variations def load(): print "Hello!!!" filters = get_atoms_variation_filters_singleton() filters.append(VariationFilter()) def unload(): print "Bye bye" def loadScene(): print "Scene Loaded" def unloadScene(): print "Scene unloaded"
, multiple selections available,
Related content
WindowsにAtomsエージェントをインストールする
WindowsにAtomsエージェントをインストールする
More like this
ブレンドシェイプを追加する
ブレンドシェイプを追加する
More like this
LinuxにAtomsエージェントをインストールする
LinuxにAtomsエージェントをインストールする
More like this
イントロダクション
イントロダクション
More like this
バリエーションの設定
バリエーションの設定
More like this
ライセンスサーバーのインストール
ライセンスサーバーのインストール
More like this
Copyright © 2017, Toolchefs LTD.