Version: Unity 6.0 (6000.0)
언어 : 한국어
텍스트 기반 씬 파일
UnityYAML

텍스트 직렬화 파일의 포맷

Unity의 씬 포맷은 YAML 데이터 직렬화 언어의 커스텀 서브셋을 사용합니다. YAML은 YAML 웹사이트에 기술 자료가 있는 개방형 포맷입니다. Unity에서 사용되는 YAML에 대한 자세한 내용은 UnityYAML에 대한 기술 자료를 참조하십시오.

파일은 씬의 각 오브젝트를 별도의 YAML 문서로 작성합니다. --- 시퀀스는 파일의 각 오브젝트를 제시합니다. 여기서 ‘오브젝트’라는 용어는 게임 오브젝트, 컴포넌트 및 기타 씬 데이터를 함께 가리킵니다. 각각의 항목은 씬 파일에서 고유한 YAML 문서가 필요합니다. 다음 예시는 직렬화된 오브젝트의 기본 구조를 보여 줍니다.

--- !u!1 &6
GameObject:
  m_ObjectHideFlags: 0
  m_PrefabParentObject: {fileID: 0}
  m_PrefabInternal: {fileID: 0}
  importerVersion: 3
  m_Component:
  - 4: {fileID: 8}
  - 33: {fileID: 12}
  - 65: {fileID: 13}
  - 23: {fileID: 11}
  m_Layer: 0
  m_Name: Cube
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1

첫 번째 줄에는 문서 마커 뒤에 문자열 !u!1 &6이 포함되어 있습니다. !u! 뒤의 첫 번째 숫자는 오브젝트의 클래스를 나타냅니다(이 경우 게임 오브젝트). 앰퍼샌드 뒤의 숫자는 파일 내에서 고유한 오브젝트 ID 번호이지만, 숫자는 각 오브젝트에 임의로 할당됩니다. 오브젝트의 각 직렬화 프로퍼티는 다음과 같은 줄로 표시됩니다.

m_Name: Cube

프로퍼티에는 일반적으로 m_ 접두사가 붙지만, 그렇지 않으면 스크립트 레퍼런스에 정의된 프로퍼티 이름을 따릅니다. 다음 예시는 파일에서 아래에 정의된 두 번째 오브젝트가 어떻게 보이는지 보여 줍니다.

--- !u!4 &8
Transform:
  m_ObjectHideFlags: 0
  m_PrefabParentObject: {fileID: 0}
  m_PrefabInternal: {fileID: 0}
  m_GameObject: {fileID: 6}
  m_LocalRotation: {x: 0.000000, y: 0.000000, z: 0.000000, w: 1.000000}
  m_LocalPosition: {x: -2.618721, y: 1.028581, z: 1.131627}
  m_LocalScale: {x: 1.000000, y: 1.000000, z: 1.000000}
  m_Children: []
  m_Father: {fileID: 0}

다음 예시는 위의 YAML 문서에 정의된 게임 오브젝트에 연결된 Transform 컴포넌트를 보여 줍니다. {fileID:6}은 게임 오브젝트를 나타내는 데 사용되며, 여기서 파일 내 게임 오브젝트의 오브젝트 ID는 6입니다.

m_GameObject: {fileID: 6}

부동 소수점 숫자를 나타내기 위해 IEEE 754 형식의 10진수 또는 16진수 숫자(0x 접두사로 표시)를 사용할 수 있습니다. Unity는 IEEE 754 표현을 사용하여 값을 손실 없이 인코딩하고 짧은 10진법 표현이 없는 부동 소수점 값을 작성합니다. Unity는 16진수로 숫자를 작성할 때 항상 디버깅 목적으로 10진수 포맷을 괄호 안에 작성하지만 파일을 로드할 때 실제로 16진수만 파싱됩니다. 이 값을 수동으로 편집하려면 16진수를 제거하고 10진수를 입력합니다. 다음 예시는 부동 소수점 값의 유효한 표현(모두 숫자 1을 나타냄)을 보여 줍니다.

myValue: 0x3F800000
myValue: 1
myValue: 1.000
myValue: 0x3f800000(1)
myValue: 0.1e1


  • 2018–05–13
텍스트 기반 씬 파일
UnityYAML