Среда, 13 Ноября 2024, 12:49

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Апгрейд теней для POINT LIGHT
HanzoДата: Суббота, 26 Марта 2016, 22:40 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Недавно копаясь на gamedev.ru нашел интересную тему Мягкие тени для Point Light в Unity3D

Местный "алхимик" с ником LifeKILLED на базе основных теней Юнити "сварил" свое опен-сорсное зелье cool которое и выложил на суд общественности.
Доработанная система теней привнесет (буду сравнивать на Very High Resolution):

1) тени от источников света типа POINT теперь действительно мягкие - нет ступенек от PCF-фильтрации


2) подправлен биос теней - избавились от ситуации, когда тень начинается дальше места стыка объекта с поверхностью



3) тени от полупрозрачных объектов и системы партиклов корректные - они теперь не выглядят как шахматная сетка



4) затенение по дистанции видимости (пока не риализовано) - товарищ LifeKILLED сейчас разрабатывает систему обсчета теней в зависимости от расстояния объекта к источнику освещения. Это даст более корректный физический результат: объекты которые расположены ближе к ИС будут давать более размытые тени на поверхности, а дальние объекты - более четкие. Будем ждать.



Да и того что есть за глаза хватает)

не обошлось и без минусов:

1) доработанные тени в среднем на 5-10% медленнее - быстрее они будут только с понижением качества
2) при понижении качества на тенях от полупрозрачных объектов проступают артефакты фильтрации - в принципе можно убивать качество с расстоянием.

Немного поднастроил тень по инструкции автора - просто показалось что она излишне размытая и биос чуток подкрутил.
Вот ссылка POINT SHADOW
после скачки распаковать архив по адресу: "Program Files\Unity\Editor\Data\CGIncludes" заменив исходник. Перед запуском Юнити найдите "Директория проекта\Library и удалите папку Shader Cache. Затем запускаем Юнити и юзаем новые тени.
Настройку теней делал через Mono Develop. Почему-то файл прям в дериктории не сохраняется, поэтому я держал его отдельно в папке, там и настраивал, а потом копировал с заменой в CGIncludes.
По настройке (указываю с номером строк):

102| mydist *= 0.999; // bias - соответственно биас тени - отвечает за точность построения тени. Нужно соблюдать баланс чтобы плоские поверхности не артефачили с замозатенением и чтобы не было отступа тени от объекта. базовое значение было 1.5 что создавало артефакты - я его чуток уменьшил.

104| const float downscale = 512.0f; - степень размытости тени - чем меньше тем размытие больше

остальное не крутил.

Вот итог (система Athlon2 x3, 8Gb DDR3, GTX 650 ti):


тут то в принципе сцена маленькая. Это конечно не RTSM (Ray-Traced Shadow Mapping) но всяко лучше того что было)
  • Страница 1 из 1
  • 1
Поиск:

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