Обновление (12.05.2018): добавил инструкцию по изменению размера скриншота в пикселях.

Make Screenshot By right Mouse Click c# скрипт для Unity

Мне часто приходится делать полноразмерные скриншоты на движке Unity для публикации моего приложения в AppStore и на Google Play и я написал малюсенький C# скрипт, который автоматизирует этот процесс.

Что делает скрипт MakeScreenshotByMouseClick.cs

Каждый раз, когда вы кликаете правой кнопкой мышки (во вкладке Game после того как вы нажали кнопку Play, чтобы запустить игру), скрипт сохраняет скриншот в папке Screenshots такого вида:

Sreenshot01_1242x2208_SceneID1_Menu.png

Выше выделены жирным следующие значения:

  • 01 - это номер скриншота. Каждый раз, когда вы кликаете, создаётся скриншот с новым номером - 00, 01, 02...
  • 1242x2208 - это разрешение скришота (ведь для разных устройств нужны разные разрешения)
  • 1_Menu - это название сцены/уровня

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

Как установить и использовать

  1. Скачайте zip-архив со скриптом по ссылке ниже.
  2. Распакуйте его в свою папку со скриптами Unity.
  3. Перетяните скрипт на любой активный объект в вашей сцене (объект, который не будет удаляться и не будет прятаться после запуска игры, иначе все скрипты на этом объекте перестанут работать).
  4. Перетяните вашу камеру в поле Main Camera моего скрипта.
  5. Создайте папку Screenshots внутри корневой папки Assets.
  6. Запустите игру (нажав кнопку Play) и кликните правой кнопкой мышки.
  7. Откройте папку Screenshots В БРАУЗЕРЕ (не в Unity) и посмотрите результат.

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

Не забудьте удалить/переместить скриншоты в папку за пределами проекта Unity, чтобы они не мешались в проекте.

После того, как вы закончили со скриптами, просто деактивируйте скрипт (не удаляйте его). Для этого достаточно снять галочку слева от названия скрипта в инспекторе (как показано на заглавной картинке).

Скачать скрипт бесплатно

Скачать его бесплатно можно по этой ссылке.

Как поменять размер скриншота

Разрешение скриншота зависит от разрешения игры, установленного в выпадающем меню соотношения сторон (выделен красным на скриншоте ниже, сразу под вкладкой Game):

Как добавить своё разрешение в Unity

Чтобы добавить своё разрешение, нажмите на кнопку + в кружочке (эта кнопка выделена красным внизу выпадающего меню) и введите нужное вам значение в пикселях.

Даже если нужное вам разрешение не влазит на вашем мониторе (чтобы смотреть его полноразмерно) и вы пользуетесь слайдером Scale (выделен красным на скриншоте выше), чтобы смотреть на уменьшенную версию, то мой скрипт всё равно сделает и сохранит полноразмерный снимок экрана.

Маленькая хитрость

Чтобы смотреть на игру в 100% масштабе вы выставляете слайдер Scale на значение 1. Но в режиме Play вы не можете двигать этот вьюпорт (видно только часть игры). Чтобы управлять вьюпортом Game в полноразмерном режиме, нужно нажать на кнопку Pause (пауза находится рядом с кнопкой Play) и использовать среднюю кнопку мышки во вьюпорте.

Скриншоты по таймеру

Если кому-то нужно, то могу усовершенствовать этот скрипт, чтобы скриншоты создавались по таймеру. К примеру, новый скриншот каждые 3 секунды спустя 7 секунд после запуска игры. Понятное дело, что значения для таймера можно будет настраивать самостоятельно.

Другие вкусности для Unity (и не только) читайте тут.




Подпишитесь на обновление блога (вот 3 причины для этого).
Введите ваш e-mail:





Вам понравилась статья? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.

Введите ваш e-mail (используется только для отправления обновлений блога):

Оставить комментарий

(обязательно)

не публикуется (обязательно)

Все комментарии проходят ручную проверку. При малейшем намёке на спам или негатив - удаляю.

Подписаться по e-mail на новые комментарии

© 2008 - 2018 3dyuriki.com
Для связи со мной 3dyuriki@gmail.com