Выбор файла с компьютера unity

Обновлено: 07.07.2024

Я хочу скопировать свой существующий проект Unity в новый пустой проект Unity. Похоже, что все ссылки на объекты и многие сценарии не настроены должным образом / не присутствуют в Иерархии в моих сценах.

Я только скопировал папку с ресурсами / package.json в новый проект Unity, потому что остальные файлы грязные и кэшировали много бесполезной информации.

Где находятся файлы с подробными данными о сценах? Я хочу скопировать это, чтобы я мог запускать свои сцены со всеми ссылками на объекты и сценариями, установленными на правильные игровые объекты.

2 ответа

Убираться

Обычно вам всегда нужны папки Assets и ProjectSettings .

Все остальное вы можете удалить, и Unity воссоздаст / перекомпилирует их, когда вы снова откроете проект.

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

Как говорят имена

  • Assets - это все ваши активы, такие как сценарии, изображения, сборные конструкции и т. Д., Включая также сцены.
  • ProjectSettings - это общие настройки вашего проекта, касающиеся таких вещей, как качество, физика, струны плеера и т. Д.

Для меня также имеет смысл сохранить некоторые файлы Library/*.asset .. они хранят, например, настройки сборки, целевую платформу и т. д., поэтому мне не нужно настраивать их / переключать платформу с нуля каждый раз, когда я "перезагружаюсь". Конечно, вам решать, хотите ли вы это сделать.

Вы также можете использовать любую другую систему контроля версий . или, конечно, также удалить соответствующие папки и файлы вручную, но я всегда использую GIT для моих проектов.

Также см. Использование внешних систем контроля версий с Unity для получения общей информации о настройке версии. контроль вашего проекта (ов).

Поэтому, когда я хочу очистить репозиторий перед копированием, я обычно использую следующее как *.gitignore (есть также более полные версии, например, из Github).

Все, что здесь перечислено, можно в основном удалить и будет повторно скомпилировано при следующем открытии проекта в Unity. (Строки, начинающиеся с ! , являются исключениями, которые я добавил, потому что, как я сказал, имело смысл сохранить и их.)

Если это еще не сделано, сначала инициализируйте запущенный репозиторий.

Это покажет некоторые предупреждения для каждого файла, который указан в .gitignore , но вы можете игнорировать эти предупреждения. Он только говорит что-то подобное, например

Вы пытаетесь добавить игнорируемый файл в коммит, и он будет пропущен

Сделать вашу первую фиксацию.

Теперь, наконец, ты можешь бежать

Который удаляет все файлы, которые не отслеживаются (поэтому убедитесь, что у вас всегда есть все файлы, которые вы хотите сохранить, по крайней мере, в стадии постановки ( git add ) или, что лучше, в первую очередь) или будет проигнорирован *.gitignore .

-f
Если для переменной конфигурации Git clean.requireForce не задано значение false, git clean откажется удалять файлы или каталоги, если не указано -f, -n или -i. Git откажется удалять каталоги с подкаталогом или файлом .git, если не указан второй -f.

-d
Удалите неотслеживаемые каталоги в дополнение к неотслеживаемым файлам. Если неотслеживаемый каталог управляется другим репозиторием Git, он не удаляется по умолчанию. Дважды используйте параметр -f, если вы действительно хотите удалить такой каталог.

-x
Не используйте стандартные правила игнорирования, считываемые из .gitignore (для каждого каталога) и $ GIT_DIR / info / exclude, но все же используйте правила игнорирования, указанные с параметрами -e. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это можно использовать (возможно, вместе с git reset) для создания нетронутого рабочего каталога для тестирования чистой сборки.

Миграция с помощью UnityPackage

Другой вариант перемещения сцен или частей активов между двумя разными проектами - использование UnityPackage

Выдержки из Документов:

  1. Откройте проект, из которого хотите экспортировать активы.

  2. Выберите Assets & rightarrow; Export Package из меню, чтобы открыть диалоговое окно Exporting Package. (См. Изображение диалогового окна «Экспорт пакета». ниже.)

  3. В диалоговом окне выберите активы, которые вы хотите включить в пакет, щелкнув соответствующие флажки.

  4. Не снимайте флажок "Включить зависимости", чтобы автоматически выбирать любые ресурсы, используемые выбранными вами.

  5. Нажмите «Экспорт», чтобы открыть файловый менеджер и выбрать, где вы хотите сохранить файл пакета.

  6. Назовите и сохраните пакет где угодно

В качестве альтернативы шагу 2 вы также можете щелкнуть правой кнопкой мыши по папке Assets в Project View и найти параметр Export Package в контекстное меню.

а затем в новом проекте импортируйте UnityPackage

  1. Откройте проект, в который вы хотите импортировать активы.
  2. Выберите Assets & rightarrow; Импорт пакета & rightarrow; Пользовательский пакет .
  3. В проводнике файлов выберите нужный пакет, и появится диалоговое окно «Импорт пакета Unity» со всеми предварительно отмеченными элементами пакета, готовыми к установке. (См. Изображение диалогового окна «Импорт пакета Unity» ниже.)
  4. Выберите Import , и Unity поместит содержимое пакета в папку Assets , к которой вы можете получить доступ из вашего Project view .

В качестве альтернативы шагам 2 и 4 вы даже можете просто перетащить файл unitypackage в папку Assets через редактор Unity.

Я хотел сделать что-то подобное, что применимо к части «Перенести на другой компьютер».

Я заметил, что мои проекты занимают довольно много места, и захотел очистить проект. Я выполнил derHugo, ответив на рекомендованную процедуру «git clean», но используя его связанный файл GitHub .gitignore.

Мне пришлось внести некоторые изменения, чтобы он работал на Unity 19.4:

По сути, я не игнорировал всю папку библиотеки и игнорировал только следующее:

Вот процедура, которой вы должны следовать:

  • Сделайте резервную копию вашего проекта на всякий случай.
  • Поместите прилагаемый файл .gitignore в корневой каталог вашего проекта.
  • Выполните следующие команды:

* Обратите внимание, что опция -X написана с заглавной буквы в команде git clean, это позволяет избежать удаления любой пустой и неотслеживаемой папки.

Чтобы убедиться, что все в порядке:

  • Загрузите свой проект Unity и убедитесь, что все по-прежнему работает правильно.
  • Еще раз запустите git clean -Xfd, чтобы очистить файлы проекта, перестроенные Unity.

Еще раз благодарим derHugo за его подробный ответ, который использовался для работы с последними выпусками Unity.

Второй вариант - ссылка на Comdlg32.dll (неуправляемая DLL)

  1. Пользовательский класс приема данных OpenFileName
  1. Импортируйте неуправляемые методы:
  1. Процесс звонка:

результат операции:

Введение в параметр OpenFileName
【structSize】: Длина структуры (в байтах).
【dlgOwner 】: Владелец диалогового окна. Этим членом может быть любой допустимый дескриптор окна или NULL, если у диалога нет владельца.
【instance】: Настройка шаблона диалогового окна, может иметь значение NULL.
【filter 】: Фильтр файлов, предварительная проверка на основе настроек
【customFilter 】: Статический буфер, содержащий пару строк фильтра, оканчивающихся нулевым значением, чтобы сохранить режим фильтрации, выбранный пользователем.
【maxCustFilter 】: Размер буфера customFilter. Длина буфера должна быть не менее 40 символов. Если customFilter имеет значение NULL или указывает на строку NULL, этот член игнорируется.
【filterIndex 】: Индекс текущего выбранного фильтра. Буфер, на который указывает filter, содержит пару строк, определяющую фильтр. Значение индекса первой пары строк равно 1, значение индекса второй пары строк равно 2 и так далее. Нулевой индекс указывает на настраиваемый фильтр, указанный в lpstrCustomFilter.
【file 】: Может использоваться для инициализации имени файла. Если инициализация не требуется, он должен иметь значение NULL. Когда функция GetOpenFileName или GetSaveFileName возвращает успешно, строка представляет собой путь к выбранному файлу (включая идентификатор диска, путь, имя файла и расширение выбранного файла).
【maxFile 】: Длина строки файла должна быть не менее 256 символов, слишком мала для включения информации о пути к файлу.
【fileTitle 】: Имя и расширение выбранного файла (не включая информацию о пути).
【maxFileTitle】: Длина строки fileTitle.
【initialDir】: Начальный каталог открыт.
【title 】: Строка символов, помещенная в строку заголовка диалогового окна.
【flags 】: Флаговый бит, используемый для инициализации диалогового окна, OFN (OpenFileName), просмотр конкретного значения кодаСсылка три
【fileOffset 】: От начала пути до строки, на которую указывает Fileимя файлаСмещение от нуля в символах.
【fileExtension 】: От начала пути до строки, на которую указывает lpstrFileРасширение файлаСмещение от нуля в символах.
【defExt 】: Расширение по умолчанию.
【custData 】: Система передает определенные приложением данные подключаемой процедуры, идентифицированной членом lpfnHook.
【hook 】: Указатель на крючок
【templateName 】: Имя ресурса шаблона диалога в модуле, идентифицированном членом hInstance.
【reservedPtr 】: Зарезервированный указатель, не используется
【reservedInt 】: Сохранить параметр int, не используется
【flagsEx 】: Набор битовых флагов может использоваться для инициализации диалогового окна. В настоящее время этот член может быть нулевым или иметь следующий флаг.


Unity — это один из самых популярных движков на данный момент. Составить ему конкуренцию может разве что Unreal Engine 4, но что у первого, что и у второго есть свои плюсы и свои минусы. Unity поддерживает почти 30 платформ, в их числе мобильные, виртуальная реальность, настольные компьютеры, консоли и так далее. Unity — это не просто хороший вариант для старта, это идеальный вариант для старта! Тут заложено использование гибкой модульной системы при создании сцен и персонажей в игре. Даже новичок способен создать крутой проект, используя готовые спрайты и конструктор движка.

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

Так с чего же начать работу на Unity и реализацию своего проекта?

Первым шагом будет установка ПО. На официальном сайте есть четыре разных версии программы для установки. Какую же выбрать? Всё по порядку. Версии представляют собой одинаковые функции движка.

Если вам интересно, вот что означают эти три варианта:

Unity Personal: эта версия бесплатна. Однако ваша компания должна зарабатывать менее 100 000 долларов за финансовый год. Еще одна загвоздка в том, что в каждой игре будет отображаться заставка «Сделано Unity», которую нельзя удалить.

Unity Plus: эта версия стоит 35 долларов в месяц. Он поставляется с инструментами отчетности о производительности, оболочкой Unity Pro и некоторыми дополнительными функциями. Эта версия требует, чтобы ваша компания зарабатывала менее 200 000 долларов в год, и она позволяет отключать или настраивать заставку «Сделано Unity».

Unity Pro: это самый высокий доступный уровень. Он стоит 125 долларов в месяц и поставляется с полезными сервисами Unity, профессиональными надстройками для iOS и Android и не имеет заставки. Ограничения по доходу тоже нет.

Также можно присмотреться к версии Enterprise, где стоимость подписки определяют пользовательские потребности.

Самые явные различия представленных версий — это то, что в Enterprise игры должны начинаться с заставки Unity. А в платных версиях можно удалить или загрузить другую заставку.

Плюс есть довольно интересные сервисы в Unity, к примеру, Cloud Build и Analytics. Естественно, они существуют только в платных версиях.

Также у движка есть свои правила, как можно использовать бесплатную версию. Рекомендую прочитать FAQ .

Для начала работы будет достаточно персональной версии, поэтому нажимаем кнопку «начать». Это приведёт к странице загрузки, нажимаем «принять условия и загрузить». Начнётся загрузка.


Первым установится Unity Hub

Unity Hub — это автономное приложение, которое упрощает процесс поиска, загрузки и управления вашими проектами и установками Unity.

Если вы запустите редактор Unity без установленного концентратора, Unity предложит вам установить его. Если у вас есть лицензия от предыдущей версии Unity, вы можете создать пустой проект из приглашения установки Hub. Если впоследствии вы попытаетесь создать или открыть проект из редактора Unity, Unity предложит установить Hub.

Создание проекта

Чтобы создать новый проект (и указать, в какой версии редактора его открыть), выполните одно из следующих действий:

Щелкните кнопку New. В строке заголовка диалогового окна «Новый проект» отображается версия редактора, которую должен использовать проект.

Щелкните стрелку раскрывающегося списка рядом с кнопкой «Создать», чтобы выбрать версию редактора, которую вы хотите использовать. Примечание: это раскрывающееся меню доступно только в том случае, если вы установили несколько версий редактора в хабе.

Вкладка "Проекты"


Чтобы просмотреть проекты, которыми управляет хаб, щелкните значок Проекты

Unity хранит проекты на вашем диске и в облаке. Вы можете открывать как локальные, так и облачные проекты, использующие Unity Collaborate , щелкнув имя проекта. Чтобы открыть проект, которого нет в списке, нажмите «Добавить», чтобы найти на своем компьютере папку «Проект».

Изучение интерфейса

Когда ваш проект загрузится, появится экран, заполненный информацией.

Ваш макет, вероятно, будет выглядеть так:


Если нет, нажмите кнопку «Макет» в правом верхнем углу и выберите 2 на 3 в раскрывающемся меню.


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

Вот как выглядит интерфейс, разбитый на отдельные представления:


Чтобы просмотреть список всех представлений, щелкните параметр «Окно» в строке меню.


Пользовательский интерфейс Unity полностью настраивается, поэтому вы можете добавлять, удалять и переупорядочивать представления по своему усмотрению.

При работе с Unity вы, как правило, захотите преобразовать представления в макет, который идеально подходит для данной задачи. Unity позволяет сохранять макеты для использования в будущем.

В редакторе найдите вкладку «Игра» и щелкните ее правой кнопкой мыши . В раскрывающемся меню выберите «Добавить вкладку», затем выберите «Профиль».


Представление Profiler позволяет анализировать вашу игру во время ее работы. К сожалению, профилировщик также блокирует просмотр игры, поэтому вы не сможете играть в игру, пока вы ее профилируете — не очень полезно.

Нажмите и удерживайте на вкладку Профили и перетащите его на вкладке Сцена выше.


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

Чтобы сохранить макет, выберите «Окно \ Макеты \ Сохранить макет…» и назовите его «Отладка».


Всякий раз, когда вам нужно получить доступ к этому конкретному макету, вы можете нажать кнопку «Макет» и выбрать «Отладка».


При нажатии вы увидите список всех ваших макетов.


Вы также можете удалить макеты. Если вы случайно выбросите стандартный макет в корзину, вы можете восстановить макеты по умолчанию.

Организация активов

Новички в Unity могут представить, что вы разрабатываете свою игру от начала до конца в Unity, включая написание кода, создание 3D-моделей и текстур и т. д.

На самом деле, лучше думать о Unity как об инструменте интеграции. Обычно вы пишете код или создаете 3D-модели или текстуры в отдельной программе и используете Unity, чтобы связать все вместе.

В своей игре у вас будет много ресурсов, поэтому очень важно организовать их таким образом, чтобы их было легко найти.

Представление, в котором вы импортируете и упорядочиваете активы, называется обозревателем проекта. Он имитирует организацию вашей файловой системы.


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

В Диспетчере проектов выберите папку Assets и нажмите кнопку Create. В раскрывающемся меню выберите «Папка» и назовите ее «Модели». Это будет дом для всех ваших моделей. У вас может возникнуть соблазн создать папки и манипулировать файлами в файловой системе вместо обозревателя проекта. Не делайте этого!

Unity создает метаданные для каждого актива. Создание, изменение или удаление ресурсов в файловой системе может нарушить эти метаданные и вашу игру.

Создайте следующие папки: Animations, Materials, Prefabs, Presets, Scripts и Textures.

Ваш обозреватель проекта должен выглядеть так:


Лично я считаю, что большие значки папок отвлекают. Если у вас также есть предпочтение, вы можете увеличить или уменьшить размер с помощью ползунка в нижней части Диспетчера проектов.


Примечание. Все снимки экрана в этом руководстве с этого момента будут отображать самые маленькие настройки.

Наконец, вы можете изменить название актива. Например, ваша текущая сцена называется SampleScene. Выберите папку Scenes, а затем выберите файл SampleScene. Имя будет выделено. Один раз щелкните по нему еще раз, и вы напишете новое имя. Измените его на Main.


Вы можете сделать это с любой папкой или активом в Диспетчере проектов.


как я упаковываю заказы для своего малого бизнеса ✨

Я хочу скопировать свой существующий проект Unity в новый пустой проект Unity. Похоже, что все ссылки на объекты и многие сценарии неправильно настроены / присутствуют в Иерархии в моих сценах.

Я только скопировал папку с ресурсами / package.json в новый проект Unity, потому что остальные файлы грязные и кэшировали много бесполезной информации.

Где находятся файлы с подробным описанием сцен? Я хочу скопировать это, чтобы я мог запускать свои сцены со всеми ссылками на объекты и сценариями, установленными на правильные игровые объекты.

Убираться

В общем, вам всегда понадобится Assets и ProjectSettings папка.

Все остальное вы можете удалить, и Unity воссоздаст / перекомпилирует их, когда вы снова откроете проект.

Также см. За кулисами

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

Как говорят имена

  • Assets все ваши активы, такие как сценарии, изображения, сборные конструкции и т. д., включая сцены.
  • ProjectSettings все общие настройки вашего проекта, касающиеся таких вещей, как качество, физика, струны плеера и т. д.

Для меня также некоторые из Library/*.asset файлы имеет смысл хранить .. они хранят, например, настройки сборки, целевой платформы и т. д., поэтому мне не нужно настраивать их / переключать платформу с нуля каждый раз, когда я "перезагружаюсь". Конечно, вам решать, хотите ли вы это сделать.

Вы также можете использовать любую другую систему контроля версий . или, конечно, также удалить соответствующие папки и файлы вручную, но я всегда использую GIT для моих проектов.

Также обратитесь к разделу Использование внешних систем управления версиями с Unity для получения общей информации о настройке для управления версиями вашего проекта (ов).

Поэтому, когда я хочу очистить репозиторий перед копированием, я обычно использую следующее как *.gitignore (есть и более полные версии, например, с Github).

Все, что здесь перечислено, можно практически удалить и будет повторно скомпилировано при следующем открытии проекта в Unity. (Строки, начинающиеся с ! - это исключения, которые я добавил, потому что, как я сказал, имеет смысл сохранить и их.)

Если это еще не сделано, сначала инициализируйте запущенный репозиторий.

это покажет некоторые предупреждения для каждого файла, который указан в .gitignore но вы можете игнорировать эти предупреждения. Он только говорит что-то подобное, например

Вы пытаетесь добавить игнорируемый файл в коммит, и он будет пропущен

сделать вашу первую фиксацию.

Теперь, наконец, ты можешь бежать

который удаляет все файлы, не отслеживается (поэтому убедитесь, что у вас всегда есть все файлы, хотеть держать хотя бы постановочный ( git add ) или лучше было бы совершено первым) или будет проигнорирован *.gitignore .

-f
Если для переменной конфигурации Git clean.requireForce не задано значение false, git clean откажется удалять файлы или каталоги, если не задано -f, -n или -i. Git откажется удалять каталоги с подкаталогом или файлом .git, если не указан второй -f.

-d
удалять неотслеживаемый каталоги в дополнение к неотслеживаемый файлы. Если неотслеживаемый каталог управляется другим репозиторием Git, он не удаляется по умолчанию. Дважды используйте параметр -f, если вы действительно хотите удалить такой каталог.

-Икс
Не используйте стандартные правила игнорирования, считываемые из .gitignore (для каждого каталога) и $ GIT_DIR / info / exclude, но по-прежнему используйте правила игнорирования, указанные с параметрами -e. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это можно использовать (возможно, в сочетании с git reset) для создания нетронутого рабочего каталога для тестирования чистой сборки.

Миграция с помощью UnityPackage

Другой вариант перемещения сцен или частей активов между двумя разными проектами - использование пакета UnityPackage.

Из вашего текущего проекта экспортируйте UnityPackage

Выдержки из Документов:

альтернативно шагать 2 вы также можете Щелкните правой кнопкой мыши на Assets папка в Project View и найти Экспортный пакет в контекстном меню.

а затем в новом проекте Импортируйте UnityPackage

В качестве альтернативы шагу 2 а также 4 вы даже можете просто перетащить unitypackage файл в Assets папку через редактор Unity.

  • 1 В дополнение к этому исчерпывающему ответу, когда что-то отсоединяется, это признак того, что вам удалось потерять скрытые файлы .meta, и Unity присвоила всем новые свежие идентификаторы. Если вы убедитесь, что вы копируете активы, включая метафайлы, и перемещаете версию вверх (это смешанный мешок при спуске версии), все должно быть связано

Мне пришлось внести некоторые изменения, чтобы он работал на Unity 19.4:

По сути, я не игнорировал всю папку библиотеки и игнорировал только следующее:

Вот процедура, которой вы должны следовать:

  • Сделайте резервную копию вашего проекта на всякий случай.
  • Поместите прилагаемый файл .gitignore в корневой каталог вашего проекта.
  • Выполните следующие команды:

* Обратите внимание, что опция -X написана с заглавной буквы в команде git clean, это позволяет избежать удаления любой пустой и неотслеживаемой папки.

Чтобы убедиться, что все в порядке:

  • Загрузите свой проект Unity и убедитесь, что все по-прежнему работает правильно
  • Еще раз запустите git clean -Xfd, чтобы очистить файлы проекта, перестроенные Unity.

Опять же, спасибо derHugo за подробный ответ, который был использован для работы над последними выпусками Unity.

В этом разделе мы рассмотрим, как использовать возможности интеграции и повышения производительности набора средств Visual Studio для Unity, а также как использовать отладчик Visual Studio для разработки Unity.

Открытие скриптов Unity в Visual Studio

после того как Visual Studio установлен в качестве внешнего редактора для unity, двойной щелчок скрипта в редакторе unity автоматически запустится или переключится на Visual Studio и откроет выбранный скрипт.

Доступ к документации по Unity

Доступ к документации по созданию скриптов Unity можно быстро получать из Visual Studio. Если набор средств Visual Studio для Unity не находит документацию по API в локальном режиме, он попытается найти ее через Интернет.

Меню справочника по API Unity в Visual Studio

  • В Visual Studio выделите API Unity, с которым хотите ознакомиться (или наведите на него курсор), а затем нажмите клавиши CTRL+ALT+M, CTRL+H.
  • Кроме того, вместо настраиваемое сочетание клавиш можно использовать Справочное меню Help > Unity API .

меню справочника по API Unity в Visual Studio для Mac

  • в Visual Studio для Mac выделите или поместите курсор на API Unity, который вы хотите изучить, а затем нажмите клавишу Cmd + .
  • Кроме того, вместо настраиваемое сочетание клавиш можно использовать Справочное меню Help > Unity API .

Поместите курсор на новую строку внутри тела класса, производного от MonoBehaviour .

После ввода букв "ontri" отображается список предложений IntelliSense.

Использование IntelliSense в Visual Studio

Выбранный элемент в списке можно изменить тремя способами:

с помощью клавиш со стрелками ВВЕРХ и ВНИЗ;

щелкая нужный элемент;

продолжив ввод имени нужного элемента.

при нажатии клавиши TAB;

при нажатии клавиши ВВОД;

при двойном щелчке выбранного элемента.

Мастер создания скриптов Unity MonoBehavior

Мастер MonoBehavior можно использовать для просмотра списка всех методов API Unity и быстрого выполнения пустого определения. Эта функция, особенно со включенным параметром Создать комментарии для метода, полезна при изучении того, что доступно в Unity API.

Создание определений пустых методов MonoBehavior с помощью мастера MonoBehavior.

В Visual Studio поместите курсор туда, где необходимо вставить методы, а затем нажмите клавиши CTRL+SHIFT+M для запуска мастера MonoBehavior. в Visual Studio для Mac нажмите Cmd + Shift + M.

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

Чтобы выбрать необходимую версию, используйте раскрывающийся список Версия платформы.

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

Если вы хотите, чтобы мастер создавал комментарии для выбранных методов, установите флажок Создать комментарии к методу. Эти комментарии позволяют лучше понять, когда вызывается метод и каковы его общие функции.

Диалоговое окно мастера «нестандартное поведение» в Visual Studio.

диалоговое окно мастера «нестандартное поведение» в Visual Studio для Mac.

Обозреватель проектов Unity

Обозреватель проектов Unity показывает все файлы и каталоги ваших проектов Unity в том же виде, что и редактор Unity. Это отличается от навигации по сценариям Unity с помощью обычного обозревателя решений Visual Studio, который организует их в проекты и решения, созданные Visual Studio.

  • в Visual Studio для Mac Панель решения автоматически ведет себя следующим образом при открытии проекта Unity.

Отладка Unity

Набор средств Visual Studio для Unity позволяет отлаживать скрипты редакторов и игр для проекта Unity с помощью мощного отладчика Visual Studio.

Отладка в редакторе Unity

Начать отладку

  1. Переключитесь в Unity и нажмите кнопку Воспроизвести, чтобы запустить игру в редакторе.

Щелкните воспроизвести в Unity в macOS.

  1. Когда игра запущена в редакторе Unity при подключении к Visual Studio, все проходимые точки останова будут приостанавливать выполнение игры и выводить соответствующую строку кода в Visual Studio.

Остановка отладки

Нажатие кнопки "Остановить" в Visual Studio

В Visual Studio нажмите кнопку Стоп или используйте сочетание клавиш SHIFT + F5.

Дополнительные сведения об отладчике Visual Studio см. в статье First look at the Visual Studio Debugger (Первое знакомство с отладчиком Visual Studio).

Подключение к Unity и воспроизведение

Для дополнительного удобства кнопку Подключить к Unity можно заменить на режим Подключить к Unity и воспроизвести.

Затем на кнопке "Воспроизведение" появляется метка Подключение к Unity и воспроизведение. Нажатие этой кнопки или использование клавиши F5 приведет к автоматическому переключению на редактор Unity и запуску игры в редакторе, в дополнение к подключению отладчика Visual Studio.

Начать отладку и воспроизведение в редакторе Unity можно за один шаг, непосредственно из Visual Studio для Mac, выбрав конфигурацию Подключение к Unity и воспроизведение.

выберите присоединить к Unity и воспроизвести в Visual Studio для Mac

Если отладка была запущена с помощью команды присоединить к Unity и воспроизвести конфигурацию, то кнопка " Закрыть " также останавливает редактор Unity.

Отладка сборок проигрывателя Unity

Сборки приложений Unity можно отлаживать с помощью Visual Studio.

Включение отладки скриптов в проигрывателе Unity

Чтобы открыть параметры сборки в Unity, выберите Файл > Параметры сборки.

В окне параметров сборки установите флажки Сборка разработки и Отладка скриптов.

![Настройте параметры сборки Unity для отладки.](../media/vs/vstu-debugging-build-settings.jpg "vstu_debugging_build_settings")

Выбор экземпляр Unity для присоединения отладчика

В главном меню Visual Studio выберите Отладка > Присоединить отладчик Unity.

Подключите отладчик Unity.

В диалоговом окне Выбор экземпляра Unity отображаются сведения о каждом экземпляре Unity, к которому можно подключиться.

Выберите экземпляр Unity, к которому необходимо подключиться.

Project

Имя проекта Unity, который выполняется в этом экземпляре Unity.

Компьютер Имя компьютера или устройства, на котором выполняется этот экземпляр Unity.

Тип Редактор — если этот экземпляр Unity выполняется как часть редактора Unity; Проигрыватель — если этот экземпляр Unity является автономным проигрывателем.

Порт Номер порта UDP-сокета, через который данный экземпляр Unity обменивается данными.

так как Инструменты Visual Studio для Unity и экземпляр Unity обмениваются данными через сетевой сокет UDP, для разрешения этого брандмауэра может потребоваться правило. При необходимости может появиться запрос на подключение, чтобы VSTU и Unity могли обмениваться данными.

  • в Visual Studio для Mac в верхнем меню выберите выполнить > присоединить к процессу.
  • В диалоговом окне Присоединение к процессу выберите параметр отладчик Unity в раскрывающемся меню отладчика внизу.
  • Выберите экземпляр Unity из списка и нажмите кнопку присоединить .

Отладка библиотеки DLL в проекте Unity

Многие разработчики Unity создают компоненты кода в виде внешних библиотек DLL, чтобы разрабатываемые ими функции можно было легко совместно использовать с другими проектами. Набор средств Visual Studio для Unity упрощает отладку кода в этих библиотеках DLL без создания проблем для другого кода в проекте Unity.

В настоящее время набор средств Visual Studio для Unity поддерживает только управляемые библиотеки DLL. Он не поддерживает отладку библиотек DLL машинного кода, например библиотек, созданных на языке C++.

Обратите внимание, что описанный здесь сценарий предполагает, что у вас есть исходный код, то есть вы разрабатываете или повторно используете свой собственный код, или у вас есть исходный код для библиотеки стороннего разработчика и вы планируете его развернуть в проекте Unity как библиотеку DLL. Данный сценарий не описывает отладку библиотеки DLL, для которой у вас нет исходного кода.

Отладка проекта с управляемой библиотекой DLL, используемой в проекте Unity

Добавьте существующий проект библиотеки DLL в решение Visual Studio, которое создается набором средств Visual Studio для Unity. В ряде случаев вы можете создать новый проект с управляемой библиотекой DLL, который будет содержать компоненты кода проекта Unity. В этом сценарии в решение Visual Studio можно добавить новый проект с управляемой библиотекой DLL.

Добавьте существующий проект библиотеки DLL в решение.

В любом случае набор средств Visual Studio для Unity сохраняет ссылку на проект, даже если он должен повторно создать файлы проекта и решения, поэтому эти действия нужно будет выполнить только один раз.

Создайте ссылку на нужный профиль платформы Unity в проекте DLL. В Visual Studio в свойствах проекта DLL для свойства Целевая платформа укажите версию платформы Unity, которую вы используете. Это библиотека базового класса Unity, соответствующая уровню совместимости API, на который ориентирован ваш проект, например библиотека базовых классов Unity full, micro или web. Благодаря этому ваша библиотека DLL не будет вызывать методы платформы, существующие на других платформах или уровнях совместимости, но которые могут отсутствовать в версии платформы Unity, которую вы используете.

Укажите платформу Unity в качестве целевой платформы библиотеки DLL.

Скопируйте библиотеку DLL в папку Asset (ресурсы) своего проекта Unity. В Unity ресурсы представляют собой файлы, которые упаковываются и развертываются вместе с вашим приложением Unity, чтобы их можно было загружать во время выполнения. Так как библиотеки DLL связываются во время выполнения, их необходимо развертывать как ресурсы. Для развертывания в виде ресурса редактору Unity требуется, чтобы библиотеки DLL были помещены в папку Assets вашего проекта Unity. Предусмотрены два способа выполнения этой задачи.

Измените параметры сборки проекта DLL, чтобы добавить выполняемую после сборки задачу, которая скопирует выходные файлы DLL и PDB из выходной папки в папку Активы проекта Unity.

Измените параметры сборки проекта DLL, чтобы сделать выходной папкой папку Assets проекта Unity. Теперь файлы DLL и PDB будут сразу помещаться в папку Assets.

PDB-файлы необходимы для отладки, так как они содержат символы отладки библиотеки DLL и сопоставляют код DLL с формой его исходного кода. Если будет применяться устаревшая среда выполнения, Инструменты Visual Studio для Unity будут использовать сведения из файлов DLL и PDB для создания файла DLL.MDB. Это формат отладочных символов, применяемый устаревшим модулем обработки скрипов Unity. Если будет применяться новая среда выполнения и формат Portable-PDB, Инструменты Visual Studio для Unity не будут пытаться преобразовывать символы, так как новая среда выполнения Unity может самостоятельно обрабатывать файлы Portable-PDB.

См. подробнее сведения о создании PDB-файлов. Если будет применяться новая среда выполнения, убедитесь, что для параметра "Отладочная информация" задано значение "Переносимый" для корректного создания файла Portable PDB. Если будет применяться устаревшая среда выполнения, воспользуйтесь значением "Полный".

Выполните отладку своего кода. Теперь вы можете отлаживать свой исходный код DLL вместе с исходным кодом проекта Unity и использовать все доступные функции, например точки останова и пошаговое выполнение кода.

Сочетания клавиш

Для быстрого доступа средств Unity к функциям Visual Studio можно использовать соответствующие сочетания клавиш. Ниже приведен список таких сочетаний клавиш.

Команда Сочетание клавиш Имя контекстной команды
Открыть мастер MonoBehavior CTRL+SHIFT+M EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Открыть обозреватель проектов Unity ALT+SHIFT+E View.UnityProjectExplorer
Доступ к документации по Unity CTRL+ALT+M, CTRL+H Help.UnityAPIReference
Присоединиться к отладчику Unity (проигрыватель или редактор) значение по умолчанию отсутствует Debug.AttachUnityDebugger

Если вас не устраивает сочетание клавиш по умолчанию, его можно изменить. Чтобы узнать, как это сделать, см. статью Определение и настройка сочетаний клавиш в Visual Studio.

Команда Сочетание клавиш Имя контекстной команды
Открыть мастер MonoBehavior Команда cmd + SHIFT + М EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Доступ к документации по Unity Cmd + ' Help.UnityAPIReference

Если вас не устраивает сочетание клавиш по умолчанию, его можно изменить. Сведения о том, как изменить его, см. в разделе Настройка интегрированной среды разработки.

Читайте также: