Difference between revisions of "Write Latch (LogiX node)/ko"

From Neos Wiki
Jump to navigation Jump to search
(Created page with "== 입력인자 & 반환값 == {| class="wikitable" |+입력인자(Input parameters) |- | 자료형 대표색 | 인자명 | 자료형 |- | style="background-color:{{Impulse-co...")
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<languages></languages>
 
<languages></languages>
Set에 Impulse가 입력되면 SetValue의 값을 출력의 Target에 보내고, OnSet에 Impulse를 바이패스합니다. Reset에 Impulse를 보내는 경우에는 ResetValue의 입력값을 Target에 보내고, OnReset에 Impulse를 바이패스하지요.
+
{{Infobox Logix Node
 +
| Name = Write Latch
 +
| Image =[[File: WriteLatch`1Node.png | noframe | 128px | 'Write Latch' LogiX node ]]
 +
| Input0Type = Impulse | Input0Name = Set
 +
| Input1Type = Impulse | Input1Name = Reset
 +
| Input2Type = dummy | Input2Name = SetValue
 +
| Input3Type = dummy | Input3Name = ResetValue
 +
| Output0Type = IValue`1 | Output0Name = Target
 +
| Output1Type = Impulse | Output1Name = OnSet
 +
| Output2Type = Impulse | Output2Name = OnReset
 +
}}
  
<!--[[File:|border|256px|right]]-->
+
이 노드는 <code>Set</code> 또는 <code>Reset</code> 중 Impulse가 들어오는 곳에 따라 입력측의 <code>SetValue</code> 또는 <code>ResetValue</code>의 값을 출력인 <code>Target</code>로 전달합니다.
  
== 입력인자 & 반환값 ==
+
== 사용방법 ==
{| class="wikitable"
+
이 노드는 처음 꺼내면, 입력측 <code>Value</code>는 dummy 자료형(자료형이 정해지지 않은 상태를 의미)을 가집니다. 입력에 사용 가능한 데이터를 연결하면 자료형이 결정됩니다. 입력 자료형이 경정되면 출력측 <code>Target</code>의 자료형도 동일하게 지정됩니다.
|+입력인자(Input parameters)
 
|-
 
| 자료형 대표색
 
| 인자명
 
| 자료형
 
|-
 
| style="background-color:{{Impulse-color}}" |
 
| Set
 
| [[:LogiX:Impulses|Impulse]]
 
|-
 
| style="background-color:{{Impulse-color}}" |
 
| Reset
 
| [[:LogiX:Impulses|Impulse]]
 
|-
 
| style="background-color:{{Dummy-color}}" |
 
| SetValue
 
| [[:Category:Types:Dummy|(dummy)]]
 
|-
 
| style="background-color:{{Dummy-color}}" |
 
| ResetValue
 
| [[:Category:Types:Dummy|(dummy)]]
 
|}
 
  
{| class="wikitable"
 
|+Outputs
 
|-
 
| Color
 
| Label
 
| Type
 
|-
 
| style="background-color:{{IValue-color}}" |
 
| Target
 
| [[:Category:Types:IValue`1|IValue<nowiki><T></nowiki>]]
 
|-
 
| style="background-color:{{Impulse-color}}" |
 
| OnSet
 
| [[:LogiX:Impulses|Impulse]]
 
|-
 
| style="background-color:{{Impulse-color}}" |
 
| OnReset
 
| [[:LogiX:Impulses|Impulse]]
 
|}
 
  
== Usage ==
+
<code>Set</code>에 impulse가 들어오면, <code>OnSet</code>에 연결된 입력값을 <code>Target</code>에 쓰고 <code>OnSet</code>으로 impulse를 전송합니다.
When spawned from the node browser the Set/ResetValue input has a dummy (or undetermined) type - this will change to match the input data type when a valid input is connected. The SetValue and ResetValue input type, as well as the referenced Target, must match.
 
  
Writing a value with the Write Latch node synchronizes the value across all users in a world. Hence each time this node operates some information must be passed over the network between users. Typically this is negligible (unless writing absolutely huge strings). However, if a large number of writes are occurring it can incur significant network load which may result in lag. If a LogiX setup requires a value to be changing very rapidly and/or continuously, consider driving it directly rather than writing every new value.
 
  
== Examples ==
+
<code>Reset</code>에 impulse가 들어오면, <code>OnReset</code>에 연결된 입력값을 <code>Target</code>에 쓰고 <code>OnReset</code>으로 impulse를 전송합니다.
  
  
== Node Menu ==
+
이 노드는 Variable 노드, 구성요소의 필드등의 값을 변경합니다. 이렇게 값이 변경되면 세션내 다른 사용자들에게 변경된 정보가 동기화 됩니다. 값의 변경 정보가 동기화 되는것은 매 업데이트시 이루어지므로, 업데이트 주기가 오기 전에 값이 여러번 변경될 경우 마지막 값만 적용되어 동기화됩니다. 부가적으로, 업데이트 주기가 오기 전 값이 여러번 변경되더라도 마지막으로 동기화된 값과 업데이트 직전 동기화 대기중인 값이 같을 경우 이 값은 동기화되지 않습니다.(ex. 1(직전 동기화된 값) -> 2(업데이트 주기가 오기전 변경된 값) -> 3(업데이트 주기가 오기전 변경된 값) -> 1(동기화 대기상태인 값)인 경우, 결국 동일한 값이므로 동기화 절차를 수행하지 않습니다). 이런 동기화 절차를 수행하므로 매 업데이트마다 값을 계속 변경하는 것은 불필요한 트래픽을 유발하므로, 특정한 규칙성을 가진 값의 변경은 '''[[drive|드라이브]]''' 노드들을 이용하는것을 추천합니다. '''[https://github.com/Neos-Metaverse/NeosPublic/issues/2590#issuecomment-874788205 참고정보].'''
 +
 
 +
Generally, with a Write/Write Latch node, one can only write to component or slot fields which are value-typed (e.g. bools, ints, strings, floats), whereas reference-typed fields (e.g. slot, user, IAssetProvider<AudioClip> etc.) require [[Write Ref (LogiX node)|Write Ref]]. However, it ''is'' possible to write to reference-typed LogiX variable nodes using a Write/Write Latch node where it ''isn't'' possible to do so with Write Ref. It is also possible to write to reference-typed fields using Write/Write Latch if the input <code>SetValue</code> and <code>ResetValue</code> are RefIDs, rather than reference datatypes - it is generally not recommended to work with raw RefIDs though.
 +
 
 +
== 예제 ==
 +
아래의 두 이미지는 동일한 기능을 수행하지만 로직스의 구성이 다른 예를 보여 줍니다.[[Write (LogiX node)|Write]] 노드 2개를 이용하여 유사하게 만들어진 것입니다. 입력과 출력이 정확히 일치하지 않다는 점은 인지하고 봐 주시면 됩니다.
 +
 
 +
[[File:LogiX.Actions.WriteLatch.Example.jpg|600px|Example usage Write Latch]]
 +
 
 +
[[File:LogiX.Actions.Write.imp_WriteLatch.jpg|600px|Comparable usage of two Write nodes]]
 +
 
 +
== 노드 메뉴(Node Menu) ==
  
 
[[Category:LogiX{{#translation:}}|Write Latch]]
 
[[Category:LogiX{{#translation:}}|Write Latch]]
[[Category:LogiX: Actions{{#translation:}}|Write Latch]]
+
[[Category:LogiX:Actions{{#translation:}}|Write Latch]]
{{:NodeMenu-Actions{{#translation:}}}}
+
{{NodeMenu-Actions{{#translation:}}}}

Latest revision as of 03:26, 4 January 2022

Other languages:
English • ‎日本語 • ‎한국어
Write Latch
'Write Latch' LogiX node
Inputs
  Impulse Set
  Impulse Reset
  dummy SetValue
  dummy ResetValue
Outputs
  IValue`1 Target
  Impulse OnSet
  Impulse OnReset

이 노드는 Set 또는 Reset 중 Impulse가 들어오는 곳에 따라 입력측의 SetValue 또는 ResetValue의 값을 출력인 Target로 전달합니다.

사용방법

이 노드는 처음 꺼내면, 입력측 Value는 dummy 자료형(자료형이 정해지지 않은 상태를 의미)을 가집니다. 입력에 사용 가능한 데이터를 연결하면 자료형이 결정됩니다. 입력 자료형이 경정되면 출력측 Target의 자료형도 동일하게 지정됩니다.


Set에 impulse가 들어오면, OnSet에 연결된 입력값을 Target에 쓰고 OnSet으로 impulse를 전송합니다.


Reset에 impulse가 들어오면, OnReset에 연결된 입력값을 Target에 쓰고 OnReset으로 impulse를 전송합니다.


이 노드는 Variable 노드, 구성요소의 필드등의 값을 변경합니다. 이렇게 값이 변경되면 세션내 다른 사용자들에게 변경된 정보가 동기화 됩니다. 값의 변경 정보가 동기화 되는것은 매 업데이트시 이루어지므로, 업데이트 주기가 오기 전에 값이 여러번 변경될 경우 마지막 값만 적용되어 동기화됩니다. 부가적으로, 업데이트 주기가 오기 전 값이 여러번 변경되더라도 마지막으로 동기화된 값과 업데이트 직전 동기화 대기중인 값이 같을 경우 이 값은 동기화되지 않습니다.(ex. 1(직전 동기화된 값) -> 2(업데이트 주기가 오기전 변경된 값) -> 3(업데이트 주기가 오기전 변경된 값) -> 1(동기화 대기상태인 값)인 경우, 결국 동일한 값이므로 동기화 절차를 수행하지 않습니다). 이런 동기화 절차를 수행하므로 매 업데이트마다 값을 계속 변경하는 것은 불필요한 트래픽을 유발하므로, 특정한 규칙성을 가진 값의 변경은 드라이브 노드들을 이용하는것을 추천합니다. 참고정보.

Generally, with a Write/Write Latch node, one can only write to component or slot fields which are value-typed (e.g. bools, ints, strings, floats), whereas reference-typed fields (e.g. slot, user, IAssetProvider<AudioClip> etc.) require Write Ref. However, it is possible to write to reference-typed LogiX variable nodes using a Write/Write Latch node where it isn't possible to do so with Write Ref. It is also possible to write to reference-typed fields using Write/Write Latch if the input SetValue and ResetValue are RefIDs, rather than reference datatypes - it is generally not recommended to work with raw RefIDs though.

예제

아래의 두 이미지는 동일한 기능을 수행하지만 로직스의 구성이 다른 예를 보여 줍니다.Write 노드 2개를 이용하여 유사하게 만들어진 것입니다. 입력과 출력이 정확히 일치하지 않다는 점은 인지하고 봐 주시면 됩니다.

Example usage Write Latch

Comparable usage of two Write nodes

노드 메뉴(Node Menu)

Actions
Back -- ++ Drive Drive Playback Tween Write
Write Latch Write Ref Write Ref Latch