Компіляція карт за допомогою Q3Map2
« Створення власного середовища | Quake 3 Arena »
Введення
Що відбувається, коли ми запускаємо компіляцію рівня? На початку компілятор создает bsp дерево (що це таке - читай нижче). Создание bsp є базовим при створенні того, що ми побачимо в грі. Це стіни з текстурамі, ітеми, рухомі частини рівня (двері, платформи), а також вода на рівні (під цим також розуміється лава і слиз).
У процесі перевіряється цілісність рівня, тобто він повинен бути замкнутим і не мати витоків ( leaked ) во<внешний> . Відповідно, всі ітеми повинні знаходитися в межах створеного нами світу (також до витоку приведе ітем, що знаходиться в стіні). Інакше на рівні виникають дикі візуальні глюки і сильно падає швидкість.
Потім на основі бсп дерева компілятор считает vis таблиці , які зберігають інформацію про те, які поверхні і з яких місць повинні бути видні в даний момент. Якщо мені не змінює пам’ять, то вперше вони були використані Кармаком в игре DOOM , правда у вигляді додаткового патча.
Його застосування сильно збільшувало швидкість на 386 процесорах (на теперішніх, ясна річ, ми цього і не відмітили б :-).
Останній етап - це розрахунок освітлення - накладення lightmap”ов (тобто, накладення карт тіней) і розрахунок вертексного освітлення (це просто рівномірне освітлення кожного пікселя текстури. Простіше кажучи, прийнятна картинка при мінімальних витратах). Цей процес, як правило, найтриваліший зі всіх попередніх.
Binary Space Partitioning (BSP) Tree - стандартне бінарне дерево, використовуване для сортування і пошуку багатокутників і многогранників в n-мірному просторі. Узяте в цілому BSP-дерево є весь простір, а кожен його вузол обмежує опуклий підпростір.
Tags: дерево, ключ, компіляція, освітлення, поверхня, рівень, розрахунок
Как создавать карты
Схожі записи
April 05 2009 09:15 am | Как создавать карты



