Python ステート マシンを構築する

Python スクリプト ノードは、ステート マシンを使用して、順次実行することができます。ステート マシンは、デイジー チェーンにより接続される複数のステージ ノードで構成されます。この機能は、アプリケーション内で直接チュートリアル、デモ、ウォークスルーなどのインタラクティブなコンテンツを作成する場合に便利です。このようなノードでは、ノード エディタを使用して、関連するスクリプトの挿入、削除、実行順序の調整を簡単に行うことができます。

注: ステージ ノードを使用するには、まずプラグイン マネージャによって stage.py プラグインをロードする必要があります。

ステート マシンを構築および実行するには

  1. ウィンドウ > 設定/プリファレンス > プラグイン マネージャ(Windows > Settings/Preferences > Plug-in Manager)で、stage.py がロードされていることを確認します。
  2. ノード エディタ(Node Editor)を開きます。
  3. 2 つ のステージ ノードを作成します。
  4. stage1 の次の状態(Next State)アトリビュートを stage2 の前の状態(Previous State)アトリビュートに接続します。
  5. 各ステージのアクティブ化(On Activate)アトリビュートと非アクティブ化(On Deactivate)アトリビュートに、ステージの開始時と終了時に実行する Python コードを入力します(直接フィールドに入力するか、Python モードに設定されているスクリプト ノードを接続します)。
  6. (オプション)タイム スライダのブックマーク(Time Slider Bookmark)ノードをステージ ノードに接続すると、ステージがアクティブになったときに、自動的にブックマークがフレームに設定されます。
  7. (オプション)同じパターンに従って、stage2 の後にステージ ノードを追加します。
  8. チェーンが完成したら、次のように MEL コマンドを使用して最初から実行することができます。
    stage -e -a "stage1"

現在のステージから次のステージに進むには

  1. 次のいずれかを実行します。
    • 現在のステージの条件(Condition)アトリビュートをオンにします。
    • 現在のステージのアニメーション終了(End of Animation)アトリビュートをオンにして、シーンを再生します。
    • 現在のステージの保留(Time Delay)アトリビュートを 0 (ゼロ)以外の正の値に設定します(ステート マシンは、この設定値(秒単位)の経過後に、自動的に次のステージに進みます)。
    • 次のコマンドを実行します。
      stage("<current stage>", edit=True, next=True)