У меня есть следующий скрипт, прикрепленный к кубу в сцене:
public class TestShaderGraph : MonoBehaviour
{
void Start()
{
Material material = GetComponent<Renderer>().sharedMaterial;
material.SetFloat("_Min", -.5f);
material.SetFloat("_Max", .5f);
}
}
Вот график шейдера
Вот фактический результат создается при запуске сцены
Вот предполагаемый результат , полученный при ручном обновлении минимального и максимального значений для материала в инспекторе
У меня также есть легкий конвейер рендеринга, присоединенный внастройки графики.
Что мне здесь не хватает;Кто-нибудь сейчас почему значения не обновляются на материале?
Я также попытался вывести значения, используя:
material.GetFloat("_Min");
material.GetFloat("_Max");
, что фактически приводит к -0,5 и 0,5 соответственно, даже если это не показано на материале.
PSA: При написании этого вопроса я действительно нашел решение.
Я думал о том, чтобы не публиковать это, но, возможно, это поможет людям в будущем, которые также столкнулись с этой проблемой.