Write (LogiXノード)
Write | ||
---|---|---|
![]() | ||
Inputs | ||
Impulse | Write | |
dummy | Value | |
Outputs | ||
IValue`1 | Target | |
Impulse | OnDone | |
Impulse | OnFail |
Writeノードは、Write
にインパルスを入力すると、参照されている Target
値を入力 Value
値で上書きします。
使用方法
ノードブラウザから生成されたとき、Value
入力はダミーのデータ型を持っています。これは、有効な入力が接続されたときに、入力データ型と一致するようにオーバーロードされます。入力のデータ型と、参照されているTarget
のデータ型は一致しなければなりません。
OnDone
出力は、Write
にインパルスを入力した後に Target
値が正常に上書きされたとき、または Target
値が、書き込もうとした変数をフックできるシステム(例えばDrivenode,ValueCopyコンポーネントなど)によってドライブされる場合にインパルスを出力します。このインパルスは、Write
に到達したインパルスの連鎖を継続します。
OnFail
出力は Target
の値が設定できなかった場合、例えば Target
の値が他のソースからドライブされ、書き込んだ値をフックできない場合、または有効な Target
がない場合、インパルスを出力します。このインパルスはWrite
に到達したインパルスの連鎖を継続します。
WriteノードでVariableノード、Componentフィールドなどの値を変更すると、データモデルの変更が行われ、セッション内の他のユーザーと同期されます。変更は更新の最後にのみ同期されるため、1 つのクライアントが同じターゲットに複数の書き込みを行った場合、最終的な値のみが送信されることに注意してください。さらに、値が更新の開始時に持っていた値にリセットされた場合、変更はブロードキャストされません。この同期処理のため、絶対に必要な場合を除き、非常に定期的に (たとえばアップデートのたびに) 値を書き込むことは望ましくありません。不必要なネットワークトラフィックを避けるため、連続的に変化する値には代わりにドライブシステムを使用する方が一般的によいでしょう。ソース.
一般的に、Write/Write Latch ノードでは、コンポーネントまたはスロットのフィールドは値型(bools、ints、string、float など)のみ書き込み可能ですが、参照型フィールド(スロット、ユーザー、IAssetProvider<AudioClip> など)はWrite Refが必要です。しかし、参照型 LogiX 変数ノードに Write/Write Latch ノードを使用して書き込むことは可能ですが、Write Ref では不可能です。また、入力の SetValue
と ResetValue
が参照データ型ではなく RefID の場合、Write/Write Latch を使用して参照型フィールドに書き込むことが可能です - しかし、生の RefID を扱うことは一般的にお勧めできません。
例
ノードメニュー
Actions | ||||||
---|---|---|---|---|---|---|
Back | -- | ++ | Drive | Drive Playback | Tween | Write |
Write Latch | Write Ref | Write Ref Latch |