Как добавить ползунок "BumpScale" в нестандартный шейдер?

Шейдеры и все-все-все.

Как добавить ползунок "BumpScale" в нестандартный шейдер?

Сообщение Shock 13 май 2017, 23:59

Добрый день. У меня есть купленный шейдер для отрисовки планет, похож на старые легаси-шейдеры. Там есть нормал-мапа, но в отличии от современного шейдера нету ползунка, который регулирует ее силу. К сожалению, в стандартном шейдере весь код, который нашел - это:

Синтаксис:
Используется csharp
#pragma shader_feature _NORMALMAP


И найти, куда ссылается эта программа - не смог. Я предполагаю, что в этом месте необходимо как-то умножить на _BumpScale, но у меня не получилось(

Синтаксис:
Используется csharp
_BumpScale    ("BumpScale", Float) = 1.0
_BumpMap      ("BumpMap", 2D) = "bump" {}
// ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
o.Normal = lerp(UnpackNormal(tex2D(_BumpMap, IN.uv_MainTex)), half3(0,0,1), half3(clouds));


Подскажите, пожалуйста, как именно умножить нормал-мапу на коефициент, или где почитать код "shader_feature _NORMALMAP"?
Аватара пользователя
Shock
UNIт
 
Сообщения: 77
Зарегистрирован: 10 окт 2016, 18:22

Re: Как добавить ползунок "BumpScale" в нестандартный шейдер?

Сообщение Shock 14 май 2017, 03:15

Сам нашел ответ - необходимо использовать UnpackScaleNormal вместо UnpackNormal
Аватара пользователя
Shock
UNIт
 
Сообщения: 77
Зарегистрирован: 10 окт 2016, 18:22


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8