Size: a a a

2020 June 01

AD

Aidan Arcueid D'athe... in unity3d.ru
Rokko Effe
Использую шейдер, который искривляет мир. Искривление происходит относительно игрока, который двигается прямо.

Но когда я сбрасываю координаты всех объектов в ноль, шейдер буд-то бы использует старые координаты игрока в этом кадре, из-за чего мир искривляется так, будто игрок находится далеко впереди. На следующем кадре искривление уже считается правильно. Из-за этого возникает заметное дёрганье.

Вопрос: в какую сторону двигаться, чтобы исправить это?
потому, что ты наверное передаешь в него данные, которые и делают такой баг
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
или как ты отслеживаешь местоположение гг
источник

RE

Rokko Effe in unity3d.ru
Aidan Arcueid D'athemon
потому, что ты наверное передаешь в него данные, которые и делают такой баг
И прикол в том, что искривлением управляет скрипт, который как-то засунули в ассет так, что его нельзя редачить.

В этот контроллер искривления я передал трансформ камеры, которая двигается за игроком. Камера двигается в LateUpdate, игрок в фиксед апдейте
источник

RE

Rokko Effe in unity3d.ru
И ещё - у меня есть два почти идентичных шейдера. С одним этого бага нет, с другим баг есть. Но мне придётся или заставить это работать со стандартными шейдерами, или переписать все нужные мне шейдеры в новом стиле.

Шейдеры остались от старого проекта, я уже забыл, как я тогда эту же проблему фиксил
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Rokko Effe
И прикол в том, что искривлением управляет скрипт, который как-то засунули в ассет так, что его нельзя редачить.

В этот контроллер искривления я передал трансформ камеры, которая двигается за игроком. Камера двигается в LateUpdate, игрок в фиксед апдейте
а в смысле нельзя? надо выдрать
источник

RE

Rokko Effe in unity3d.ru
Вот разница в шейдерах
источник

RE

Rokko Effe in unity3d.ru
Всё что выше - идентично
источник

RE

Rokko Effe in unity3d.ru
Работает без бага тот, что справа
источник

NV

Nik Vega in unity3d.ru
Доброй ночи. Если создать модели персонажа, у которого развёртка будет с наложением, это может вылезти боком в движке?
источник

NV

Nik Vega in unity3d.ru
Т.е. текстура левой и правой руки\ноги одинаковая.
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
Rokko Effe
Вот разница в шейдерах
Очень странная фигня, я вроде ошибок в правом шейдере не вижу. Единственное что может косякнуть, возможно по какой то непонятной причине у тебя unity_ObjectWorld позвращает значение, которое было еще ДО телепортации, и первый фрейм отрисовывается с такими издершками.
источник

RE

Rokko Effe in unity3d.ru
🗿🗿🗿 Ilushkins 🗿🗿🗿
Очень странная фигня, я вроде ошибок в правом шейдере не вижу. Единственное что может косякнуть, возможно по какой то непонятной причине у тебя unity_ObjectWorld позвращает значение, которое было еще ДО телепортации, и первый фрейм отрисовывается с такими издершками.
Тут ещё дело в том, что правый шейдер использует global shader values которые устанавливает отдельный скрипт, а левый шейдер пользуется скриптом, который спрятан в ассете искривления мира. В старом проекте я пользовался правым шейдером и устанавливал те значения в каждом update
источник

RE

Rokko Effe in unity3d.ru
🗿🗿🗿 Ilushkins 🗿🗿🗿
Очень странная фигня, я вроде ошибок в правом шейдере не вижу. Единственное что может косякнуть, возможно по какой то непонятной причине у тебя unity_ObjectWorld позвращает значение, которое было еще ДО телепортации, и первый фрейм отрисовывается с такими издершками.
В шейдерах пока ничего не понимаю, но вопрос такой: можно ли взять обычный alpha blended шейдер из юнити и адаптировать его так, как правый шейдер, чтобы это искривление работало?
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
Rokko Effe
В шейдерах пока ничего не понимаю, но вопрос такой: можно ли взять обычный alpha blended шейдер из юнити и адаптировать его так, как правый шейдер, чтобы это искривление работало?
Альфа блендинг никак не связан с твоей задачей
источник

RE

Rokko Effe in unity3d.ru
🗿🗿🗿 Ilushkins 🗿🗿🗿
Альфа блендинг никак не связан с твоей задачей
Мне просто именно этот шейдер и нужен. У меня есть рабочий шейдер просто diffuse, а есть ещё модели с альфой на материалах. Для них нет шейдера, который поддерживает искривление
источник

RE

Rokko Effe in unity3d.ru
Вот другой скрипт искривления, который работает только с шейдером с картинки справа
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
Rokko Effe
Мне просто именно этот шейдер и нужен. У меня есть рабочий шейдер просто diffuse, а есть ещё модели с альфой на материалах. Для них нет шейдера, который поддерживает искривление
Хм, а в ShaderLab разве нельзя вызвать сначала некий "заготолвеный" и уже скомпиленый к примерю диффуз, и потом свой код дописать?
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
Rokko Effe
Вот другой скрипт искривления, который работает только с шейдером с картинки справа
Ууу, выглядит странно
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
У юнитвеского HLSL нету чтоле vertex аттрибутов?
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
как в GLSL?
источник