Ruslan_ 28 апр 2013, 15:11
Всем привет! Уже который день копаюсь в форумах, но ни как не могу найти интересующий меня вопрос. Мне нужно в Unity создать массив кубов, на пример 15x15x15 = итого 3375 кубов. Как оказалось, такое количество объектов очень сильно влияет на производительность. Вариант – собрать все в один меш не очень подходит т.к. кубы динамические. Стал заморачиваться с Occlusion Culling, результаты есть, но не совсем то, что мне нужно. Весь массив кубов будет находиться перед камерой. Все что у меня получилось сделать с Culling – это прятать объекты т.е. не рендерить, которые за пределами видимости камеры, а мне нужно прятать объекты которые и в пределах видимости камеры, но перекрытые другими объектами. Ни как не получается добиться такого результата. Если объекты сделать статическими и включить запекание, то все работает, так как мне нужно, а созданные во время выполнения программы объекты не обрабатываются оптимизатором Occlusion Culling. Это вообще реально сделать для динамических объектов? Если реально, опишите, пожалуйста, этот процесс, и какие нюансы есть в этом. В офф доке вычитал, что можно сделать такое, но это теория, а на практике может оказаться совсем иначе. Использую Occlusion Area и Occlusion Portal. Occlusion area растягиваю на всю область, где у меня будет камера и массив кубов, Occlusion Portal растягиваю только на область, в которой будет массив. Пробовал применить портал для каждого куба, но тоже результатов ноль. Не рендерятся только те кубики которые выходят за пределы видимости камеры.