Дядя Миша писал: Просьба от меня небольшая. Скачайте вот эту карту, пооткрывайте её в разных редакторах, на предмет битых полигонов:
Открыл в Джеке. Последняя стимовская бета. Визуально дырок нет. Тонна ошибок Invalid solid structure (face is not planar), (tiny edge). Ну и, соответственно, нестыковки по сетке, см. аттач.
Добавлено 19-01-2020 в 15:32:
Хаммер 3.5 сразу же при загрузке карты говорит "For your information, 2854 solids were not loaded due to errors in the file". И после загрузки на виде сверху сплошные дырки.
Ku2zoff писал: Открыл в Джеке. Последняя стимовская бета. Визуально дырок нет. Тонна ошибок Invalid solid structure (face is not planar), (tiny edge). Ну и, соответственно, нестыковки по сетке, см. аттач.
Ну вот наконец-то открылась страшная правда. В древнем кварке на этой карте ровно один неисправный браш, в котором достаточно удалить одну overconstrained плоскость. При использовании этих брашей для колоизации, тем более нет никаких проблем. А ваши хвалёные хаммеры, да джеки - фейлят. Ну вот и понятно откуда дырки, вот и понятно откуда говно в движок утикает. Надо всё же писать свой редактор, это ужас какой-то.
Добавлено 19-01-2020 в 14:56:
Ну вот, построил колоизацию для моделей. Теперь самое время заняться мета-сурфейсами, стрипификацией и прочим. Хотя у меня даже на чистых фан-секвенциях, даже без виза очень впечатляющие результаты.
Вот к примеру тестовая кутришная карта с ландшафтами.
Кстати говоря я планирую реализовать генерацию этих ландшафтов по картинкам. Т.е. из хейтмапы сперва генерятся треугольники, потом из треугольников создаются коллизионные брашы.
Дядя Миша писал: В древнем кварке на этой карте ровно один неисправный браш, в котором достаточно удалить одну overconstrained плоскость. При использовании этих брашей для колоизации, тем более нет никаких проблем. А ваши хвалёные хаммеры, да джеки - фейлят.
А какой минимальный шаг сетки в этом древнем кварке? Небось, меньше 1 юнита? А то и вообще 0.125? Помнится, у кого-то были проблемы с инвалидными брашами, когда он пытался скомпилить из исходника твою тестовую карту для спирита с зеркалом. Дело оказалось в том, что толщина табличек на дверях 0.5 юнита. Ну хаммер и тово, корёжил браши при экспорте. Джек стопудово норм работает с 0.5 юнита, я проверял. 0.25 уже китайские компиляторы сами бракуют на этапе сборки.
Попробуй научить свой колоизатор выдавать результат с точностью хотя бы не ниже 0.5 юнита. Думаю, в таком случае, в джек импортнётся без проблем, а в хаммере кол-во инвалидных структур уменьшится в разы.
Ku2zoff писал: А какой минимальный шаг сетки в этом древнем кварке?
ДМ говорил что 1/10000 юнита но спустя пару версий поменяли на 1/100.
Добавлено 19-01-2020 в 20:14:
Дядя Миша ты вот делаешь много оптимизаций для CSG, ту которая ускоряет от 10 до 500% и ту где у тебя стало на четверть меньше плейнов. Но нейжели Кармак не догадывался о таком? Или догадывался но счёл неуместным, может у него были другие цели?
Crystallize писал: 1/10000 юнита но спустя пару версий поменяли на 1/100
Имхо, даже одна сотая - перебор. При прямых руках маппера вершины не будут съезжать с сетки. Есть же куча статей, как делать то да это. Либо вообще отказываться от привязки к сетке. Тогда другая проблема - в редакторе всё может быть норм, а на выходе у компилятора всё поедет после оптимизаций. Ну не зря же эту сетку вообще завели? Как раз таки, чтобы маппер придерживался того, что в теории может компилятор.
Ku2zoff писал: При прямых руках маппера вершины не будут съезжать с сетки
Причём тут вообще нахрен сетка? Сетка изначально базировалась на неверном предположении, что если всё делать по ней, то можно избежать потери точности. Это условие справедливо, когда у тебя все стороны аксиальные. Как только ты начинаешь делать какие-то скосы, ты не контролируешь уже ничего и сетка из друга превращается в смертельного врага, который всё портит. Весь этот снаппинг противоречит устойству вещественных с плавающей точкой. Вы просто не помните, что сетку вводили изначально в те далёкие времена, когда компиляторы считывали карты в формате целых чисел. И мнимальный шаг был 1 юнит. В тот момент, когда это решили переделать, от сетки надо было отказываться ВООБЩЕ или же хотя бы выполнить шаг в комфортных для флоата значениях.
(1/8), (1/16)?, (1/32), но эти больные ублюдки начали снапать к десятичным значениям 0.1, 0.01, 0.001 и огребли кучу проблем, причём большинство даже не поняло откуда.
Добавлено 19-01-2020 в 19:21:
Нет, я всё-таки чую придется свой редактор писать. Не обойтись без этого.
Дядя Миша писал: Как только ты начинаешь делать какие-то скосы, ты не контролируешь уже ничего и сетка из друга превращается в смертельного врага, который всё портит. Весь этот снаппинг противоречит устойству вещественных с плавающей точкой.
Мне вот интересно, почему в 3д моделировании принято делать именно 4вершинные полигоны, и всякие компиляторы и конвертёры моделей их прекрасно триангулируют. А вот у халфовских компиляторов случается майндфак, и в панике они начинают пытаться натянуть сову на глобус, тоесть вершины на плоскость, в итоге на выходе жидко обсираясь сами же вставляют себе палки в колёса.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!