Фейдинг сложного объекта
Вложений: 1
По ТЗ нужно что бы куски высокополигонального здания исчезали плавно.
У частей здания по 10 материалов (ну такое дали), а суммарно оно имеет 400к треугольников. Сделать на всех материалах Fade = неправильная сортировка. Вложение 22648 Сделал 3мя камерами: 1 - рендер всего, 2 - рендер того, что нужно, что бы исчезло. 3 - рендер композиции (tex1*(1-Blend*tex2.a) + Blend*tex2) через квад. Но RenderTexture не работает на ES2 и производительность довольно низкая. Как зарешать? Я не знаю как к этому еще AR прикрутить, и так производительность никакая. |
Ответ: Фейдинг сложного объекта
4 - сообщить что моделька говно и нечего не выйдет.
|
Ответ: Фейдинг сложного объекта
Цитата:
|
Ответ: Фейдинг сложного объекта
Цитата:
- рисуешь всё непрозрачное - рисуешь всё исчезающее, но только в Z (в цвет ничего) - рисуешь всё исчезающее с z-тестом и альфой в юнити это всё решается через queue |
Ответ: Фейдинг сложного объекта
Цитата:
|
Ответ: Фейдинг сложного объекта
Видимо придётся сделать копию исчезающих объектов, и на них шейдер отдельный, у которого будут прописаны свойства (некоторые может быть необяз, но чтоб наверняка):
ColorMask 0 ZWrite On ZTest Lequal |
Ответ: Фейдинг сложного объекта
Может Dissolve Shader подойдет для этой задачи?
|
Ответ: Фейдинг сложного объекта
Цитата:
|
Ответ: Фейдинг сложного объекта
Ещё немного подробностей добавлю. В юнити в шейдере можно в пассе писать:
Tags { "Queue"="тут значение" } Это порядок рендера объектов. про значения написано тут: https://docs.unity3d.com/462/Documen...haderTags.html То же самое можно менять в C# через material.renderQueue: https://docs.unity3d.com/ScriptRefer...nderQueue.html это свойство по идее оверрайдит то, что в шейдере. План такой - фейдящиеся объекты временно копируешь. На копию вешаешь Z-only шейдер (с параметрами, которые я описывал выше), при этом ставишь этому шейдеру "Queue" = "Transparent-1" например. Оригиналу материалы не меняешь, но ставишь скриптом renderQueue = 3000. Когда фейд закончился, убираешь копию, а renderQueue возвращаешь на дефолт (-1). |
Ответ: Фейдинг сложного объекта
В 5.5 очереди можно выставлять прям в инспекторе.
Это я и сам понял, иначе бы спросил,но спасибо. Вместо последнего проще менять объект на такой же, с непрозрачный материалом, так как требуется сделать стопку, где объекты выше (а уровня 4,) определенного уровня исчезают или появляются. И судя по методу будет так: 1. Выключаем непрозрачный оригинал. 2. Включаем z-only 3. Включаем Transparent - объект 4. Фейдим Результат: От чего такие артефакты.? Нужно запретить писать в Z шейдеру с прозрачность, да? - Не помогло. Скачал стандартный дифузз и поставил ZWrite Off - толку 0 Артефакты только в Game-mode и на Устройстве, при этом в редакторе их нет. Это 16 битный Z-Buffer нам пакость сделал? Кажется что очереди не работают и Z-объект на ES2 рисуется в 3000. Видно что полигоны накладываются. Если бы не артефакты, то работает нормально. |
Ответ: Фейдинг сложного объекта
Все. Решил.
Кому так приспичит, то делйте как Mr_F_ говорит, но с несколькими правками:
Если not 2, то будет артефакты на мобилах. Если не делать финт с Z-буффером, то будет полностью неправильная сортировка. |
Часовой пояс GMT +4, время: 20:36. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot