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

Metal — это стандартный графический API для устройств Apple. Unity поддерживает Metal на iOSмобильной операционной системе Apple. Подробнее
См. в Словарь
, tvOS и macOS (Standalone и Editor).

Metal имеет более широкий набор функций на платформах Apple, чем OpenGL ES. Ознакомьтесь с преимуществами и недостатками использования Metal ниже.

Преимущества использования металла

  • Снижение нагрузки на ЦП при вызовах графического API
  • Уровень проверки уровня API
  • Улучшенное управление графическим процессором в системах с несколькими графическими процессорами.
  • Поддерживает цели рендеринга без памяти (в iOS/tvOS)
  • Новый стандарт Apple для Apple
  • Компьютерные шейдеры
  • Шейдеры тесселяции

Недостатки использования металла

  • Нет поддержки недорогих устройств.
  • Нет поддержки геометрических шейдеров

Ограничения и требования

  • iOS и tvOS поддерживают Metal для Apple A7 или более новых SoC.

  • В macOS Metal поддерживается Intel HD и Iris Graphics из серии HD 4000 или новее, графические процессоры на базе AMD GCN и графические процессоры на базе Nvidia Kepler или новее.

  • Минимальная целевая цель компиляции шейдера – 3,5.

  • Metal не поддерживает геометрические шейдерыПрограмма, работающая на графическом процессоре. Подробнее
    См. в Словарь
    .

Включение металла

Чтобы редактор Unity и автономный проигрыватель использовали Metal в качестве графического API по умолчанию, выполните одно из следующих действий:

  • В редакторе перейдите в меню: Правка > Настройки проектаШирокий набор настроек, которые позволяют вам настроить поведение физики, аудио, сети, графики, ввода и многих других областей вашего проекта. Подробнее
    См. Словарь
    , затем выберите категорию Игрок и включите Поддержку Metal Editor.

  • Или, если вы используете MacOS, откройте Терминал и используйте -force-metal аргумент командной строки.

Metal включен по умолчанию на автономных проигрывателях iOS, tvOS и macOS.

Проверка Metal API

Xcode предлагает проверку Metal API, которую можно использовать для отслеживания неясных проблем. Чтобы включить проверку Metal API в Xcode:

  1. В Unity создайте проект для iOS. Это создает проект Xcode.

  2. Откройте сгенерированный проект Xcode в Xcode и выберите Редактировать схему.

Открытие окна редактирования схемы
Открытие окна редактирования схемы
  1. Выберите Выполнить > Параметры > Проверка Metal API и выберите Включено
Изменение уровня проверки Metal API
Изменение уровня проверки Metal API

Ошибки проверки прерывают выполнение кода в редакторе XCode и появляются в журналах устройств.

Примечание. Включение проверки увеличивает нагрузку на ЦП, поэтому включайте ее только для отладки.

Выбор устройства GPU

Metal позволяет выбрать устройство GPU при запуске приложения. Это позволяет вам тестировать проект с различными настройками графического процессора или экономить электроэнергию за счет использования маломощного графического процессора.

Чтобы изменить целевое устройство графического процессора в редакторе Unity, выберите меню: Unity > Настройки… > Общие и установите Устройство на Использование:

Изменение целевого графического процессора в редакторе
Изменение целевого графического процессора в редакторе

Чтобы изменить целевое устройство GPU для автономного проигрывателя, запустите приложение (или выберите в меню: Файл > Сборка и запуск) и установите графическое устройство для использования на соответствующий GPU в появившемся диалоговом окне:

Изменение целевого графического процессора в автономном проигрывателе
Изменение целевого графического процессора в автономном проигрывателе

Использование целей рендеринга без памяти

Metal позволяет использовать цели рендеринга без памяти для оптимизации памяти на мобильных устройствах, представленных в iOS и tvOS 10.0. Это позволяет выполнять рендеринг в RenderTexture без резервного копирования в системной памяти, поэтому содержимое только временно сохраняется в памяти на плитке во время рендерингаПроцесс отрисовки графики на экран (или текстуры рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь
.

Дополнительную информацию см. в разделе RenderTexture.memorylessMode.


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