Difference between revisions of "Write (LogiX node)/ja"
(Created page with "== 使用方法 == ノード・ブラウザからスポーンされた場合、値の入力にはダミー(または未決定)の型が入っています。入力データ...") |
|||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages></languages> | <languages></languages> | ||
− | + | {{Infobox Logix Node | |
+ | | Name = Write | ||
+ | | Image =[[File: WriteValueNode`1Node.png | noframe | 128px | 'Write' LogiX node ]] | ||
+ | | Input0Type = Impulse | Input0Name = Write | ||
+ | | Input1Type = dummy | Input1Name = Value | ||
+ | | Output0Type = IValue`1 | Output0Name = Target | ||
+ | | Output1Type = Impulse | Output1Name = OnDone | ||
+ | | Output2Type = Impulse | Output2Name = OnFail | ||
+ | }} | ||
− | < | + | '''Write'''ノードは、<code>Write</code>にインパルスを入力すると、参照されている <code>Target</code> 値を入力 <code>Value</code>値で上書きします。 |
+ | |||
+ | == 使用方法 == | ||
+ | ノードブラウザから生成されたとき、<code>Value</code>入力はダミーのデータ型を持っています。これは、有効な入力が接続されたときに、入力データ型と一致するようにオーバーロードされます。入力のデータ型と、参照されている<code>Target</code>のデータ型は一致しなければなりません。 | ||
+ | |||
+ | |||
+ | <code>OnDone</code> 出力は、<code>Write</code>にインパルスを入力した後に <code>Target</code> 値が正常に上書きされたとき、または <code>Target</code> 値が、書き込もうとした変数をフックできるシステム(例えば[[Drive (LogiX node)|Drive]]node,[[ValueCopy (Component)|ValueCopy]]コンポーネントなど)によってドライブされる場合にインパルスを出力します。このインパルスは、<code>Write</code>に到達したインパルスの連鎖を継続します。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <code>OnFail</code> 出力は <code>Target</code> の値が設定できなかった場合、例えば <code>Target</code> の値が他のソースからドライブされ、書き込んだ値をフックできない場合、または有効な <code>Target</code> がない場合、インパルスを出力します。このインパルスは<code>Write</code>に到達したインパルスの連鎖を継続します。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | WriteノードでVariableノード、Componentフィールドなどの値を変更すると、データモデルの変更が行われ、セッション内の他のユーザーと同期されます。変更は更新の最後にのみ同期されるため、1 つのクライアントが同じターゲットに複数の書き込みを行った場合、最終的な値のみが送信されることに注意してください。さらに、値が更新の開始時に持っていた値にリセットされた場合、変更はブロードキャストされません。この同期処理のため、絶対に必要な場合を除き、非常に定期的に (たとえばアップデートのたびに) 値を書き込むことは望ましくありません。不必要なネットワークトラフィックを避けるため、連続的に変化する値には代わりに[[drive/ja|ドライブ]]システムを使用する方が一般的によいでしょう。[https://github.com/Neos-Metaverse/NeosPublic/issues/2590#issuecomment-874788205 ソース]. | |
+ | |||
+ | 一般的に、Write/Write Latch ノードでは、コンポーネントまたはスロットのフィールドは値型(bools、ints、string、float など)のみ書き込み可能ですが、参照型フィールド(スロット、ユーザー、IAssetProvider<AudioClip> など)は[[Write_Ref_(LogiX_node)/ja|Write Ref]]が必要です。しかし、参照型 LogiX 変数ノードに Write/Write Latch ノードを使用して書き込むことは可能ですが、Write Ref では不可能です。また、入力の <code>SetValue</code> と <code>ResetValue</code> が参照データ型ではなく RefID の場合、Write/Write Latch を使用して参照型フィールドに書き込むことが可能です - しかし、生の RefID を扱うことは一般的にお勧めできません。 | ||
− | == | + | == 例 == |
[[File:LogiX.Actions.Write Example1.jpg|600px|Example of Write]] | [[File:LogiX.Actions.Write Example1.jpg|600px|Example of Write]] | ||
− | == | + | == ノードメニュー == |
[[Category:LogiX{{#translation:}}|Write]] | [[Category:LogiX{{#translation:}}|Write]] | ||
− | [[Category:LogiX: Actions{{#translation:}}|Write]] | + | [[Category:LogiX:Actions{{#translation:}}|Write]] |
− | {{ | + | {{NodeMenu-Actions{{#translation:}}}} |
Latest revision as of 08:16, 20 February 2022
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 |