Доброго времени дня! Имеется достаточно большой уровень, на котором достаточно много брашей, и имеются env_static (для архитектуры уровня). После запуска уровня появляется ошибка "Too many efrags!", часть моделек пропадает, хотя тень на брашах от них остаётся. Сам уровень при этом стабильно работает. Изначально делал уровень так, чтобы поместить как можно больше архитектурных объектов в одну модельку, то бишь самих env_static всего штук 20, не больше.
Вопрос: как расшифровывается данная ошибка? Если это лимит на модельки, то можно ли как-то подвинуть его, не избавляясь от env_static? Если нет, то каким образом можно уменьшить нагрузку, чтобы при этом потерять по минимуму в уровне?
Скачивал отсюда менее года назад последнюю версию, на скрине написано, что 0.99 билд 4529. Сейчас перепроверил - всё самое последнее скачано (по крайней мере из найденного мною). Вот конкретный пример: арки сделаны в виде одной модели на поворот (стек из 12 или 24 штук, зависит от длины), продольные рёбра в виде func_detail, трубы/рельсы/фонари по бокам пробовал и детайлами, и обычными брашами, сути не меняет, они ни с чем не соприкасаются. Крепления для рельсы тоже в виде моделек стеком на один поворот по 3/6 штук. Полигонов на модельках минимум, ничего лишнего. Всё нужное закрашено NULLом, zhlt-параметры, вроде бы, все прописаны корректно. Если удалить часть env_static - ошибку не пишет.
Дядя Миша писал: Такой вопрос - нет ли среди моделей какой-то гигантской, на полкарты?
Имеется 2 модели как раз таки стека из арок (24 повторяющиеся арки). Стоят под углом 45 градусов, длина у них 3000 юнитов. Можно вполне порезать на 2 модели по 12 арок.
Просто проблема в том, что я изначально ставил каждую арку отдельно, то бишь одна арка - один env_static. У меня появлялась та же самая ошибка и часть арок пропадала. А после того, как я стал набивать их в одну модель - их стало умещаться гораздо больше. Но всё равно не хватило
Ещё один момент - общая длина уровня почти 30 000 юнитов, но он полноценно и даже быстро компилируется, геометрия вся выстроена грамотно, без дырок, лишних разрезов и так далее.
Там какая система - модель линкуется в реально существующие лифы BSP-дерева. Естественно она при этом не режется, но как бы существует во всех этих лифах одновременно. На каждый такой лиф каждая модель тратит один ефраг. Если модель маленькая, занимает не более одного лифа, то тратится один ефраг. Если модель гигантская, то занимает целую кучу.
Ефраги прилинкованы к лифам. Соответственно, если в поле зрения игрока попал лиф, значит вместе с ним и ефраг. Значит модель видима и её можно нарисовать. Такая система. Но на ефраги есть лимит - 8192 штуки.
Судя по всему твои гигантские модели его исчерпали. Можно попробовать сделать их солидными, но тогда коллизия будет строиться долго.
Вообщем немножко не по возможностям размах.
Дядя Миша писал: Ефраги прилинкованы к лифам. Соответственно, если в поле зрения игрока попал лиф, значит вместе с ним и ефраг. Значит модель видима и её можно нарисовать. Такая система. Но на ефраги есть лимит - 8192 штуки.
Благодарю за доходчивое объяснение, теперь я знаю, от чего отталкиваться Буду исправлять и думать, как всё уместить без потерь.
P. S. Арки изначально были солидными, но тогда после компиляции вообще тихий ужас был Как вариант - попробую сделать часть арок брашами.
Если кому-то интересно, решил проблему заменой части моделей (самый длинный участок) брашевыми энтитями func_illusionary. Интересный факт - изначально пробовал ставить просто world-браши и func_wall, в итоге всё равно получалось либо косячно, либо компиляция растягивалась на часы. Но сейчас и тоннель полноценный, поставил всё, что я хотел, в итоге, и даже дрезина ездит
Aynekko func_illusionary хоть и несолидные, но всё равно отжирают клипноды. Лучше использовать func_detail. func_wall вообще нет смысла использовать для детализации геометрии, только для объектов с переключаемой текстурой. Ну и func_wall_toggle для исчезающих объектов.
Добавлено 09-10-2020 в 12:13:
Цитата:
Shiber писал: либо компиляция растягивалась на часы
Попробую угадать. Эти часы считался только vis, а остальные компиляторы работали быстро?
Дядя Миша этот код где? В компиляторе же? Я точно помню, что когда-то собирал большую карту последними vhlt, она не запускалась под халфой из-за лимита на клипноды. Стоило заменить иллюжнари на детайлы - всё заработало без проблем.