Action disabled: source

Format에 대한 설명

Unity의 씬(scene) 포맷은 YAML 데이터 직렬화 언어(data serialization language)로 구현되어 있습니다. 여기서 YAML 에 대해 깊이 다룰 수는 없지만, 이는 오픈 포맷으로 이에 대한 사양서는 무료로 YAML website에서 볼 수 있습니다. 씬(scene) 내에 있는 각 오브젝트는 별도의 YAML 문서로 파일에 작성됩니다. YAML 문서는 파일 내에서 순서에 의해 도입됩니다. 이런 맥락에서, “오브젝트”라는 용어는 게임오브젝트(GameObjects), 컴포넌트 그리고 다른 씬 데이터를 총칭하여 가리키고 있습니다. 이 항목의 각각은 씬 파일에서 자신만의 YAML 문서를 필요로 합니다. 직렬화(serialized)된 오브젝트의 기본구조는 아래 예제에서 이해할 수 있을 것 입니다:-

--- !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

문서 마커(marker) 이 후 첫 번째 줄에는 "!u!1 &6" 이라는 문자열이 포함되어 있습니다. "!u!" 부분 이후 첫 번호는 해당 오브젝트의 클래스를 가리킵니다 (이 경우, 이는 게임오브젝트(GameObject)입니다). 엠퍼샌드 기호(&) 이후에 번호는 오브젝트의 ID 번호로 비록 각 오브젝트에 임의로 할당 되지만 파일 내에서는 고유한 값입니다. 각 객체의 직렬화 속성은 다음과 같은 라인으로 표시합니다:-

m_Name: Cube

속성은 일반적으로 의 "m_" 접두어를 붙이지만 그렇지 않으면 스크립트 레퍼런스(script reference)에 정의된 대로 속성의 이름을 따르고 있습니다. 두 번째 오브젝트는 파일의 아래쪽에 정의되어 있으며, 다음과 같이 나타납니다:-

--- !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 문서에 의해 정의된 GameObject에 부착되는 Transform 컴포넌트 입니다. 그의 부착은 선으로 나타납니다:-

m_GameObject: {fileID: 6}

…파일 내에서 해당 게임오브젝트(GameObject's)의 ID는 6 이므로.

부동 소수점 수(Floating point numbers)는 10진수나 IEE 754 포맷의 16진수로 표현할 수 있습니다(0x 접두어로 표현). IEE 754 표시방식은 값의 무손실 인코딩(lossless encoding)에 사용되며, 짧은 10진수 표현법이 없는 부동소수점 값을 쓸 때 사용됩니다. Unity는 숫자를 16진수로 작성할 때, 디버깅을 위해 항상 괄호 안에 10진수 포맷도 같이 병기할 것 입니다. 하지만 파일을 로딩할 때는 16진수만 실제로 파싱(parsed) 됩니다. 사용자는 그러한 값을 수동으로 편집하고 싶다면, 그냥 16진수를 지우고 10진수 숫자를 입력하면 됩니다. 아래는 부동 소수점 갑의 유효한 표현 중 일부를 나열한 것 입니다:

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

역링크