Difference between revisions of "Things to Avoid/ko"

From Neos Wiki
Jump to navigation Jump to search
(Created page with "다른 월드를 방문하면, 월드의 손님으로 입장하기에 해당 월드에서 장난감이나 도구, 아바타 등을 만들 때 월드를 존중해 주시기 바...")
(Created page with "피해야 할 것: * 총이나 로켓 또는 기타 아이템에서 유발되는 아이템들을 root 슬롯에 생성 * 모든 월드가 동일한 슬롯 구조를 가졌다...")
Line 41: Line 41:
 
다른 월드를 방문하면, 월드의 손님으로 입장하기에 해당 월드에서 장난감이나 도구, 아바타 등을 만들 때 월드를 존중해 주시기 바랍니다.
 
다른 월드를 방문하면, 월드의 손님으로 입장하기에 해당 월드에서 장난감이나 도구, 아바타 등을 만들 때 월드를 존중해 주시기 바랍니다.
  
Things to avoid:
+
피해야 할 것:
* Placing items in the root from Guns/Rockets and other items.
+
* 총이나 로켓 또는 기타 아이템에서 유발되는 아이템들을 root 슬롯에 생성
* Assuming the setup of the world is standard in terms of hierarchy for things like spawn or lights etc.
+
* 모든 월드가 동일한 슬롯 구조를 가졌다고 상정
* Custom Culling systems or locomotion modules
+
* 커스텀 컬링 및 로코모션 모듈 사용
* Avoid Calling Dynamic Impulses to the Root Slot
+
* Root Slot을 Dynamic Impulse로 호출
* Avoid placing Dynamic Variables in the Root Slot or World Variable Space
+
* 월드 변수 영역 또는 Root Slot에 동적변수를 할당
* Avoid leaving items in the world when you leave. Clean up after yourself.
+
* 월드를 떠날때, 널부러놓은 아이템 삭제
  
 
Solutions:
 
Solutions:

Revision as of 05:08, 6 July 2021

Other languages:
Deutsch • ‎English • ‎日本語 • ‎한국어

네오스는 강력한 기능과 옵션등을 갖춘 환상적인 엔진입니다.하지만, 관행처럼 사용되는 몇가지 방식은 훗날 동작하지 않거나 문제를 일으킬 수 있습니다. 이 문서에서는 피해야 하거나 하면 안되는 것들에대한 것과 기술적인 이유 및 그 대안들을 제시하고 있습니다.

창작물을 개선하거나 또는 다른 사용자가 의도치 않은 문제를 발생 시키는 것을 막기 위해서 라도, 이 문서를 한번 쯤 읽어보시기 바랍니다.

개요

무언가 문제가 생겼거나, 원하지 않은 결과가 나온다면 아이디어가 좋든 안좋든 커뮤니티나 팀원에게 문의해 보세요. 해결되지 않거나 의견차가 존재하는 경우 이슈트래커에서 새 이슈를 생성하시기 바랍니다.

슬롯 이름과 구조

로직스나 구성요소를 통한 작업시, 외부 요소(아이템, 쉐이프 등)의 이름이나 구조적 형식을 이용한 참조를 피하세요. 슬롯의 이름(Slot.name)과 구조는 임의로 바뀔 수 있으며, 동일한 이름이나 구조를 쓰는 전혀 상관없는 슬롯을 참조할 수 도 있습니다.

아래에서 관련 예제와 문제 완화를 위한 방법과 대안을 정리해 두었습니다.

User Root의 이름 또는 구조

네오스가 기능 업데이트를 하면서 User Root에 속한 아이템을 추가하거나 삭제할 수 있습니다. 이름이나 구조에 의존하면, 문제가 발생할 수 있습니다. 예를 들자면, 최근 추가된 "Freeform Camera"를 처리하기 위해 새로운 슬롯이 추가되었습니다. 공교롭게도 사용자가 업데이트 이전에 수동으로 추가한 이름과 동일하다면, 연계된 기능에 문제를 일으킬것입니다.

피해야 할 방법:

  • Find Child By Name
  • Get Parent 또는 Get Child 노드등을 반복적으로 사용하여 슬롯 구조를 탐색

해결방법:

아바타의 이름이나 구조

아바타는 매우 복잡한 아이템 입니다.

피해야 할 것:

  • 아바타의 파츠를 탐색하기 위해 Find Child By Name 노드를 사용
  • 아바타 파츠 탐색을 위해 Get Parent 및 Get Child 노드를 반복적으로 사용
  • 아바타의 구조를 가정하여 코드를 구성
    • 예를 들면, 머리와 손만 있는 아바타는 "Avatar Root"가 없습니다.

해결방법:

If you’d like to routinely find or acquire a slot in the User Root, consider requesting a new node or feature for it on our Issue Tracker.

다른 월드의 이름이나 구조

다른 월드를 방문하면, 월드의 손님으로 입장하기에 해당 월드에서 장난감이나 도구, 아바타 등을 만들 때 월드를 존중해 주시기 바랍니다.

피해야 할 것:

  • 총이나 로켓 또는 기타 아이템에서 유발되는 아이템들을 root 슬롯에 생성
  • 모든 월드가 동일한 슬롯 구조를 가졌다고 상정
  • 커스텀 컬링 및 로코모션 모듈 사용
  • Root Slot을 Dynamic Impulse로 호출
  • 월드 변수 영역 또는 Root Slot에 동적변수를 할당
  • 월드를 떠날때, 널부러놓은 아이템 삭제

Solutions:

  • When using the Set Parent node with a Root Slot Parent, Instead Supply a “Local User Space” node this will function identically in most cases but will keep items parented correctly to any world management systems rather than littering the root.
  • Ask the world owner before spawning complex gadgets or modifying the world root.

Forcing Auto-Disabled Components to be Enabled

Occasionally when using a component you may find that it disables itself. This usually means that something in the component setup or the slot that it was added to is problematic and would cause the component to fail to function.

  • Do not drive the enabled checkbox/field to true in these cases
  • Consider reporting a bug on our Issue Tracker. These situations may be a problem that can be resolved.
  • Sometimes, these are actual miss-use of a component and may not be fixed.
  • Properties within components that start with _ may be changed or removed at anytime and should be avoided where possible.

Reference IDs / "Ref Hacking"

When building in Neos, it may be desirable to use reference ids to get around certain restrictions or feature gaps that exist within Neos. When doing this keep the following in mind:

  • Reference IDs may change at any time.
  • Certain uses of References may be considered a security issue and be fixed without much notice.

Generally, you should use dedicated nodes and concepts instead such as:

  • The Allocating User Node
  • Typed References and Casts

If you find yourself continually needing to use a certain reference id or path consider making a feature request on our Issue Tracker.

Using the ToString Node on Complex Data Types

When using the ToString node on non-primitive data types(e.g. NOT float,int,double etc), do not rely on the output of the node. It may change or be updated at any time. This includes things such as Data Types, Users, Slots etc.

Comparing strings for these items is brittle and may change with Neos Updates.

Instead:

If you find yourself continually needing to do this, consider making a feature request on our Issue Tracker.