VorteX
341 постов
Карма: 60
#1 10 марта 2008 в 19:30
Кто не знает, для карт Deluxe Quake мы используем формат Q3BSP, и для идеального закоса под Quake приходится исправлять некоторые баги Q3map2 и вводить новые фичи.<br /><br />Может и другим мапперам оно пригодится :)<br /><br />последняя версия тут: http://darkmaster.quakedev.com/files/Q3Map2_FS20g_R5.zip (1.8 Мб)<br /><br />Список изменений:<br /><br />Новые ключевые слова .shader<br /><br />&nbsp; q3map_deprecateShader &lt;имя_шейдера&gt;<br /><br />&nbsp; &nbsp; &nbsp; Мгновенно редиректит парсер на &lt;имя_шейдера&gt;, для подмены одних шейдеров другими. <br />&nbsp; &nbsp; &nbsp; Важно: шейдер на который производится перенаправление должен быть объявлен ранее.<br /><br />&nbsp; &nbsp; &nbsp; Пример использования:<br /><br />&nbsp; &nbsp; &nbsp; // этот шейдер появится на карте как &quot;textures/#water0&quot;<br />&nbsp; &nbsp; &nbsp; textures/test/test_deprecate_water<br />&nbsp; &nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; q3map_deprecateShader textures/#water0 <br />&nbsp; &nbsp; &nbsp; }<br /><br />&nbsp; q3map_floodlight &lt;красн&gt; &lt;зел&gt; &lt;син&gt; &lt;дистанция&gt; &lt;яркость&gt; &lt;сила_направления&gt;<br /><br />&nbsp; &nbsp; &nbsp; Самоосвещение поверхности (только лайтмап!) по методу FloodLight.<br />&nbsp; &nbsp; &nbsp; &lt;красн&gt; &lt;зел&gt; &lt;син&gt; - устанавливает цвет освещения<br />&nbsp; &nbsp; &nbsp; &lt;дистанция&gt; - устанавливает расстояние трассировки. Чем выше дистанция, тем меньше <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; освещенность и тем она ровнее. Чем меньше дистанция, тем сильнее освещенность<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; и тем она сильнее угнетается в углах<br />&nbsp; &nbsp; &nbsp; &lt;яркость&gt; - множитель яркости освещения<br />&nbsp; &nbsp; &nbsp; &lt;сила_направления&gt; - FloodLight добавляет освещение с направлением по перпендикуляру <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; к поверхности. Этот параметр устанавливает силу его доминирования <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; при слиянии с стандартным deluxe-вектором освещения.<br /><br /><br />&nbsp; &nbsp; &nbsp; Пример использования:<br /><br />&nbsp; &nbsp; &nbsp; // вода с подавлением вектора делюксмаппинга, чтобы источники вблизи не кастовали ненужные тени<br />&nbsp; &nbsp; &nbsp; textures/#water0<br />&nbsp; &nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; q3map_floodlight 0.6 0.6 0.6 256 128 200<br />&nbsp; &nbsp; &nbsp; }<br /><br />Новые ключи командной строки:<br /><br />&nbsp; -gridscale &lt;X&gt;<br /> <br />&nbsp; &nbsp; &nbsp; Множитель уровня освещения в lightgrid, охватывает амбиент и дирекшн-составляющие<br /><br />&nbsp; -gridambientscale &lt;X&gt;<br /><br />&nbsp; &nbsp; &nbsp; Умножает только ambient-составляющую освещения lightgrid<br /><br />&nbsp; -keeplights<br /><br />&nbsp; &nbsp; Работает только в фазе Light. Компилятор не удаляет объекты источников света из BSP после <br />&nbsp; &nbsp; завершения построения лайтмапа (имеет более низкий приоритет чем ключ _keeplights у worldspawn) <br /><br />&nbsp; -deluxemode &lt;формат&gt;<br />&nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; Работает только в фазе Light. Устанавливает формат карт направления освещения<br />&nbsp; &nbsp; &nbsp; 0 - modelspace (по умолчанию), 1 - tangentspace<br /><br />&nbsp; -nodeluxe<br /> <br />&nbsp; &nbsp; &nbsp; Работает только в фазе Light. Отключение делюксмаппинга<br /><br />&nbsp; -nopatchshadows<br />&nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; Работает только в фазе Light. Отключение кастования теней кривыми <br /><br />&nbsp; -styles<br />&nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; Работает только в фазе Light. Включение .shader-эмуляции лайтстайлов в Quake 3<br /><br />&nbsp; -samplescale &lt;X&gt;<br /><br />&nbsp; &nbsp; &nbsp; Работает только в фазе BSP. Множитель пикселя лайтмапа, чем он выше тем выше разрешение лайтмапа<br /><br />Новые ключи объектов:<br /><br />&nbsp; spawnflag 32 (объекты light*)<br /><br />&nbsp; &nbsp; &nbsp; Цвет источника света не нормируется<br /><br />&nbsp; spawnflag 64 (объекты light*)<br /><br />&nbsp; &nbsp; &nbsp; Для рассеивания света используется дистанционная формула, как у солнца или света от поверхностей<br /><br />&nbsp; _smoothnormals/_sn/_smooth &lt;угол&gt;<br /><br />&nbsp; &nbsp; &nbsp; Устанавливает сглаживание нормалей вертексов объекта с углом слома больше чем &lt;угол&gt;<br />&nbsp; &nbsp; &nbsp; Эффект идентичен .shader-ключу q3map_shadeangle или ключу командной строки -shadeangle<br /><br /><br />&nbsp; _patchMeta/patchMeta<br /><br />&nbsp; &nbsp; &nbsp; Заставляет компилятор сконвертировать все кривые, принадлежащие объекту в обычные браши<br /><br />&nbsp; _patchSubdivide/patchSubdivide<br />&nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; Устанавливает лимит терпимости при разбиении кривой (чем ниже лимит терпимости тем <br />&nbsp; &nbsp; &nbsp; большее количество полигонов порождает кривая), по умолчанию равен 8, в Quake 3 равен 4.<br />&nbsp; &nbsp; &nbsp; Будьте осторожны с очень низкими/высокими значениями!<br />&nbsp; <br />&nbsp; _patchQuality/patchQuality<br />&nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; Делитель patchSubdivide, &quot;patchSubdivide 4, patchQuality 2&quot; идентично &quot;patchSubdivide 2&quot;<br /><br />&nbsp; _ls<br /><br />&nbsp; &nbsp; &nbsp; Синоним _lightmapscale, порядок проверки: lightmapscale-&gt;_lightmapscale-&gt;_ls<br /><br />Новые режимы игры:<br /><br />&nbsp; -game dq<br /><br />&nbsp; &nbsp; &nbsp; Компиляция карты с установками для quake1-мода &quot;Deluxe Quake&quot;<br /><br />&nbsp; -game darkplaces<br /><br />&nbsp; &nbsp; &nbsp; Компиляция карты с установками для quake1-движка Darkplaces<br /><br />Системные изменения:<br /><br />&nbsp; Изменено поведение ключей _deviance/_samples, если _deviance найден, то _samples устанавливается<br />&nbsp; по умолчанию в такое же значение<br /><br />&nbsp; Пофиксен баг с -deluxemode 1 -bounce<br /><br />&nbsp; Пофиксен баг со светлыми выделяющимися краями теней при делюксмаппинге<br /><br />&nbsp; Добавлено сообщение в BSP-фазу &quot;entity has vertex normal smoothing with...&quot; если ключ _smoothnormals/_sn/_smooth<br />&nbsp; найден на объекте<br /><br />&nbsp; Для -game режимов dq/darkplaces/prophecy ключ командной строки -keeplights добавляется автоматически<br /><br />&nbsp; Почищен код освещения по методу FloodLight<br /><br />&nbsp; Режимы игры &quot;dq&quot;, &quot;darkplaces&quot;, &quot;prophecy&quot; по умолчанию имеют -deluxemode 1<br /><br />&nbsp; MAX_TW_VERTS увеличено с 12 до 24 для возможности компиляции карты с огромным количеством кривых<br /><br />&nbsp; -game-зависимые опции печатаются теперь в начале Light-фазы<br /><br />&nbsp; добавлена статистика &quot;EmitMetaStats&quot; в конце сборки BSP<br /><br />&nbsp; Объекты &quot;func_wall&quot; для -game dq/prophecy по умолчанию кастуют тени<br />
DOOMer
1600 постов
Карма: 103
#2 13 марта 2008 в 23:04
Спасибо, Паша.<br /><br />В принципе почти все это мне лично уже было известно,&nbsp; но пока особо ещё с этим компилятором не работал. Но думаю что в будущем - придётся и эти новые фичи освоить.
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i7 8700 3.3 Ghz, 32 Gb RAM, GeForce RTX2060s
Gentoo Linux [amd64] | Windows 10 Home



сохранись перед дверью...два раза =)
VorteX
341 постов
Карма: 60
#3 14 марта 2008 в 10:06
Если под Deluxe Quake мапить, то без правленной версии не обойтись, в оригинальном q3map и q3map2 нет нормального способа воду залайтмапить, а делать воду светящейся в темноте неправильно, плюс делюксмаппинг кривой.<br /><br />Вот кстати пара скринов, демонстрирующих возможность тонкой настройки лайтгрида посредством -gridscale и -gridambientscale. Одна из коробок с патронами освещена лайтмапом, я думаю несложно догадаются какая<br /><br />Оригинальный Q3map2:<br /><br /><br />Q3Map2_FS20_R5 -gridscale 0.4 -gridambientscale 0.5<br /><br />