Подключил CSG к компилятору. Первый случай, когда у кутришного компилятора появился CSG
Ну правда на кутришных картах толку от него практически нет. На q3dm1 он смержил мне два каких-то браша, а на q3dm7 - три.
Его истинное предназначение - это конечно карты от халфы и кваки.
Между прочим мне здорово пригодились старые наработки. Я жы когда-то планировал заюзать кудвашный формат уровней для нового ксаша. Ну так дело было за малым - научить его жрать карты от халфы. Да не абы какие, а от Монорейл Квеста, чтобы быть точно уверенным, что оно соберётся.
И соответственно я там уделил большое внимание функции SplitBrush.
А она, что в ку2 что ку3 одинаковая. Ну вот и пригодилось
Теперь надо научить его парсить халфовский и кушный формат карт.
Ну что жы, реализовал рекурсивное вложение карт-префабов для моего нового кутришного компилятора, по аналогии с параноевскими тулзами.
Плюс в том, что можно выбирать поведение - вставлять либо оригинальные модельки, в формате .ase, либо исходники .map если они конечно есть.
С префабами в формате .map есть еще и тот плюс, что для них можно наладить пространство имён и вставлять не просто куски геометрии, а целые отлаженные системы скриптов, например. Эх, научить бы Джек показывать эти префабы
Ксероксу такое nepozubam, а у меня сорцев нету.
если определиться с пространством имён, то разницы никакой, что .map при компиляции, что .bsp при загрузке.
Но это очень важный вопрос, представить префаб как набор инпутов-аутпутов. Чтобы если их было много, нигде не пересекались имена, чтобы если часть префаба поехала на другой уровень это не вызвало там проблем, и так далее. Тут нужна целая концепция.
Добавлено 10-01-2020 в 19:51:
ЗЫ, сорс тоже может вкладывать эти префабы нерекурсивно ( 1 уровень вложения), вот надо посмотреть как там пространство имён разрулили.
Дядя Миша
Джек в основном на волатилу нацелен, там нет map-префабов, вот и nepozubam.
По-хорошему надо в Джеке сделать собственную систему префабов, но это пожжы.
Добавлено 11-01-2020 в 00:12:
Цитата:
Дядя Миша писал: вот надо посмотреть как там пространство имён разрулили.
Вероятно, так же, как в хаммере? Хаммер умеет вкладывать префабы со скриптами, сохраняя связи (см. префаб взрывающегося ящика).
Неисключено. Надо будет посмотреть как там сделано.
Добавлено 10-01-2020 в 21:38:
Надо еще вот какую штуку сделать. В разных компиляторах существуют разные виртуальные энтити, которые удаляются на этапе компиляции.
Ну самый известный пример это func_group наверное. Ну так вот надо вынести описание этих виртуальных энтить в текстовый файлик и там же простые операции, которые к ним следует применить.
Например - мувнуть брашы в мировую энтить, поставить всем контент-флаг DETAIL, и так далее. Там не так уж и много вариантов. В компиляторе это держать неудобно.
Добавлено 10-01-2020 в 21:41:
В идеале бы вообще сделать, чтобы компилятор читал FGD и там из него брал энтити. Но проблема в том, что во первых у меня нет своего редактора, а во вторых мне активно не нравится сам FGD-формат и я не хочу внедрять его поддержку.
Здесь конечно должна быть реплика с мест "пиши свой редактор". А у меня основная сложность в написании собственного редактора, в том, что я не могу освоить ни хаммер ни радиант. Вот и спрашивается, на что он будет похож?
Дядя Миша писал: А у меня основная сложность в написании собственного редактора, в том, что я не могу освоить ни хаммер ни радиант. Вот и спрашивается, на что он будет похож?
Избавься вообще от брашей, оставь разве что BSP модели. Тупо чтобы подгрузить модели расставить их на карте с энтитиями, посчитать VIS и запечь лайтмапу.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Тупо чтобы подгрузить модели расставить их на карте с энтитиями, посчитать VIS и запечь лайтмапу.
да нельзя посчитать виз без брашей, когда же до вас уже это дойдет?
Аксиальная геометрия генерит порталы на своих плоскостях и то возникают сложности с конечной точностью вещественных. Да и потом брашы, всё равно дело хорошее, например для обозначения зон или воды. Вот как ты сделаешь воду без брашей? Подумай хорошенько, это не такой уж и простой вопрос.
XaeroX писал: В первом Унреале вода делалась без брашей.
В первом унреале был применён подход выгрызания пространства в солидной структуре. Как при таком подходе сделать воду брашами, я не очень понимаю. Вычитательная геометрия не создаёт, а удаляет.
Цитата:
SNMetamorph писал: А почему при компиляции получается так много разбиений на открытых пространствах?
Разбиений на самом деле немного, то что считаешь разбиением, это субдивайд для лайтмапы. Если сделать геганцкий куб и растянуть текстуру по его размерам, то останутся только аксиальные разбиения с шагом 1024 по дефолту, ну или сколько сам задашь в -maxnodesize.
Т.е. хоть кубик 128х128, хотя 32768х32768, там будет одинаково 6 нодов.
Добавлено 11-01-2020 в 17:47:
SNMetamorph
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.