Сцена UnityСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
See in Словарь используется настраиваемое подмножество языка сериализации данных YAML. YAML — это открытый формат, документация по которому доступна на веб-сайте YAML. Дополнительные сведения о YAML, используемом в Unity, см. в документации по UnityYAML.
Файл записывает каждый объект в сцене как отдельный документ YAML. Последовательность ---
представляет каждый объект в файле. В этом контексте термин «объект» относится к GameObjectsфундаментальному объекту в сценах Unity, который может представлять персонажей, реквизит, декорации. , камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь Компоненты и другие данные сцены вместе: каждый из этих элементов требует собственный документ 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!
указывает на класс объекта (в данном случае это GameObject). Число, следующее за амперсандом, является уникальным идентификатором объекта в файле, хотя этот номер присваивается каждому объекту произвольно. Каждое из сериализуемых свойств объекта обозначается строкой, подобной следующей:
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}
В следующем примере показан прикрепленный компонент преобразованияКомпонент преобразования определяет положение, поворот и масштаб каждого объекта в место действия. Каждый GameObject имеет Transform. Подробнее
См. в Словарь GameObject, определенный в документе YAML выше. {fileID:6}
используется для представления GameObject, поскольку идентификатор объекта GameObject в файле равен 6.
m_GameObject: {fileID: 6}
…
Для представления чисел с плавающей запятой можно использовать десятичное представление или шестнадцатеричные числа в формате IEEE 754 (обозначаемые префиксом 0x). Unity использует представление IEEE 754 для кодирования значений без потерь и для записи значений с плавающей запятой, которые не имеют короткого десятичного представления. Когда Unity записывает числа в шестнадцатеричном формате, он всегда записывает десятичный формат в круглых скобках для целей отладки, но фактически при загрузке файла анализируется только шестнадцатеричный формат. Чтобы изменить эти значения вручную, удалите шестнадцатеричный код и введите десятичное число. В следующем примере показано допустимое представление значений с плавающей запятой (все представляют число один):
myValue: 0x3F800000
myValue: 1
myValue: 1.000
myValue: 0x3f800000(1)
myValue: 0.1e1