Difference between revisions of "Write Latch (LogiX node)/ko"
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages></languages> | <languages></languages> | ||
− | '' | + | {{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 | ||
+ | }} | ||
− | < | + | 이 노드는 <code>Set</code> 또는 <code>Reset</code> 중 Impulse가 들어오는 곳에 따라 입력측의 <code>SetValue</code> 또는 <code>ResetValue</code>의 값을 출력인 <code>Target</code>로 전달합니다. |
+ | |||
+ | == 사용방법 == | ||
+ | 이 노드는 처음 꺼내면, 입력측 <code>Value</code>는 dummy 자료형(자료형이 정해지지 않은 상태를 의미)을 가집니다. 입력에 사용 가능한 데이터를 연결하면 자료형이 결정됩니다. 입력 자료형이 경정되면 출력측 <code>Target</code>의 자료형도 동일하게 지정됩니다. | ||
+ | |||
+ | |||
+ | <code>Set</code>에 impulse가 들어오면, <code>OnSet</code>에 연결된 입력값을 <code>Target</code>에 쓰고 <code>OnSet</code>으로 impulse를 전송합니다. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <code>Reset</code>에 impulse가 들어오면, <code>OnReset</code>에 연결된 입력값을 <code>Target</code>에 쓰고 <code>OnReset</code>으로 impulse를 전송합니다. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 이 노드는 | + | 이 노드는 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. | |
== 예제 == | == 예제 == | ||
− | [[File:LogiX.Actions.WriteLatch.Example.jpg|600px|Example of Write | + | 아래의 두 이미지는 동일한 기능을 수행하지만 로직스의 구성이 다른 예를 보여 줍니다.[[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) == | == 노드 메뉴(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:}}}} |
Latest revision as of 03:26, 4 January 2022
Write Latch | ||
---|---|---|
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개를 이용하여 유사하게 만들어진 것입니다. 입력과 출력이 정확히 일치하지 않다는 점은 인지하고 봐 주시면 됩니다.
노드 메뉴(Node Menu)
Actions | ||||||
---|---|---|---|---|---|---|
Back | -- | ++ | Drive | Drive Playback | Tween | Write |
Write Latch | Write Ref | Write Ref Latch |