Ответ: Вопросы
Цитата:
|
Ответ: Вопросы
Цитата:
|
Ответ: Вопросы
Цитата:
А так глянул на этот двиг, почитал доки... ну что могу сказать... это старый, добрый Blitz3D! По крайней мере именно такое впечатление он на меня производит. Конечно, он с нормальным 2Д и ещё кучей плюшек... но простота двига подкупает. Общая архитектура тоже нравится. Я вкатился в этот двиг почти сразу. Чего не скажешь о Юнити. |
Ответ: Вопросы
Цитата:
Цитата:
Цитата:
|
Ответ: Вопросы
Вложений: 1
Godot 3.2.3
GLES 2.0 Android, apk релизный Сделал простой шейдер, где смешиваются 2 текстуры, с движением UV. На ПК работает как надо. Однако на Андроиде, спустя минуту текстуры начинают едва заметно тормозить. Ещё через 2, ощутимо двигаются рывками, пикселизируются. Остальная сцена проигрывается гладко. Текстуры натянуты на плоский меш, со сферообразно искажённой развёрткой. Проблема замечена на Huawei P8 Lite и P10, но по всей видимости дело не в аппаратах. Двигать UV пробовал по разному. Разница только в скорости движения, чем быстрее движется, тем скорее начинаются рывки. В чём может быть дело, как решить? Навсякий случай, генерируемый VisualShaders код: Второй вопрос, что бы не ходить дважды. Тоже шейдер с расчётом на телефон, смешиваются 2 текстуры по Vertex-маске через VectorMix. Почему же этот шейдер на единственной такой поверхности, в 35 треугольников отнимает ~10 FPS? Неужели это настолько тяжёлая операция для смартфона? |
Ответ: Вопросы
1: Двигать текстуру с определенной скоростью:
uv = UV + Time * Speed 2: Смешивать текстуры попробуй функцией: mix (текстура1, текстура2, красныйканалвершин) |
Ответ: Вопросы
Вложений: 2
Цитата:
2) Канал вершин, не UV? Ты уверен? У меня вершины не раскрашены, текстуры не смешиваются. UV попробовал, не работает. Стоп, ты про другое? А как я по твоему их смешиваю? :crazy: Ну, разве что ScalarMix попробовать :mda: Вложение 23253 P. S. Похоже ScalarMix действительно меньше влияет на производительность чем Mix, спасибо что напомнил :super: Текстуры на «сфере» по прежнему дёргаются. Втыкал туда R с UV через ScalarMix. |
Ответ: Вопросы
>> 1) Не работает.
uv = UV + 0.5 Это сдвигает текстуру (без динамики)? |
Ответ: Вопросы
Может float UV обнулять? У него же чем больше число - тем меньше точность
|
Ответ: Вопросы
Цитата:
Цитата:
Сегодня узнал что это проблема GLES2, особенно на мобильниках. В Годо можно повысить точность в настройках проекта (или вручную в шейдере). Но я почему-то не увидел разницу. Анимировать UV во фрагментом шейдере настоятельно не рекомендуется. Предлагается смещать только в вертексном шейдере.
Обнулять UV и вращать дальше, как это сделать во фрагментом шейдере? Для GLES2 - Andorid такое не запрещено? |
Ответ: Вопросы
Цитата:
Цитата:
float2 uv1 = UV + Time * SpeedTexture1; float2 uv2 = UV + Time * SpeedTexture2; float2 uv3 = UV + Time * SpeedTexture3; etc uv1, uv2, uv3 уже подставляешь в tex2D: float3 Texture1 = tex2D(_Texture1 , uv1 ); float3 Texture2 = tex2D(_Texture2 , uv2 ); float3 Texture3 = tex2D(_Texture3 , uv3 ); etc |
Ответ: Вопросы
Цитата:
А именно с UV там примитивный баг на подуставших мобилках, который тупо не чинят. https://github.com/godotengine/godot/issues/37935 Кстати возможно ты нашел еще один баг :crazy: Еще на gles 2 vertex color рисует не те цвета и тоже все вкурсе, но никто не чинит. |
Ответ: Вопросы
Любимы дуалист Антона нарисовался, теперь опишем все баги Unity :)))
|
Ответ: Вопросы
Вложений: 1
Цитата:
В вершинном шейдере проблем нет. Никакое принудительно выставление точности не работает. В фрагментах тупо нельзя анимировать UV — деградируют. Цитата:
Однако вопрос, а если двигать в вершинном, то как тогда «анимировать 10 текстур»? Я их просто в UV и UV2 втыкаю: Цитата:
Цитата:
По твоей ссылке баг на конкретном устройстве. |
Ответ: Вопросы
Интересно сработает ли это:
Код:
shader_type spatial; flat - The value is not interpolated noperspective - The value is linearly interpolated in window-space smooth - The value is interpolated in a perspective-correct fashion. This is the default |
Часовой пояс GMT +4, время: 02:10. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot