구성요소의 복합자료형

From Neos Wiki
Jump to navigation Jump to search
This page is a translated version of the page Complex Types in Components and the translation is 81% complete.
Outdated translations are marked like this.
Other languages:
English • ‎日本語 • ‎한국어

몇몇 구성요소는 명확한 자료형을 요구하는 경우가 있습니다. 구성요소명 뒤에 <T> 라는 접미사가 붙은 것들이지요. e.g. ValueField<T>.

자료형을 목록에서 선택

해당 구성요소를 지정하면 추가로 사용할 자료형에 대해 물어봅니다. 대부분의 경우 아래의 이미지에 나온것처럼 나타날 것입니다. 이는 통상적으로 사용되는 자료형의 목록만 보여줍니다.:

SelectGenericType.jpg

자료형을 직접 지정하기

만약, 필요한 자료형이 없는 경우 자료형을 직접 입력할 수 있습니다. 자료형명은 아래 이미지에 나와있듯 리스트 상단의 입력필드를 통해 지정이 가능합니다.:

TypeType.jpg

간단하게 사용 가능한 자료형은 아래와 같습니다.:

  • Slot
  • User

위의 이미지 처럼 Invalid Type이라는 문구가 표시되면, 입력한 자료형을 지원하지 않거나 오타로 입력했을 수 있습니다. 다시한번 확인 해 주세요.

TypeSlot.jpg

복합 자료형 지정하기

때때로, 구성요소 내부에서 자료의 유형을 선별 사용하는 경우가 있습니다. 이 경우, 입력되는 자료형이 다른 자료형을 포함하는 구조를 가집니다. 이들은 "제네릭" 타입의 자료형을 가지며, 이름은 좀 특별한 모양을 가집니다.

이름뒤에 Grave 또는 Backtick이라고 불리는 `(키보드상 ~ 키) 기호가 붙고, 그 뒤에 자료형의 수(대부분의 경우 1)가 표기됩니다.

예를 보자면, IAssetProvider`1는 여러종류의 에셋을 이용할때 사용되는 자료형입니다. 만약, 머티리얼을 사용할 경우 IAssetProvider`1[FrooxEngine.Material]라고 입력하세요. 인스펙터엔 SyncRef<Material> 라고 표시됩니다.

TypeMaterial.jpg

일반적인 복합자료형

일반적으로 사용되는 구문이 아니기에, 아래에 통상적으로 사용되는 문구를 작성해 두겠습니다.:

VR에서 Grave 또는 Backtick의 입력은 기본형 가상 키보드에서 shift키를 누르시면, Esc 키가 있던 자리의 자판이 ` 키로 변경된 것을 확인하실 수 있습니다.

에셋

  • 머티리얼 - IAssetProvider`1[FrooxEngine.Material]
  • 텍스쳐 - IAssetProvider`1[FrooxEngine.ITexture] or IAssetProvider`1[FrooxEngine.ITexture2D]
  • 오디오 클립 - IAssetProvider`1[FrooxEngine.AudioClip]
  • 메쉬 - IAssetProvider`1[FrooxEngine.Mesh]

Public Class Members

Sometimes a C# class may have classes or Enums etc inside it. Referring to these in the text input box is challenging to remember but not impossible. To do this use a +. This can be a little hard to explain without an example so here are a few examples:

  • The style of the outline on Xiexe's Toon Material can be created using: FrooxEngine.XiexeToonMaterial+OutlineStyle
  • An individual AvatarExpression within the ExpressionDriver can be created using FrooxEngine.ExpressionDriver+AvatarExpression

배경지식

제네릭 자료형은 여러가지 다른 자료형과 연계되어 동작할 수 있습니다. ValueField<T> 구성요소는 보관할 자료형(bool, float3 또는 String 등)을 지정하는 방식의 구조를 가지고 있습니다. 게임은 모든 자료형에 대응하는 ValueField를 가질 필요가 없지요.

자료형 정보는 한쌍의 대괄호안에 기록합니다. 드물게 두개 이상의 제네릭 인자가 요구되는 경우 인자간 구분은 쉼표(,)로 합니다.

자료형을 지정할때 가끔 기반 네임스페이스가 필요한 경우가 있습니다. 이것이 위 예제에 보이는 FrooxEngine입니다. 단, 모든 자료형에 필요한 네임스페이스는 아닙니다. 예제 기준으로 보시면 IAssetProvider`1의 앞에 네임스페이스가 사용되지 않습니다. 보통은 추가하지 않으나, 동작하지 않는 경우 FrooxEngine. 를 추가해 보세요.

몇몇 자료형은 부가적인 정규화가 필요합니다. 예를 들면, float3 자료형은 BaseX 네임스페이스에서 제공합니다. 하지만 게임 내에선 기본적으로 이 자료형을 찾아볼 수 없습니다. 그래서 아래와 같은 방식으로 작성해야 합니다.:

[BaseX.float3,BaseX]

주의 : 대괄호가 추가되어 있습니다.

부가정보

이 형식의 기술적인 배경 지식은 Frooxius_Notes#Complex_Types_within_Components_.2F_Logix에서 확인 가능합니다.

This article or section is a Stub. You can help the Neos Wiki by expanding it.