Как получить доступ к диапазону свойств шейдера из C#
Я хотел бы сделать простой интерфейс с ползунками, которые изменяют свойства в моем шейдере.
У меня есть несколько свойств, объявленных в шейдере, как это:
name ("display name", Range (min, max)) = number
но свойства имеют разные диапазоны, и ползунки создаются динамически в зависимости от количества свойств.
Я хотел бы знать, есть ли способ получить доступ к диапазону указанных свойств шейдера, чтобы я мог установить максимальное и минимальное значение для моих ползунков.
1 ответ
Нет Это невозможно. Вы не можете получить доступ к минимальным и максимальным значениям диапазона в Range (min, max)
из C#. У вас есть два варианта:
1. Жесткий код минимальных, максимальных значений из C# в постоянной переменной. Убедитесь, что они соответствуют значениям в Range (min, max)
функция.
2. Хард-код минимальных, максимальных значений из самого шейдера, затем используйте HideInInspector, чтобы скрыть их от Инспектора, так как вам нужно только прочитать их.
[HideInInspector]
min("Min", Float) = 0
а также
[HideInInspector]
max("Max", Float) = 1
Теперь вы можете читать их из C# как float
с Material.GetFloat
функция. Убедитесь, что они соответствуют значениям в Range (min, max)
функция.