Не изменяются параметры материала

Ошибки и баги Unity3D

Не изменяются параметры материала

Сообщение Woolf 23 мар 2021, 18:45

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

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

    void OnEnable() {
        rend = GetComponent<Renderer>();
        sharedMaterial = rend.sharedMaterial;
        currentWave = sharedMaterial.GetVector("_GerstnerVertexIntensity");
        baseSpeed = sharedMaterial.GetVector("_BumpSpeed");
        baseRotate = sharedMaterial.GetVector("_BumpRotation");
        baseBump = sharedMaterial.GetFloat("_ReflectionBumpScale");

        currBump = baseBump;
        currentSpeed = baseSpeed;
        currentRotate = baseRotate;
    }

void Update() {

    //изменения currentWave, currentSpeed и так далее
}

    private void OnWillRenderObject() {
            rend.material.SetVector("_GerstnerVertexIntensity", currentWave);
            rend.material.SetVector("_BumpSpeed", currentSpeed);
            rend.material.SetVector("_BumpRotation", currentRotate);
            rend.material.SetFloat("_ReflectionBumpScale", currBump);

    }
 
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Не изменяются параметры материала

Сообщение Alkos26Rus 23 мар 2021, 19:13

Это же сторонний шейдер воды? Скорей всего дело в самом шейдере, может там прописаны какие то условия принятия изменений, например для работы в редакторе (раз уж параметры материала изменены а результата нет). Поэтому нужно выложить сам шейдер, пусть кто шарит в шейдерах подскажет. Так как в логику шейдера могут закинуть что угодно.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва


Вернуться в Глюки

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

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