ICE グラフをデバッグする

 
 
 

LogValuesNode という名前の特殊なノードを使用して、1 つのポートから別のポートに値を渡すことで、Script Editor のヒストリペインにログを記録できます。 たとえば、[Turbulize Around Value]コンパウンドが特定の状況下で[Gravity Force]コンパウンドへの入力であると想定します。

[Gravity Force]コンパウンドに設定されている値を出力する場合は、LogValuesNode を使用してこれらの値を渡すことができます。

ログの記録対象と方法は、いくつかの方法でカスタマイズできます。

記録するエレメントの範囲を指定する

ログを記録する値をエレメントのサブセットに制限することができます。 たとえば、すべてのエレメントの値が特定の状況下で記録されるように設定した場合、放出されたパーティクルが多くなればなるほど、Script Editor へのログの記録が停止してしまう可能性が高まります。

ログを記録するエレメントの範囲を指定するには

  1. [allelements](すべてのエレメント)ポートを false に設定します。

  2. 以下の値を設定して範囲を指定します。

    • [firstelement](最初のエレメント)ポートの範囲の最初のエレメントのインデックス インデックスは 0 ベースです。また、無効な値(0 より小さい値、または[lastelement]値よりも大きい値)は最も近い有効な値にクランプされます。

    • [lastelement](最後のエレメント)ポートの範囲の最後のエレメントのインデックス インデックスは 0 ベースです。また、無効な値([firstelement]値よりも小さく、その時間で最後に使用可能なエレメントよりも大きい値)は最も近い有効な値にクランプされます。

    ヒント:

    両方の値に非常に高い値(5000 など)を指定して、シミュレーションのすべてのポイントで最後のエレメントの範囲を設定できます。 この場合、フレーム 2 に 5 エレメントあり、フレーム 60 に 45 エレメントある場合、フレーム 2 のエレメント 5 の値のログは記録され、フレーム 60 のエレメント 45 の値のログも記録されます。

複数の LogValuesNodes を区別する

複数の LogValuesNode が同じグラフで接続されている場合、特殊なラベルを使用して、どのノードによってヒストリ ペインにメッセージが書き込まれたかを特定できます。

  • debugprinttag に特定できるラベルを書き込みます。