HLFX.Ru Forum
Показать все 18 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- HL .map, особенности формата (https://hlfx.ru/forum/showthread.php?threadid=1215)


Отправлено Scrama 26-03-2008 в 05:29:

HL .map, особенности формата

Цитата:
OffyGhost писал:
Можешь эту карту перенести на Q3?
Цитата:
-CJ- писал:
Та я лучше конвертер заголовков скачаю , и буду маппать под хамером

Так вот, формат мап, который нужно кнвертировать (ибо bsp конвертнуть мне уже не по силам), представляет собой набор сущностеЙ, и первая из них - worldspawn - является набором брашей. Каждый браш задается через пересечение плоскостей, в силу чего может быть только конвексным и никаким другим. Не зависимо от версии .map это так. различия заключаются в самих плоскостях.
Плоскость в HL .map задается примерно такой строкой:
code:
( 128 -128 0 ) ( -128 -128 0 ) ( -128 -128 256 ) INFO4 [ 6.12303e-017 0 -1 512 ] [ -1 0 -6.12303e-017 256 ] 90 0.5 0.5
где:
- три группы чисел в скобках - опрные точки, по которым эта плоскость строится;
- название текстуры (info4);
а дальше начинаются сосмнительные вещи:
первая группа чисел в квадратных скобках - это параметр текстуры по оси Х, вторая - по Y, известно что четвертое число (512 и 256) - это сдвиг текстуры (Shift в хаммере). Что означают предыдущие три? Меняются они в зависимости от стороны, на которой находится текстура и угла ее поворота. Если бы это была нормаль, то для нормали достаточно всего трех чисел, а тут по три на ось.
Ну и последние числа - поворот текстуры, масштаб по Х и масштаб по Y.

Плоскость в Q3 .map задается примерно так:
code:
( -64 -64 -32 ) ( -64 64 -32 ) ( -64 -64 96 ) uw_wall/wall01a 128 192 0 0.5 0.5 0 0 0
где
- те же самые три группы чисел для опорных точек
- название текстуры
- сдвиг по оси Х
- сдвиг по оси Y
- угол поворота текстуры
- масштаб по X
- масштаб по Y
следующие три числа мне не понятны, так как получить отличное от нуля значение мне не удалось. Скорее всего, это та самая нормаль, а при значении 0 0 0 движек или компилятор просто использует проецирование по умолчанию - т.е. выбирает ближайшую базисную плоскость к стороне браша и использульзует нормаль к ней.
Из вышеизложенного ясно, что при восполнении небольшого пробела в знаниях, конвертер форматов я напишу за пару часов, включая тестирование.
Кто что может мне рассказать? Может, кто чего нагуглит - у меня не получилось.

Добавлено 26-03-2008 в 10:28:

По ХЛ с VERC'а:
Цитата:
To define the orientation of textures, a pair of axes are used. These define what is "flat" for that face's texture space. If you picture a flat plane covered in the texture, with the two axes lying flat on that plane, that's the texture's plane. This is then flattened right onto the plane of the face. This means that if you want the texture to be perfect scale on the face, the axes need to define a plane that is parallel to the face's plane, otherwise you'll get stretching.

These axes are defined by tx1/y1/z1 and tx2/y2/z2, giving two vectors which define what's "right" and what's "up" relative to the texture - so if you wanted to go "right" 1 unit, you'd go along the first axis for 1 unit. Going "down" 2 units would be going backwards along the second axis for 2 units. How much the texture is offset along these axes is defined by toffs1 and toffs2, measured in HL units.

Почитал текст, так и не понял, почему нельзя было использовать просто нормаль к поверхности.
Попробовал на простом кубике просто выкинуть эти параметры нафиг - GTKR открыл нормально, текстурки лежат, как положено. Изменение последних трех параметров в q3map ничего не дает. Сейчас займусь экспериментами с наклонными плоскостями и текстурками, "aligned to face".

Добавлено 26-03-2008 в 11:29:

Тут, похоже, я один веду беседу =)
Короче, вот что получилось предварительно:

Прошу прощения, что втыкаю картинку так, но это наглядней.
Очевидно, что при не особо сложном конвертировании, текстурирование нарушается только там, где использована альтернативная нормаль. Поясняю: если при наложении текстуры был поставлен кряжик Align:Face, то текстура почти 100% будет натянута неверно в результате конвертирования. При использовании Clipping tool и текстурировании с помощью Alt-RMB привяка нормали к поверхности вообще теряется (оба кряжика в свойствах поверхности будут пусты), что тоже приведет к сползанию текстуры на выходе. Другое дело, что после перой операции текстурку можно ручками поправить, а вторая операция используется далеко не всеми мапперами (некоторые вообще о ней не знают, но DM-Knot пропитан ею насквозь).
Вот так вот.
Вывод: создавать карты под Quake 2/3 (формат очень похож) в хаммере можно, но относится к этом следует с осторожностью.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 26-03-2008 в 05:50:

Scrama вообще Кварк умеет сохранять map в шести форматах и радиантовском в том числе.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 26-03-2008 в 07:20:

Дядя Миша открою тебе секрет: Кварк не умеет делать некоторых вещей с текстурами, которые делает хаммер. В этом-то и засада. Да и конвертер держать проще, чем Кварк открывать туда-сюда. Во всяком случае, его можно прописать в хаммеровский Build Expert Mode и компилить прямо в Q3 из редактора.
Сам я для q3map вполне успешно использую радиант, так что мне лично конвертер не нужен. Это я такой альтруист =) Ну, еще просто интересно.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 26-03-2008 в 09:12:

