Ясно, фиг с ним. Мне понадобилось как-то цивильно отличать друг от друга объекты не имеющие имени. Ну теперь они его заимели
добавил им в fgd "Targetname". А нужно мне это для env_cubemap. Т.к. на большом уровне, при превышении их кол-ва (не знаю какого именно), происходит падение игры в процессе buildcubemaps (на мелких мапах с этим же кол-вом или даже большим, падений нет). Видимо, как-то вес мапы влияет на способность движка билдить кубмапы 0_о Это особая магия Валв...
Ну так вот, пришла мне идея, как обойти эту неприятность. Метод основан на умении движка читать кубмапы не только вшитые в мапу, но и по адресу
materials\maps\<mapname> (не те, что в материале прописаны, а именно для env_cubemap вида
c-28_332_65.vtf). Не ясно, по каким критериям vbsp генерирует их имя при компиле, но оно привязано к id объекта на карте. Да и пофигу ,в исходниках vbsp копаться лень.
Суть метода в том, чтобы каждому env_cubemap по-отдельности сгенерировать соотв. ему текстуру и положить их все в нужный каталог. Если вручную вшивать в мапу - слетают лайтмапы с prop_static.
Дальше начинается самое нудное: скрывая в редакторе все енв_кубмап, кроме одного, обновляется bsp, в игре билдится текстура, выдергивается из мапы и кладется в
materials\maps\<mapname>. Так каждый объект по-очереди. Важно, что енв_кубмап в редакторе потом нельзя удалять или значительно сдвигать, иначе нарушится соответствие, т.е. этот прием для финальной мапы. Вообще, если научить игру не удалять кубмапы с диска сразу после компила, то телодвижений было бы меньше.
Этот метод пока тестирую, но
теоретически, так можно обойти лимит на их кол-во и даже размер. Еще это позволяет НЕ билдить КАЖДЫЙ раз кубмапы, после очередного компила.
Базово, для этого "финта ушами" не нужно знать ИД, но т.к. после такого кропотливого труда хорошо бы иметь инфу, какая текстура к какой кубмапе относится, лучше записать это сразу примерно так:
env_cubemap "72": c-28_332_65.vtf, c-28_332_65.hdr.vtf
В дальнейшем, новые кубмапы легко так же добавить-сгенерировать-положить.
И да, для HDR операцию нужно повторить xD О да, только хардкор, только блокнот! Ай'м крейзи!!!111
О финальных результатах тестов отпишу, если не забью на это раньше, чем сделаю хотя бы половину кубмап.