PDA

Просмотр полной версии : Освещение сплайнов


Skif
21.03.2010, 12:58
Коллеги, помогите побороть баг с просчетом освещения в ТРС2009.

Суть проблемы такова: имеются сплайновые рельсы по технологии "ТРС 2009" - с иерархическими ЛОДами (4 штуки) и терминаторами на концах звена (закругления насыпи и торцы рельсов - "срез") . Под них сделал "кисточку" для грунта, искусно подобрав цвет и масштаб картинки - чтобы не был заметен шов между сплайном и землей.

Результат оценили на моем сайте моментально - рельсы не торчат из земли и смотрятся как единое целое с поверхностью, к чему я и стремился. НО! Смотрятся они так, как оказалось, только во время суток около 12.00 . В сумерках, утром и вечером, эта зараза затемняется, причем абсолютно неверно - не с одной стороны, как положено, а сразу с двух (т.е. на солнечной стороне тоже появляется тень). Мне же нужно, чтобы освещенность этого сплайна менялась синхронно с освещенностью поверхности земли. КАК это сделать?....

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

Очень прошу помочь - рельсы того стоят.

Grebnev
21.03.2010, 15:57
мертвому припарки (http://trainsim.ru/forum/showpost.php?p=162912&postcount=12), Дима))

genesis
21.03.2010, 16:04
У тебя ведь рельсы с картой нормалей?
Попробуй дописать modifymap=flipgreen в texture.txt файл карты нормалей.
Если без, то поробуй сделать с ней.

Skif
21.03.2010, 16:36
Хренушки, Гребнев :)) не дождешься!

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

После того, как добавил текстуре карту нормалей (достаточно даже простой плоской, без рисунка, одноцветной!) - все исправлено. Всем спасибо, тему можно прикрыть.

Combine
22.03.2010, 02:28
что хватает ориентации нормалей пикселей Вообще-то, полигонов.

Skif
22.03.2010, 10:25
Вообще-то, пикселей :) . При просчете освещенности каждому пикселю поверхности сопоставляется СВОЯ нормаль. При отсутствии карты нормалей, в пределах одного полигона нормали всех пикселей параллельны и совпадают с ориентацией нормали этого полигона :) . Согласен?

Combine
22.03.2010, 10:45
Не согласен. В ТРС освещение per-vertex, для расчета используются нормали полигонов. Пиксели тут вообще не при чем, это уже конечный результат расчета. Расчет освещение ведется в трехмерном пространстве (world space), тогда как пиксель принадлежит screen-space — двумерному пространству монитора. Нормал-маппинг, равно как и наложение текстур в целом (и динамическое попиксельное освещение), выполняется в screen-space.