Write Ref (LogiXノード)

From Neos Wiki
Jump to navigation Jump to search
This page is a translated version of the page Write Ref (LogiX node) and the translation is 100% complete.
Other languages:
English • ‎日本語 • ‎한국어
Write Ref
'Write Ref' LogiX node
Inputs
  Impulse Write
  Slot Target
Outputs
  SyncRef`1 Reference
  Impulse OnDone
  Impulse OnFail

Write Refノードは、Writeにインパルスを入力すると、参照されたTargetReferenceを上書きします。

使用方法

ノードブラウザから生成されたとき、Target入力は一般的なIWorldElementデータ型を持っています。Targetに入力を接続する前に、まずReference出力をターゲットフィールドに接続し、必要なデータ型にノードを上書きすることが推奨されます。これは、どのような参照型もIWorldElementにキャストできるためで、それは一般的には意図したターゲットフィールドのデータ型ではありません。


OnDone出力は、Writeにインパルスが入力された後にReferenceターゲット値が正常に上書きされた場合、またはReferenceターゲット値が、書き込もうとした変数をフックできるシステム(例えばReferenceCopyコンポーネント) によってドライブされていた場合にインパルスを出力します。このインパルスはWriteに到達したインパルスの連鎖を継続させます。


OnFail出力は、Referenceターゲット値が設定できなかった場合、例えば、Referenceターゲット値が書き込まれた値のフックを許さない別のソースからドライブされている場合、または有効なReferenceターゲットが存在しない場合に、インパルスを出力します。このインパルスはWriteに到達したインパルスの連鎖を継続します。


Write RefノードでComponentフィールドの値などを変更すると、データモデルが変更され、セッション内の他のユーザーにも同期されます。変更は更新の最後にのみ同期されるため、1 つのクライアントで同じターゲットに対して複数の書き込みが行われた場合、最終的な値のみが送信されることに注意してください。さらに、値が更新の開始時に持っていた値にリセットされた場合、変更はブロードキャストされません。この同期処理により、不要なネットワークトラフィックを避けるため、絶対に必要な場合を除き、ターゲットへの書き込みを非常に定期的に(例:アップデートのたびに)行うことは望ましくありません。ソースを参照してください。

一般的に、参照型であるコンポーネントやスロットフィールド(例:スロット、ユーザー、IAssetProvider<AudioClip>など)には、Write Refを使って書き込むべきです。しかし、参照型 LogiX 変数ノードに Write Ref ノードを使用して書き込むことは「できません」が、 Write/Write Latchを使って書き込むことは「できます」。入力が参照データ型ではなく RefID である場合、Write/Write Latch を使用して参照型フィールドに書き込むことも可能です。しかし、一般的に生のRefIDで作業することは推奨されません。正しいデータ型でWrite Refを使用する方がよいでしょう。

Examples

WriteRef node example

ノードメニュー

Actions
Back -- ++ Drive Drive Playback Tween Write
Write Latch Write Ref Write Ref Latch
References
Back -> Allocating User RefID Write Ref