Нормали вершин и рендеринг в 3D играх

Швы при освещении модульных конструкций
Занявшись модульным моделированием игровых локаций, я еще в Unity столкнулся с проблемой наложения освещения на блочные конструкции. Проблема в том, что при рендере блоки отчетливо видны, хотя в теории должны образовывать единую конструкцию. Это отчетливо видно на рисунке в верхней части кирпичной стенки.

Все, на что у меня хватило ума в тот раз — это отказаться от использования освещения в Unity и применять Unlit-шейдеры, да и вообще, отказаться от Unity и перейти на UDK:), в котором на первый взгляд таких проблем с модульными конструкциями не наблюдалось. Потом, правда, оказалось, что и в UDK эта проблема имеет место быть, в частности при создании травы. Теперь же хочу поделиться решением этой проблемы, да и вообще, немного погрузиться в теорию нормалей вершин в рендере 3D движков.


( Читать дальше )

Проблемы с освещением в UDK: Свет сквозь стены

Освещение в UDKКак человек увлекающийся, я быстро загораюсь какой-то идеей. Однако по прошествии некоторого времени (обычно небольшого его количества) идея уже кажется мне не столь привлекательной, как раньше. Более того, я могу полностью разочароваться в ней. Раньше мне это очень сильно мешало доводить проекты до конца. Но теперь ко мне пришла старость:), и я (кажется) научился справляться с этим недостатком и даже немного использовать его в своих целях.

К чему это я? Подустал я пилить боевую систему и решил немного отвлечься, занявшись освещением. Эту тактику работы я считаю правильной для увлекающегося человека — чуть-чуть поделать одно, пока интересно, потом чуть-чуть поделать другое, а потом опять вернуться к предыдущему этапу, когда снова станет интересно. Так я потихоньку двигаюсь по всем фронтам, и это иногда спасает от серьезных ошибок.

Например сейчас, когда я занялся освещением и столкнулся с первыми проблемами, я поблагодарил себя за то, что не стал делать все модели для игры сразу, а сделал только небольшую порцию. Оказывается, согласно некоторым руководствам и темам на форумах, я делал свои модели немного неправильно. И если бы я создал весь арт сразу, мне пришлось бы весь его переделывать. И с этим я уже сталкивался несколько раз при работе с UDK.


( Читать дальше )