Non-reflective: Победил артефакты, но снова стали актуальны тормоза:)
Пришлось купить платный ассет Magic Mirror Pro, и, аллилуйя, наконец несколько зеркал стали отображаться нормально. Правда, с вариантом скрипта по умолчанию всё снова начало тормозить. Добавил оптимизацию с выключением зеркал, когда они не попадают в frustum камеры, но это не сильно улучшило положение. Пока добавил к этому ещё выключение по дистанции — похоже, это лучше, чем каждый кадр делать raycast к камере, и у меня есть где-то ещё полдня, чтобы поиграться с параметрами самого отражения и найти приемлемый баланс между внешним видом и быстродействием.
Из-за большого количества времени, потраченного на сами зеркала, генератор уровня придётся выключить и сделать несколько вручную составленных уровней, чтобы на старте выбирался случайный. Учитывая, что в нём будут по-разному расставлены герой, ловушки, враги и выход, всё равно каждое прохождение одной и той же карты будет немного другим.
- 18 октября 2018, 00:24
- 05
Сделай несколько заготовок-кусков лабиринта и на старте компонуй их. Четырех кусков на один лабиринт уже будет достаточно.
И с зеркалами: в чем проблема отрендерить в текстуру с другой камеры (с видом от зеркала) и натянуть текстуру на стену?
Но ведь отражение тогда статичным получится
Main камера, когда на экран рендерится, не статичная ведь? Ну, так аналогично и с текстурой - обновляй каждые N-кадров. И не обновляй, когда зеркало далеко от актора и получи оптимизацию. А если рендерить в текстуру которая шире, чем текстура зеркала, то можно и с паралаксом поиграться: и оптимизацию получишь, и визуальный импрувмент.
Чтобы отражение было реалистичным, оно должно каждый кадр при движении персонажа обновляться - вид от первого лица же. В итоге получится тоже самое, что здесь - http://wiki.unity3d.com/index.php/MirrorReflection4
Тоже рендер в текстуру с второй камерой в точке отражения. Но с тормозами разобрался: просто нельзя ставить зеркала, чтобы они друг друга отражали, почему-то даже с глубиной рекурсии 1 в этом случае начинает лагать. Поставил много зеркал, не "видящих" друг друга и всё стало нормально
Зергут. Хотя странно, видимо рендер зеркала не оптимизирован под зеркало, а тупо рендерит как на главный вью. Насчет отражения отражения в отражении интересные статьи про Портал 1-2 были.
Что насчет генерации лабиринта из "патчей"?
Дожили. Игра на Юнити из примитивов начинает тормозить.
Не переживай, в послеконкурсной версии добавишь, в которые все равно никто не играет.