Цитата:
Кварк не умеет делать некоторых вещей с текстурами, которые делает хаммер

Например ?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 26-03-2008 в 09:38:

Цитата:
Scrama писал:
Что означают предыдущие три?

Это тангент и бинормал, помноженные на фактор скейла. Иными словами, это ненормализованные оси абсцисс и ординат в координатном пространстве текстуры.

Нормалей нет, но ее несложно посчитать по трем точкам - это стандартный сниппет.

Сам я в свое время написал конвертер из 3DS в MAP, поэтому в формате пришлось покопаться как следует.

__________________

xaerox on Vivino


Отправлено Scrama 26-03-2008 в 10:44:

XaeroX Ну и как конвертило?
Я просто выкинул эти параметры - они, как я и писал, критичны только в том случае, когда текстура проецируется под углом к осям координат.
В любом случае, конверт не предполагает компиляцию q3bsp с места, это скорее фича для перегона старых работ и последующей доводке. Хотя комната с player_start'ом компилится нормально с ходу.
Надо хорошенько потестить на всякой сложной геометрии.

Добавлено 26-03-2008 в 16:44:

Цитата:
Дядя Миша писал:
Например
Как там с нормалями?

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено XaeroX 26-03-2008 в 11:34:

Цитата:
Scrama писал:
Ну и как конвертило?

Да так себе... Текстуры я не доделал, а геометрию конвертило отлично. Правда с навороченными тороидальными узлами... хаммер хоть и грузил их, но компиляторы подыхали при попытке его скомпилить

__________________

xaerox on Vivino


Отправлено Дядя Миша 26-03-2008 в 16:11:

Цитата:
Как там с нормалями?

Цитата:
Нормалей нет, но ее несложно посчитать по трем точкам - это стандартный сниппет.

а вообще не пойму - какая тут связь?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 27-03-2008 в 06:45:

XaeroX Я примерно представляю. Помнишь ту карту с фонтаном и колоннами? Там потом еще ландшафт появился и подвальчик. Хаммер ее воспринимает, а csg дохнет без каких-либо пояснений.

Добавлено 27-03-2008 в 12:45:

Ну, вот. Можете тестить.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Troll 27-03-2008 в 06:50:

Scrama, Quark вообще-то больше возможностей имеет в отличии от Хаммера...


Отправлено Scrama 27-03-2008 в 08:34:

Troll Вообще-то я это знаю. Мы их тут не возможностями меряем, а говорим о наличии или отсутствии вполне конкретных фич.
Тема данного треда - конвертирование карт из хаммера в гткрадиант, просто дядя Миша очень любит упомянуть кварк в любой ветке, где речь заходит о маппинге =)

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено OffyGhost 29-03-2008 в 13:16:

Ой Кварк это ужос... GTKRadiant и Hammer рулит.

Вообщем идея мира нашего в том, чтобы какойто герой-программер написал редактор, взяв Radiant и добавил его тем, что было в Хаммере. Тогда и переносить из .map в .qer не надо будет. КТо%)?


Отправлено Дядя Миша 29-03-2008 в 13:21:

OffyGhost как дам по глупой голове! Кварк рулит, если освоить нормально.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 31-03-2008 в 08:35:

Цитата:
OffyGhost писал:
идея мира нашего в том, чтобы какойто герой-программер написал редактор, взяв Radiant и добавил его тем, что было в Хаммере.
http://forums.quakegate.ru/index.php/topic,335.13.html
Цитата:
Дядя Миша писал:
Кварк рулит, если освоить нормально.
Тут не смотрите, мы селедку заворачивали...
Странный это спор. Глухого с немым.
Против Дяди Мишы у меня есть один аргумент: Ты кодер, а не маппер, у тебя не тот подход. Ни одной своей карты ты не зарелизил.
Против OffyGhost'а тоже есть один непробиваемый аргумент: Хаммер прост как 3 рубля, а на радианте ты еще ничего не сделал, как и на кварке, чтоб сравнивать эти редакторы.
Я брался пару раз за кварк и могу сказать лишь то, что на нем можно сделать карту, если привыкнуть к интерфейсу, Но я не могу сказать, на сколько он лучше радианта или хаммера, поскольку до релиза я не довел на нем ничего. И давайте оставим эту неблагодарную тему.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 02-04-2008 в 18:06:

Scrama как же мне карты релизить, если под дефматч мне лепить скучно, а под сингл-мод никогда не хватает терпения его доделать (мод).
Ну посмотрите обломок мода Half-Life:ChaosTheory
http://www.xash.ru/pub/chaos.rar (14 mb)
Это и есть пример работы в кварке (исходники карт в комплекте), пароль - любимая игра Скрамы и Дяди Мишы

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 03-04-2008 в 02:37:

Цитата:
Дядя Миша писал:
любимая игра Скрамы
Не сбивай народ, а то будут Анрил вдалбливать...

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Jaga 03-04-2008 в 21:17:

Лично я Quark для брашинга немного использую.

__________________
°_°


Отправлено Scrama 04-04-2008 в 03:18:

Jaga Очень правильный подход: делать основную часть работы там, где удобнее и быстрее, а другими редакторами делать те вещи, которые не получаются в основном.

Посмотрел теорию хауса. Ну, что я могу сказать... Не увидел ничего такого, что могло бы составить трудности в хаммере. Зато увидел кучу багов, в том числе и по натяжке текстур. Но это скорее вина маппера, а не редактора.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Временная зона GMT. Текущее время 06:18.
Показать все 18 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024