В этой теме люди могут делится своими методами освещения сцены интерьера экстерьера.
В настоящий момент меня интересует освещения небольшого микрораена размером приблизительно (2км на 2км ) я ставлю четыре точечные источники света с мултипером (0,5) по переметру . но желаемого результата освещения не добиваюсь ???
Интересно как другие освещают
Подскажите, люди добрые, в чем проблема!
Помещаю в модель квартиры 7 источников типа Spot Light - все нормально, помещаю 8-й источник (и более)- они уже не дают никакого эффекта, как ни старайся ???
Сталкивался ли кто-нибудь с такой проблемой?
Вроде источников до 50 штук можно помещать, как я где-то читал.
Понимаю, что источников света больше 8ми 9Директ не поддерживает. Огорчаться не стоит, остальные источники делаются шейдерами.
В шейдер входным значением будет положение источника света, цве, яркость (это стандартно). Всё зависит от написанного шейдера.
Спасибо, Sqwer!
Попробую разобраться, хотя с шейдерами дел практически не имел, кроме квестовских. Пока с трудом представляю, каким образом это делается.
зачем так много источников света?
Связка лайтмапов и 8 источников смотрится куда лучше!!!
Да просто квартиру делаю.
Наверное так и поступлю.
А может имеет смысл расположить источники везде, где надо, и попросту включать в тех помещениях, куда входишь, и отключать там, откуда уходишь? Тем более, что источники из соседнего помещения светят «сквозь стену». Вот кстати тоже интересный момент. Как его избежать - делать для каждого помещения свой рендер со своими источниками? Или как-то еще можно ограничить распространение света?
А вот еще один пример, когда необходимо много источников – в тунеле.
Идея С поочерёдным включением источников получится, многие так и поступали.
Подсвечивание других комнат можно исключить, используя тени или ограничивая радиус действия источников света.
Используя максовский Финал рендер можно получить невероятно реалистичные лайтмапы.
ПС. я использовал бы лайтмапы.
Спасибо за советы!
Попробую)
Приветствую. У меня вопрос по освещению.
Я решил сделать сцену без лайтмапов и с динамическими источниками света с тенями (для практики). Сделал небольшую комнату, немного повозившись сделал NormalBump и тени (Stencil Shadow). Но вот со светом беда. Для отбражения рельефа я использовал стандартный канал Bumpmapping (diffuse&Specular). И не смог после этого настроить затухание света, этот канал на него не реагирует. В результате получается всё весьма отвратно! В общем данный канал неважно работает с углом освещения и расстоянием до ИС. Сцена очень контрастно и равномерно освещена. Я так понимаю что потребуется использовать какой-то шейдер. Или есть иные пути решения проблемы?
Советы, скорее даже правила:
Правило 1: не юзай стенсили (производительность сильно зависит от сложности геометрии)
Правило 2: не юзай Квестовые шейдеры (всё равно их расширять, как например в твоём случае надо в код шейда добавить затухание по расстоянию от источника света)
Делается это в вертекс шейдере где интесивность = (расстояние (вектор ИС, объект))/аутенацию
для лучших результатов используют квадрат аутенации (что физически обасновано).
Спасибо, я догадывался, но небыло уверенности. А кроме как НЕ ДЕЛАТЬ, сможете подсказать как всё-таки ДЕЛАТЬ? Хотя бы в общих чертах.
Прикрутил шейдер из этих примеров
https://guest3d.wohlnet.ru/forum/index.php?topic=130.0 (https://guest3d.wohlnet.ru/forum/index.php?topic=130.0)
Картинка получше. Пропали тени. Но так как было говорено ранее, они не особо быстры, следует вопрос - какие тени исользовать?
http://3dvrm.com/shadows_solution/
ЦитироватьА кроме как НЕ ДЕЛАТЬ, сможете подсказать как всё-таки ДЕЛАТЬ? Хотя бы в общих чертах.
я же уже ответил постом выше:
Делается это в шейдере где интесивность = (расстояние (вектор ИС, объект))/аутенацию
Но так как было говорено ранее, они не особо быстры, следует вопрос - какие тени исользовать?
Пожалуйста, решение от многоуважаемого Viik'а.
http://3dvrm.com/shadows_solution/
это вроде PSSM
Браво, Виктор!!! ;)
До такого я пока не дорос, и по тому использую простенькие приёмчики шадомаповые.
http://www.gamedev.ru/code/articles/ShadowMapGLSL
+ размытие по глубине.
Спасибо, буду почитать!
Технический вопрос. Если я подключил в дерево объекета шейдерный канал и перецепил информацию он вершинах не так как по дефолку, то может пропасть коллизия с этим объектом?
..............
Sqwer: для колизии используй упрощённую геометрию.
из прочитанного следует что реализацию теней требуется делать в шейдере и никаких стандартных теней? То есть шейдер расчитывает все расстояния, векторы и тд для каждого пикселя. Верно понял?
Sqwer: ага.
2Sqwer? я знаю про упрощеннную геометрию. Для скорости делал на той же что и является "цветовой" геометрией и просто столкнулся с такой бякой. Всё это ради исследиваний а не практический применений.
Спасиб за советы :)
Мда, почитал я про шейдерописание. Всё-таки не мало надо времени потратить чтобы самостоятельно этому научиться. А так как научить собственно некому, видимо придется искать готовые решения. Если вдруг тема по моему следующему вопросу открыта, то поправте меня, если нет, то подскажите следующее:
Я хочу собрать сцену со следующими элементами:
- Геометрия с 2х слоями текстуры: 1. Диффузная. 2. Лайтмап типа AmbientOcclusion.
- Хочу сделать на материалах Normals, Alpha, и др стандартные штуковины.
- Помимо лайтмап требуется сделать и реалтаймные тени от 2-3 источников.
- Bloom, РВК прочие навороты уже как прикрутки и не обязательны.
В чем собственно проблема? А вот в тех самых шейдерах и в частности в тенях. Stensil тени я сумел прикрутить, но применение добротных шейдеров из ShaderFX их убило. Написать (дописать) свои я не силён :( Какие есть варианты? Может кто имеет хорошие исходники шейдеров с перечислеными возможностями и непротив ими поделиться? Может уважаемый Sqwer откликнется? ;)
PS, по написанию шейдеров я читал и стараюсь читать далее, так что этот вариант обрабатывается. Я поднимаю вопрос о готовых решениях.
Вот тут находится реализация теней. (http://forum.quest3d.com/index.php?action=dlattach;topic=66423.0;attach=128349)
они быстрые, но не пригодны для аутдор сцен (всвязи проблем альясинга глубины). К этому шейдеру легко прикрутить Normals, Alpha, Difuse (все действия производятся в PS).
Как прикручивать описано тут (https://guest3d.wohlnet.ru/forum/index.php?topic=426.0) бывшим квестером а ныне Юнитистовцем
Const_47Цитата: Viik от 07 декабря 2008, 02:04:12
Есть такая книжка "Shaders for programmers and artists", прочитай ее можно за 2-3 дня, и пройти все уроки. Большая часть вопросов отпадет сама. Разбираясь на примерах далеко не уйдете. Просто сейчас вы хотите чтобы шейдер просто работал, вроде получилось, потом станет вопрос внесения изменений в код, оптимизации, использования других моделей освещения, юзания масок и т.п.
А вот и эта книжка, про которую говорил Виктор, отослал в личку.
ОТ-ЛИЧ-НО! Да не снизится частота твоего ядра за твой Добродетель!
зы. Юнитистовец это кто? я видимо не в курсе такой профессии :)
__________
Что-то в предложенном примере теней и нет вовсе :(. Может какие несостыковки по версиям.
ЦитироватьЧто-то в предложенном примере теней и нет вовсе . Может какие несостыковки по версиям.
Камеру переключи ;D
Юнитистовец - это юзер данного ПО (http://www.unitydev.ru/)
ХАХА, оч смешно. Первое что сделал это переключился в камеру. Она вообще на нуле лежит и не двигается. Следовательно пол у меня плоский и теней не вижу. Но усилием моска я поднял камеру повыше и всё заработало :)
Ну ваще ты прав, просто не ПЕРЕКЛЮЧИ а ПОКРУТИ.
Да-да, простите уж меня - дурака. Забыл сказать что её не только переключит , но и покрутить надо. А крутить надо так: УДЕРЖИВАЯ левую кнопку мыши, премещаем её.
;D Между прочим по-началу и знать не знал что так можно! Изменял циферки в канале векторов положения и поворота!!! Так что кто тут еще дурак :D
Друзья мои, не осилил я пока что теневое шейдерописание, впрочем как и любое другое. И решил немного пошарить по нету в поисках готовых. Набрел на сайт
http://knowledgebase.quest3d.com/browse/detail/55 (http://knowledgebase.quest3d.com/browse/detail/55)
С этой странички скачал прилагаемый шейдер (копия кода из канала). Всё там круто, есть нормалмап, спекьюлярмап, и даже стенсил тени (да, пока что их) работают. Но вот незадача, не всегда они работают. Сделал эксперемент, поставил импортировнную плоскость. Пославил местный бокс, подключил стенсил-тени, всё работает. Потом импортировал из макса объект нужный для сцены - не могу подключить тени! Точней подключаю но не работает. Предположил что быть может это из-за того что меш состоит из нескольких частей. Сделал отдельно части (боксы), всё равно теней нет. Сделал новый бокс в максе е нужный для сцены, импортнул - работает. Сделал новые боксы на нужном месте, импортнул - не работает! Это издевательство! Почему тени стенсиловые могут не работать если при таких же условиях с другими объетами и с тем же шейдером они работают?
Вопрос дня: стот ли производить фрустум кулинг объектов при касте теней от множества объектов, если солнце всегда в зените(т.е. солнце потенциально охватывает 1/3 от сцены)?
Реализация теней PSSM.
может лучше смоделить примитивную геометрию и запекать примитывные объекты в 1 сетку , и только затем подавать на обработку?
:P