Welcome, guest. You can be a Login или register
Author
Topic title
digs
Offline
Q1 Forever
603 posts
Karma 18
Написал утилиту, которая помогает бить карту (map) на части.

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

Полная документация и скачивание здесь:

http://digspt.ru/works/mapspl/doc

Пока сделано только для q1, q2, потому что для q3 есть в формате свякие штуки типа кривых.
Если есть у кого спецификация Map для q3, дайте плиз.

Навскидку искал по инету - не нашел
my maps
DOOMer
Offline
Хранитель и могильщик Врат
1564 posts
Karma 103
Интересная утилита. На днях заценю обязательно.
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
kujipinaj
Offline
495 posts
Karma 16
digs, поясни, что-то я не понял ни черта в твоей разработке.
digs
Offline
Q1 Forever
603 posts
Karma 18
kujipinaj
Как это можно использовать:
1. У тебя есть большая карта, и ее компиляция занимает много времени. Ты ее бъешь на части. Работаешь с нужной тебе частью отдельно. Соответственно, она компилируется быстрее. Когда будешь делать релиз, соберешь части вместе.
2. Делают карту два человека. Тупо: один оду половину, другой другую. План набросали на бумажке, открыли редатор, нарисовали двери, в которых будет происходить соединение. После каждый забирает получившееся себе и когда нарисуют, могут слить воедино.
3. Делаешь карту, набрасывая браши и думая только об архитектуре. Сделал часть, отдаешь другому. Другой чел занимается текстурированием, расположением источников света и т.д. Пока он это делает, ты продолжаешь рисовать карту. Когда доделает, он тебе пришлет и ты вольешь изменения в то, что у тебя уже есть.

и т.д.
Вобщем штука для ускорения и коллективной разработки.

Почитай документацию, там вроде я все понятно расписал
my maps
VorteX
Offline
prime object
341 posts
Karma 60
Digs, интересная утилита, респект!
постараюсь выяснить её применение в DQ

Бтв я для ускорения компиляции (Q3BSP) использую пути с ухудшенным качеством лайтмапов (в 2-4 раза), компиляция даже больших карт с таким параметром занимает порядка 1-2 минут.

Если есть у кого спецификация Map для q3

