LogiX インパルス

From Neos Wiki
Jump to navigation Jump to search
This page is a translated version of the page LogiX Impulses and the translation is 100% complete.
Other languages:
English • ‎日本語

多くのLogiXノードが世界に影響を与える可能性があります。 たとえば、Duplicate Slotは入力スロットのコピーを作成し、Set Global Transformはターゲットスロットの位置、回転、スケールを設定します。

明らかに、これらの変更は特定の順序で発生する必要があります。まだ作成していない複製の位置を設定することはできません。

ここでインパルスが登場します。インパルスは、ボタンが押された、プレーヤーがワールドに参加した、衝突が発生したなどのイベントに応答して発生します。インパルスはインパルスワイヤ(進行方向を指す白と灰色の矢印があります)に沿って流れます。インパルスを受け取るノード(パススルーノードと呼ばれる)は、インパルスがノードに到達すると実行されます。

インパルスは、たった1人のプレイヤーによって評価されます。 インパルスを"所有されていない"ことはできません。 これが、インパルスを生成する多くのノードがユーザー入力を必要とする理由です。

Flowカテゴリの多くを含む一部のノードには、複数のインパルス出力があります。これらを使用して制御フローを提供できます。-- たとえば、Ifノードはブール入力を使用して、2つのインパルス出力のどちらを使用するかを決定します。インパルスは一度に2つの方向に決して送信されないことに注意してください。常に1つの唯一のインパルスがあります。

コンテキスト

インパルスは特定のイベントに応答して生成される可能性があるため、インパルス中にのみ意味のあるデータが存在する場合があります。もし衝突が発生していなければ、何も衝突していないことになります。スロットが複製されていない場合、使用する複製はありません。

したがって、一部の値は 一時的であり、インパルス中にのみアクセスできます 直接調べると、おそらくnullまたはデフォルト値が表示されます。パススルーノードを含むプログラムをデバッグしようとしている場合は、WriteノードとWrite Refノードを使用してこれらの値を記録できます。

パススルーノードからのほとんどすべての出力は一時的です。 出力は、ノードからのインパルスに直接関連しています。彼らがいなかったら、彼らがノードにいることは意味がありません!

インパルスが終了すると、インパルスのコンテキストは消えます。重要なのは、Delayのような一部のノードは、受信したインパルスを終了し、しばらくしてからまったく新しいインパルスを発生させることです。これがDelay With Valueが存在する理由です。単一の値を保持できます。

逆に、dynamic impulsesは評価コンテキストを保持します。Dynamic Impulse Receiverを離れるインパルスは、Dynamic Impulse Triggerに入るインパルスと同じです。

破損

インパルスは瞬間的です。インパルスが終わるまで、世界は完全に凍っています。したがって、インパルスが完了するまでに異常に長い時間がかかると、それを実行している人は誰でもフリーズします。これは次の場合に発生する可能性があります...

  • Whileループの条件がTrueのままになっている
  • Forループが何度も実行されるように設定されている
  • インパルスワイヤのループが存在する
  • dynamic impulse receiverはそれ自体をトリガーします

制限時間に達すると、インパルスは強制的に停止されます。 問題のあるノードは壊れた状態になり、赤くなり、機能しなくなります 問題を修正した後、LogiXツールチップでノードをポイントし、セカンダリを押すことでノードをリセットできます。