« グループ内に指定した個数分のインスタンスオブジェクトを作成するXPresso | トップページ | C.O.F.F.E.E.ノードの出力端子から出力するタイミングは? »

1つのXPresso内の実行順は?

以前から少し気になっていたのですが、1つのXPressoに複数の処理を組み込んだとき、実行される順番はどうなんだろう。

例えば、「位置Aを処理」し「位置Aと位置Bを比較」して「位置Bを処理」させたい場合。
XPresso編集ウィンドウの左から実行されるのだろうか?上からなのか、左上から?
XPresso編集ウィンドウ内での位置が適切でないと処理順が逆になってしまうのだろうか?

今回はXPresso編集ウィンドウとコンソールのみの確認作業です。

適当にオブジェクトを追加しXPressoタグを取り付けXPresso編集ウィンドウを開きます。
それと、コンソールも開きます。

Orderxpressoprocessing_01

処理の順番を確認するために、数個のC.O.F.F.E.E.ノードを使ってコンソールに処理の順番を表示させます。

Orderxpressoprocessing_02 Orderxpressoprocessing_03

C.O.F.F.E.E.ノードを追加して、入力端子/出力端子を削除し名前をわかり易く「処理.1」にします。
コンソールに「処理 1」を表示するコードを入力します。
結果は確認するまでもないのですが、念のため。

Orderxpressoprocessing_04

知っていると思いますが念のため、XPressoを実行させるには、XPresso編集ウィンドウの「再計算」メニューの「XPressoを実行」を実行してください。
でも画面のどこかをクリック(C4Dイベント発生)してもXPressoは実行しますが…

これを複数個複製して、名前とコードを修正します。

Orderxpressoprocessing_05 Orderxpressoprocessing_06

結果の順番が予想していたものと違うので理解に苦しみますが…
上からとか、左からや左上からという位置関係で処理の順番が変わるわけではないようです。
処理1を複製して処理2とし、処理2を複製して処理3としました。
追加された新しい順番なんだろうか?
ですが、位置を変えて結果を見てみよう。

Orderxpressoprocessing_07 Orderxpressoprocessing_06

結果は、変わらず。

Orderxpressoprocessing_08 Orderxpressoprocessing_06

この結果も変わらず。

ならば、追加された新しい順というなら、処理1をカット&ペーストして処理1を一番新しい追加にしてみたら?

Orderxpressoprocessing_09 Orderxpressoprocessing_06

結果変わらず…新しい順番ではないのか?

カット&ペーストが悪いのか?
ならば処理1を削除して、処理3を複製して処理1へ変更。

Orderxpressoprocessing_10 Orderxpressoprocessing_11

やっと結果が変わった。

こんな状態だと、XPresso内の順番を制御するのは面倒だね。

XPresso編集ウィンドウのメニューに何か無いだろうか…
無いみたいだね…

Orderxpressoprocessing_12

結局、複数の処理の順番を制御するならXPressoの処理を複数個に分けてタグの順番で制御するのがベストかな…

|

« グループ内に指定した個数分のインスタンスオブジェクトを作成するXPresso | トップページ | C.O.F.F.E.E.ノードの出力端子から出力するタイミングは? »