Отличия q3map от q1 небольшие - во-первых конечно PatchDef'ы, а во вторых в дефайне каждой стороны браша присутствует на 3 параметра больше (по историческим причинам заюзан только один из них - под detail флаг для брашей)
digs
Offline
Q1 Forever
603 posts
Karma 18
[quote author=VorteX link=topic=281.msg6783#msg6783 date=1198829058]
постараюсь выяснить её применение в DQ
[/quote]
Ой, а это хто?

[quote author=VorteX link=topic=281.msg6783#msg6783 date=1198829058]
Бтв я для ускорения компиляции (Q3BSP) использую пути с ухудшенным качеством лайтмапов (в 2-4 раза), компиляция даже больших карт с таким параметром занимает порядка 1-2 минут.
[/quote]
Это то понятно. У меня текущий исходник под ку1 перевалил за 3.5 метра. В данный момент делаю один секторов так, что закрыть его не реально. А при таких объемах и наличия дыр Light просто отказывается работать.

[quote author=VorteX link=topic=281.msg6783#msg6783 date=1198829058]
Отличия q3map от q1 небольшие - во-первых конечно PatchDef'ы, а во вторых в дефайне каждой стороны браша присутствует на 3 параметра больше (по историческим причинам заюзан только один из них - под detail флаг для брашей)
[/quote]
Со вторым проблем нет, так как то, что после имени текстуры, я не интерпретирую, а считываю/сохраняю как одну стороку.
А вот с PatchDef2 мне как раз и не ясно. Мне же для правильного слития/разбиения нужно из как то сравнивать и вообще понимать что это такое.
В прошлом году начинал карту под ку3, но с этими штуками так и не разобрался


my maps
digs
Offline
Q1 Forever
603 posts
Karma 18
Новая версия 1.50

Анотация с сайта:
В рамках функциональности утилиты появилось дополнительное направление. Теперь можно указывать непосредственно области отсечения сущностей и брашей. Задание областей производится непосредственно либо описанием координат области (три варианта) либо путем подключения map-файла, из которого берутся браши. Т.е. на полной карте создаем браш как его обычно рисуем для region (GtkRadiant) и далее через команду «сохранить выделенные» сохраняем в файл.
Отсечение по области можно использовать как предпроцесс перед компиляцией. Это дает возможность редактировать всю карту, но компилировать только часть. Естественно, компилироваться будет не сама карта, а ее обработанная копия.
Также в версии сделаны всякие мелочи. Полный список изменений ниже.

v1.50 (22.01.2008)
- добавлена команда rmdpid, удаляющая повторяющиеся индексы
- опция «-rewrconf» удалена. Вместо нее введена опция «-y», имеющая противоположный смысл.
- если в параметре опций de/dse/dae есть символ «#», то проверяется идентификатор сущности, а не имя класса
- в имени класса и ID для de/dse/dae теперь можно использовать символы маски «*» и «?»
- в имени текстуры для dt/dst/ddt/dat теперь можно использовать символы маски «*» и «?»
- concat теперь команда по умолчанию. т.е. при слиянии ее можно не указывать
- добавлена опция «-sc:имя_файла», с помощью которой можно подключить набор правил преобразования
- добавлена опция «-ba/ea», позволяющая четырьмя способами задавать отсечение брашей и сущностей

Вырезка по основной функции из документации:

-ba/ea:(r,c,b,m)
Данные опции позволяют отбросить из выходного файла браши/сущности. Областей можно задавать несколько. На принадлежность области проверяется только одна точка. У простой (не брашевой) сущности это свойство «origin». Для браша или группы брашей вычисляется описывающий параллелепипед, со сторонами параллельными координатным плоскостям, и берется центральная точка.
«r» и «c» задают область центром и радиусом. Для «r» это расстояние в разные стороны от центра до стенок. В данном случае удобно использовать с указанием сущности или класса. (Сущность указывается идентификатором, который отличается от имени класса наличием символа «#»). Например, я привык перемещать «info_player_start» туда, где в данный момент происходят построения. Т.е. записал опцию с указанием данной сущности и потом можно не переписывать: сущность подвинул, область тоже подвинулась куда нужно.
Если все же центр задали координатой, то z можно опустить. Тогда фигура будет бесконечным цилиндром.
«m» позволяет подключить map-файл, в котором в качестве областей берутся браши из worldspawn. Такие области можно нарисовать прямо в карте, а потом сохранить отдельно (через функцию «сохранить выделенные»).
«b» хороша, если не хотим использовать дополнительные файлы, и прямоугольная область нас устраивает. Здесь можно также опустить z.
Вообще, опция разрабатывалась как предпроцесс перед компиляцией. Т.е. можно редактировать всю карту, а за счет указания данных областей компилировать только нужную часть.

Новая версия там же: http://digs.alfaspace.net/works/mapspl/base
my maps
Barnes
Offline
1843 posts
Karma 148
кхм чтото подобное было в радианте.. регионы называлось
я правда не использовал их.
Какой богатый внутренний мир! Дай-ка посмотрю.....
kujipinaj
Offline
495 posts
Karma 16
Barnes, хехе )
у меня с Думером был одно время микрохоливарчик на тему пользы регионов
Barnes
Offline
1843 posts
Karma 148
kujipinaj и что?
по моему все упирается в проц всеравно
Какой богатый внутренний мир! Дай-ка посмотрю.....
kujipinaj
Offline
495 posts
Karma 16
Barnes, при чем здесь проц?
Barnes
Offline
1843 posts
Karma 148
а на чем считается радиосити? на видюхе чтоли?))
Какой богатый внутренний мир! Дай-ка посмотрю.....
VorteX
Offline
prime object
341 posts
Karma 60
2digs: я тут подумал, а можно mapspl привязать к GtkRadiant для использования 'в родном' виде? Например в качестве плагина? Утилита интересная, но очень напрягает вся эта мишура с батниками и параметрами.
digs
Offline
Q1 Forever
603 posts
Karma 18
VorteX
С плагинами не разбирался, да и вобшем то не планировал.
На мой взгляд операция настроек чуть ли не разовая. Меня не напрягает руками прописать.
А что касается компиляции, то радиант в любом случае запускает внешние компиляторы. Можно просто попробовать в меню прописать запуск утилиты перед запуском qbsp, но не уверен что там гибкий язык написания скриптов компилирования (в свое время не смог разобраться).
Т.е. технология такая же. Сидишь в радианте, строешь браш или группу как для region и далее сохраняешь выделенное в заранее известный файл, который прописан в настройках для mapspl. Вот, вобщем то и все.
my maps
kujipinaj
Offline
495 posts
Karma 16
Barnes, ну, насколько я знаю, регион это такая дрянь, что уберает из виду браши не выделенные в.. регион . Конечно, если регион сам по себе без ликов - коробка - то скомпилируется только он - регион.
digs
Offline
Q1 Forever
603 posts
Karma 18
kujipinaj
Насколько я знаю, регион это такая штука, которая убирает браши из виду, но в файл сохраняет все равно все. Поэтому на компиляции это не отражается. Это только для удобства редактирования
my maps
Barnes
Offline
1843 posts
Karma 148
kujipinaj
если правильно помню то регионы сохранялить отдельно и имели расширение *.reg
вот и интересно если это кусок мапы то почему он без утечек или в момент компиляции компилятор собирает все регионы в одну мапу?
зы
максимум по времени у меня компилировался steel plant под ку3
более 12 часов + там небыло вертекс лайта а то считалось бы сутки на п4 1,8
Какой богатый внутренний мир! Дай-ка посмотрю.....
digs
Offline
Q1 Forever
603 posts
Karma 18
http://digspt.ru/works/mapspl
Добавил пак текстур для заделывания дыр, при выносе частей карты в отдельные файлы.
При сборке, такие текстуры удаляются с помощь директивы -dt: утилитой mapspl
my maps
digs
Offline
Q1 Forever
603 posts
Karma 18
Обновил версию
v1.51 (16.06.2011)
- в именах добавочных файлов можно использовать символы * и ?
- не правильно работала проверка наличия добавочных файлов на диске. Исправлено.
- добавлена опция "-wprops:filename" берет свойства для класса worldspawn из другого файла.
- добавлена опция "-nuid:ID", позволяющая задавать не уникальные идентификаторы.

По двум последним опция подробности в документации: http://digspt.ru/works/mapspl/doc
my maps