Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

У Unity есть класс в пространстве имен UnityEngine, который называется Object и действует как базовый класс для всех объектов, на которые Unity может ссылаться в редакторе. Классы, которые унаследованы от UnityEngine.Object, обладают специальной функциональностью, которая означает, что их можно перетаскивать в поля в ИнспектореОкно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет просматривать и редактировать значения. Дополнительная информация
См. в Словарь
или выберите с помощью средства выбора объектов рядом с полем объекта.

На этой странице представлен обзор класса Object и его частого использования при написании сценариев с ним. Исчерпывающую информацию о каждом члене класса Object см. в справочнике по сценариям объектов.

Пример поля объекта в окне инспектора. Средство выбора объектов — это круглый значок справа от поля.
Пример поля объекта в окне инспектора. Средство выбора объектов — это круглый значок справа от поля.

При создании собственных объектов с помощью сценариев обычно нежелательно наследовать напрямую от Object. Вместо этого вы должны наследовать от класса, разработанного для более точного соответствия вашей цели.

Например, вам следует наследовать от MonoBehaviour, если вы хотите написать собственный компонент, который можно добавить в GameObjectОсновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
, чтобы управлять тем, что делает GameObject, или предоставлять некоторые функции, относящиеся к это.

Или вам следует наследовать от ScriptableObject, если вы хотите создавать пользовательские активы, которые могут хранить сериализованные данные. Оба они наследуются от класса Object Unity, но предоставляют дополнительную функциональность для этих целей.

Примечание. Класс Unity Object находится в пространстве имен UnityEngine. Это отличается от базового класса Object .NET, который имеет то же имя, но является пространством имен System и не включен в шаблон сценария по умолчанию, чтобы имена не конфликтовали. Вы по-прежнему можете наследовать свои классы от System.Object .NET, если хотите создавать классы в своем скрипте, которые не нужно назначать в инспекторе.

Класс Unity Object действует как базовый класс для большинства встроенных классов Unity, таких как GameObject, Component, Material. , Текстура, СеткаОсновной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь
, СпрайтДвухмерные графические объекты. Если вы привыкли работать в 3D, спрайты — это, по сути, просто стандартные текстуры, но существуют специальные приемы комбинирования текстур спрайтов и управления ими для повышения эффективности и удобства во время разработки. Подробнее
См. в Словарь
и многих других, что означает все эти типы можно перетаскивать в эти контрольные поля в инспекторе.

Если в поле в инспекторе указан определенный тип класса (например, Текстура), Unity запрещает вам перетаскивать объекты любого другого типа в это поле, а в средстве выбора объектов будут отображаться только объекты правильного типа.< /p>

Три разных типа поля объекта в инспекторе.
Три разных типа поля объекта в инспекторе.

На изображении выше показаны три типа полей объекта в инспекторе.

Первый тип относится к типу Object, что означает, что этому полю может быть назначен любой объект Unity. Вы можете поместить в это поле объект любого типа, будь то GameObject, Текстура, АудиоклипКонтейнер для аудио данные в Юнити. Unity поддерживает моно-, стерео- и многоканальные аудиоресурсы (до восьми каналов). Unity может импортировать форматы аудиофайлов .aif, .wav, .mp3 и .ogg, а также форматы модуля трекера .xm, .mod, .it и .s3m. Подробнее
См. в Словарь
или в любом другом месте. Обычно это не очень полезно, и лучше сделать ваши поля более конкретными в отношении того, что они должны принимать.

Второй показывает, что его тип — «Текстура», как показано в скобках. Текстура — это встроенный класс Unity, и это означает, что вы можете поместить в это поле любой текстурный ассет. Unity имеет два класса, которые унаследованы от него, Texture2D и RenderTexture, что означает, что вы можете поместить любой из этих типов в это поле.

Третий показывает, что его тип — «Еда». Встроенного класса Unity с таким именем нет, поэтому в этом примере показан пользовательский класс, созданный пользователем, который наследуется от Object. Если бы вы впоследствии создали классы, которые наследуются от «Еда», такие как «Яблоко» и «Банан», вы могли бы назначить ссылки на экземпляры этих классов в поле «Еда», потому что они наследуются от этого типа.

Класс Object предоставляет несколько методов, которые позволяют правильно создавать и уничтожать их, а также находить ссылки на объекты определенного типа.

Дополнительную информацию об API для класса Object см. на справочной странице скриптов для Object.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3