|
|
|
Normal Map
|
|
Neoklai | Дата: Пятница, 09.01.2009, 23:55 | Сообщение # 1 |
Добрый админ
Группа: администраторы
Сообщений: 266
Статус: Offline
| Никак не дойдут руки до полноценного урока по созданию Normal Map. Поэтому решил создать отдельную тему, где можно будет задавать вопросы тем, кому интересна данная технология. Вот Normal Map, который отлично себя чувствует в TRS 2006:
Оживляем миры Trainz. Дорого. Качественно. С гарантией.
Сообщение отредактировал Lana - Суббота, 10.01.2009, 06:39 |
|
| |
ED9M-0909 | Дата: Суббота, 10.01.2009, 00:42 | Сообщение # 2 |
Группа: давно не заходили
Сообщений: 7
Статус: Offline
| Neoklai, ну для начала мне кажется стоит всем рассказать для чего нужен normal map и с чем его едят
|
|
| |
Neoklai | Дата: Суббота, 10.01.2009, 09:41 | Сообщение # 3 |
Добрый админ
Группа: администраторы
Сообщений: 266
Статус: Offline
| ED9M-0909, ну сочинять ничего не буду, вот что пишет интернет: На смену бампу пришло второе поколение алгоритмов рельефного текстурирования. Оно получило название Normal Mapping (иногда, хотя и довольно редко, его называют «нормалом» или «нормалями»). Главное отличие Normal Mapping от бампа — более высокая точность вычисления, которая достигается за счет добавления в карту данных об ориентации нормалей (перпендикуляров) поверхности. Еще одна важная особенность: Normal Mapping карты можно генерировать в автоматическом режиме, а не рисовать длинными зимними вечерами в Photoshop. Смысл нормаля довольно прост: на основе текстуры высокополигональной модели строится так называемая карта разности, которая, будучи наложенной на низкополигональный объект, делает его необычайно похожей на многополигональный. Вроде бы треугольников мало, а картинка выглядит так, словно их многие миллионы. В карте нормалей цвет каждого пикселя задает ориентацию нормали в данной точке поверхности. Пространственным координатам (X, Y, Z) соответствует тройка цветов (R, G, B). Значения R, G, B варьируются в пределах от 0 до 255, причем 127 соответствует нулю. То есть голубой цвет (127, 127, 255) описывает просто гладкую поверхность, а они на низкополигональной и высокополигональной модельке одинаковы. Это объясняет, почему карты нормалей имеют в основном голубой цвет, а детали выделяются другими цветами. Обратите внимание, в карте нормалей альфа-канал изображения содержит стандартную карту Bump Mapping. В компьютерных играх карты нормалей совершили настоящий переворот. Технология нормалей произвела революцию, пожалуй, даже большую, чем в свое время бамп. Теперь все объекты не только выглядят объемными, но и, как бы это сказать, настоящими, а не так, словно они сделаны из пластика. Сейчас сложно найти экшен или даже стратегию, движок которой не использовал бы карты нормалей. Это стандарт де-факто. Чтобы совсем все стало понятно, вот несколько скринов со сравнением (это простые плоскости, т.е. 1 полигон или два фейса): Вот собственно и сами карты нормалей для нашего примера: Ну и напоследок, еще раз напомню, не надо ждать TRS2009, все это прекрасно работает начиная с версии TRS2006 и выше. Вы можете убедиться в этом сами скачав данный пример здесь - http://ifolder.ru/9954244
Оживляем миры Trainz. Дорого. Качественно. С гарантией.
Сообщение отредактировал Lana - Суббота, 10.01.2009, 10:56 |
|
| |
ED9M-0909 | Дата: Суббота, 10.01.2009, 12:39 | Сообщение # 4 |
Группа: давно не заходили
Сообщений: 7
Статус: Offline
| Neoklai, спасибо теперь ясно
|
|
| |
Чингиз-хан | Дата: Понедельник, 12.01.2009, 15:09 | Сообщение # 5 |
3D Maxer
Группа: давно не заходили
Сообщений: 159
Статус: Offline
| Спасибо, понятно, но у меня возник вопрос, как экспортировать в игру?
|
|
| |
Neoklai | Дата: Понедельник, 12.01.2009, 21:02 | Сообщение # 6 |
Добрый админ
Группа: администраторы
Сообщений: 266
Статус: Offline
| Чингиз-хан, я же писал уже: Для TRS используем normal map в Tga в 24 bit (хотя надо проверить и jpg), основная текстура может быть jpg либо тоже TGA. Разрешение текстур одинаковое. Текстуры Normal Map помещаем в слот Bump в материале. Теперь внимание! Имя текстуры, это то, что по умолчанию 01-Standart, должно быть: name.m.tbumptex - если текстура матовая (где нейм, произвольное имя, не обязательно имя файла текстуры), это то, что использовал я, и name.m.tbumpgloss - если текстура глянцевая. Поддерживаются и мультитекстуры. Собственно все. Экспортируем по обычной схеме. Понятно, что чем больше разрешение, тем качественнее будет эффект от normal map.
Оживляем миры Trainz. Дорого. Качественно. С гарантией.
|
|
| |
Demiurgg | Дата: Четверг, 15.01.2009, 13:11 | Сообщение # 7 |
Группа: давно не заходили
Сообщений: 1
Статус: Offline
| Normal Mapping карты можно генерировать в автоматическом режиме, а не рисовать длинными зимними вечерами в Photoshop. А можно поподробнее про генерацию этих самых карт? Где мануал взять можно?
|
|
| |
Neoklai | Дата: Четверг, 15.01.2009, 16:51 | Сообщение # 8 |
Добрый админ
Группа: администраторы
Сообщений: 266
Статус: Offline
| Demiurgg, там речь шла про вечера и карты высот, то есть Bump , а для Normal Map для начала скачайте программку CRAZYBUMP - отсюда - http://www.crazybump.com/ потом можно освоить плагин для Фотошопа, который не сложен в принципе.
Оживляем миры Trainz. Дорого. Качественно. С гарантией.
|
|
| |
Андрей | Дата: Пятница, 16.01.2009, 01:10 | Сообщение # 9 |
Группа: Удаленные
| Quote (Neoklai) 01-Standart, должно быть: name.m.tbumptex Так имена текстур должны быть именно такими?
|
|
| |
jim_spb | Дата: Пятница, 16.01.2009, 01:51 | Сообщение # 10 |
Куидный Бог
Группа: давно не заходили
Сообщений: 320
Статус: Offline
| Андрей, да, особенно с новыми конвертерами, которые не изменяя имена материалов, переписывают их в образ модели (IM) напрямую. Возможны три типа текстур с картами нормалей - name.m.tbumptex , name.m.tbumpgloss , name.m.tbumpenv . Последний тип доступен только в TS2009WBE SP1.
|
|
| |
Андрей | Дата: Пятница, 16.01.2009, 12:21 | Сообщение # 11 |
Группа: Удаленные
| jim_spb, Понятно. Тогда еще один вопрос как говорилось выше Quote (Neoklai) name.m.tbumpgloss - если текстура глянцевая. я так понимаю у текстуры в игре будет блик?
|
|
| |
Neoklai | Дата: Пятница, 16.01.2009, 20:09 | Сообщение # 12 |
Добрый админ
Группа: администраторы
Сообщений: 266
Статус: Offline
| Андрей, да, некий эффект пластика будет наблюдаться. Дим, а что за name.m.tbumpenv и где взять новый конвертер? Ой, все, увидел в соседней ветке. Спасибо Дим за новость!
Оживляем миры Trainz. Дорого. Качественно. С гарантией.
|
|
| |
Андрей | Дата: Понедельник, 19.01.2009, 12:57 | Сообщение # 13 |
Группа: Удаленные
| Neoklai, Скажи такую вещь. Делаю вокзал применяю нормали, но в самой игре текстуры отображаются не так как нужно, половина стен нормально как нужно, а остальные уж слишком крупно отображается текстура, хотя на всех объектах текстура натянута по объекту, и пропадает сама текстура окна, бывает такое, что загружаешь она есть, второй раз ее нет при этом ничего не меняя. Вот так должно быть: а вот так получается. Я вот думаю из за версии trainz? Хотя ты говорил, что в 2006 нормали себя прекрасно чувствуют.
|
|
| |
Neoklai | Дата: Понедельник, 19.01.2009, 18:28 | Сообщение # 14 |
Добрый админ
Группа: администраторы
Сообщений: 266
Статус: Offline
| Андрей, я думаю проблема проще, надо просто проверить расположение этих плоскостей на текстуре через Unwrap, возможно нужно будет перетекстурить так как явно сбито масштабирование. Бесшовные текстуры на полигонах разного размера имеют свои нюансы текстурирования, возможно потребуется использовать несколько слотов материала с одной текстурой для достижения необходимого числа повторений на различных объектах. Особенно это касается различных плиточных текстур или кирпичей, где их размер должен быть одинаковый. Normal Map не требует никакого отдельного подхода при текстурировании, он просто идет второй текстурой. Просто не забывайте прописывать нужное кол-во повторений по Х или Y, как в основной текстуре.
Оживляем миры Trainz. Дорого. Качественно. С гарантией.
|
|
| |
Андрей | Дата: Среда, 21.01.2009, 13:20 | Сообщение # 15 |
Группа: Удаленные
| спасибо! попробуем.
|
|
| |
| |