Войти
UnityФорумОбщее

Подскажите, пожалуйста, где я не прав)

#0
16:31, 5 окт 2022

Добрый день. сделал вот такой простенький граф в юнити shader graph, который должен менять цвет в зависимости от расстояния между камерой и объектом.
Изображение

И вот такие настройки поставил

Изображение

Если я правильно понял теорию, то цвет должен меняться когда я отдаляю и приближаю объект с этим шейдером от камеры. НО ничего не происходит. Объект всегда красного цвета. Однако если я заменяю узел "Scene depth" на обычную float переменную и изменяю ее вручную, то все прекрасно работает. Я понимаю, что я что-то упускаю, но не могу понять что и где, и не понимаю почему не работает с глубиной сцены. Буду благодарен за любую помощь.

#1
(Правка: 17:09) 17:08, 5 окт 2022

1. Проверить в настройках камеры или Render Pipeline, включена ли Depth текстура (совет из документации

2. Умножить Depth на какое-нибудь значение, вывести его в параметры материала и крутить до желаемого эффекта.

3. Судя по ноде, она берет Linear Depth от 0 до 1. Возможно, лучше взять raw-значение (экспоненту) или вообще расстояние в метрах до камеры с помощью каких-нибудь других нод и работать уже с этим, если эта нода почему-то не работает. Я добавлял туман спрайтам, используя ноду камеры и на кое-что это значение умножал (можно найти гайды). Но тут видимо все-таки не туман, а прозрачка, поэтому надо брать дальность именно вот этой нодой.

#2
17:29, 5 окт 2022

LifeKILLED
Не подскажете где конкретно искать настройку depth текстуры? Я пробовал искать, но ничего не нашел(

UnityФорумОбщее