Видео
ИГРЫ_ОБМАНЫВАЮТ_ВАШИ_ГЛАЗА!_RARENDER_1080p,_h264.mp4 · 40.3 МБ · нажмите — покажем
ИГРЫ_ОБМАНЫВАЮТ_ВАШИ_ГЛАЗА!_RARENDER_1080p,_h264.mp4 · 40.3 МБ · нажмите — покажем
🙈 Магия запекания нормалей (Normal Map Baking)
Современные игры обманывают наш глаз, превращая «картон» в фотореалистичный 3D-объект. Все мы знаем, что 60 FPS и высокий полигонаж — вещи несовместимые, особенно на мобилках или консолях. Именно здесь помогает Baking Normal Map. Суть в том, что создаются две модели:
👍 1. High-poly (HP): Миллионы полигонов, скульптинг, микроповреждения, каждая заклепка проработана.
✔️ 2. Low-poly (LP): Пара тысяч треугольников, грубый «пенек» или «коробка».
Далее мы «запекаем» (Bake) информацию о направлениях нормалей с HP-модели на LP-модель. В каждом пикселе текстурной карты (Normal Map) закодированы векторы (XYZ → RGB). В шейдере мы подменяем стандартные нормали меша на эти тексельные значения. В результате, луч света отражается от пикселя так, как будто поверхность имеет сложный рельеф, хотя геометрически она плоская.
▪️ HP модель камня: 2,000,000 полигонов.
▪️ LP модель камня: 500 полигонов + Normal Map 2048x2048.
▪️ Результат: Качество визуально то же самое, а FPS вырастает в разы.
Есть нюансы:
1. Растяжки (UV Seams): Нужно аккуратно разворачивать UV, иначе нормали будут «разрываться».
2. Тангенциальное пространство: Обязательно используем MikkTSpace, чтобы избежать артефактов на тенях.
3. Наклонные поверхности: Карта нормалей не меняет силуэт! Если смотреть на объект сбоку, вы увидите углы меша LP.
Именно благодаря этой технологии мы имеем открытые миры с детализированным окружением, не нагружая видеокарту терабайтами данных.
А как вы бы боролись с артефактами «дергающихся» нормалей на сложных скелетных анимациях ?
#gamedev #разработка_игр #программирование #математика #графика #3d
🔵 Эпсилон // @epsilon_h
9 · 1.4K ·