Четверг, 16 Августа 2018, 00:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Unity проблемы с освещением на ANDROID (Не работает эффект полного затенения окружения на Андроид)
Unity проблемы с освещением на ANDROID
Agr674Дата: Вторник, 23 Августа 2016, 21:43 | Сообщение # 1
был не раз
Сейчас нет на сайте
Создаю игру, где есть необходимость использовать освещение так, чтобы был виден перс и небольшое окружение, а все остальное было полностью не видно. В самом Unity все видно нормально, при компиляции, к примеру, как веб приложение тоже, но при компиляции на андроид света почти нет.
Как должно быть:
http://s1.uploadpics.ru/images/bkH8oD70v-.png
Как выглядит под андройдом:
http://s1.uploadpics.ru/images/-JhGRwQRPZ.png
К текстуре пола и стенам прикрепляю материал со следующими параметрами:
http://s1.uploadpics.ru/images/-kdIgOQ0wW.png
Над персом расположен источник света параметрами:
http://s1.uploadpics.ru/images/ZJ09M_QRDZ.png
Компилировал под андроид 2.3.1 и 4.1.1 результаты одинаковы (тестил как на эмуляторе, так и на реальном железе).
Как сделать, чтобы результат на андройде был такой же, как на юнити. Причем, желательно, чтобы не нужно было переделывать все с 0 (может просто настройки где то выставить правильно нужно).
Вот еще настройки компиляции:
http://s1.uploadpics.ru/images/-166t_XRD-.png
LertmindДата: Среда, 24 Августа 2016, 00:08 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Поставь в материале Metallic - 0.
Agr674Дата: Среда, 24 Августа 2016, 08:46 | Сообщение # 3
был не раз
Сейчас нет на сайте
Цитата Lertmind ()
Поставь в материале Metallic - 0.

В этом случае пропадает эффект полного затенения, необходимо, чтобы то, что свет не освещает не было видно совсем.
LertmindДата: Среда, 24 Августа 2016, 09:57 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Emission в 0 тоже ставь и Lighting -> Scene -> Ambient Color в чёрный цвет, будет темно.

Добавлено (24 августа 2016, 09:30)
---------------------------------------------
Здесь металлик в 0, его трогать нет смысла. Для блоков материла по умолчанию, если сделать Fade, то не будет виден, который на свету, лучше выбирать Opaque.

Добавлено (24 августа 2016, 09:44)
---------------------------------------------
Хотя у меня на устройство всё равно темновато. Лучше не использовать динамический свет вообще, он жрёт ресурсы, а некоторые телефоны вообще могут не поддерживать pixel lighting, тогда свет будет выглядеть ещё хуже. В твоём случае можно обойтись специальным шейдером.

Добавлено (24 августа 2016, 09:57)
---------------------------------------------
Ещё две ссылки, если захочешь поиграться со светом и тенью:
Light of Sight - 2D Dynamic Lighting [Open Source]
http://forum.unity3d.com/threads.....385996

Agr674Дата: Среда, 24 Августа 2016, 20:17 | Сообщение # 5
был не раз
Сейчас нет на сайте
Огромное спасибо. Помогло выставить Lighting -> Scene -> Ambient Color в чёрный цвет. Так же заменил материал на Sprites/Diffuse. Плюс повыставлял расположение света, радиус и интенсивность. На андройде теперь освещение нормально, но ощущение все равно какое то не такое (при запуске именно на железе ощущение небольшое, что свет кругами отходит).
Если не сложно, можно пояснить, что именно имеется в виду под выставлением специального шейдера?
И еще вопрос. Если я выставляю при компиляции Rendering Path>Legacy Deferred (light prepass), будет ли это являться оптимальным в моем случае? (сравнение этого параметра смотрел, интересует именно мнение основанное на опыте).
LertmindДата: Среда, 24 Августа 2016, 23:06 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Цитата Agr674 ()
Если не сложно, можно пояснить, что именно имеется в виду под выставлением специального шейдера?
С этой областью плохо знаком, видел техники, когда в 2D затеняют области, шейдеры в некоторых случаях даже необязательно использовать. "Туман войны" к этому относится, но там могут храниться все открытые области, а в твоём случае надо отображать только определённые места. Вот одна из статей от русскоязычного человека на английском :) http://halfbus.co/post/97403037251/fog-of-war-postfx. Тут ещё один ответ, но не уверен, что в твоём случае пойдёт.

Цитата Agr674 ()
Если я выставляю при компиляции Rendering Path>Legacy Deferred (light prepass), будет ли это являться оптимальным в моем случае?
Нет, читай про Rendering Paths (ru, eng), для большинства мобилок только Forward Rendering пойдёт, а Forward Rendering имеет основной недостаток - ограничение на количество pixel lighting, поэтому надо правильно работать со светом. У Deferred Shading тоже свои недостатки, но Legacy Deferred лучше не рассматривать, учитывая что оно не поддерживает Standard шейдер. Rendering Paths относятся не только к Unity, а к рендерингу графики вообще.


Сообщение отредактировал Lertmind - Среда, 24 Августа 2016, 23:09
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Unity проблемы с освещением на ANDROID (Не работает эффект полного затенения окружения на Андроид)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг