Значение анимированного шейдера - PullRequest
0 голосов
/ 16 января 2019

С помощью решения @ rickster в этом посте: SceneKit - текстуры свойств материала Crossfade , я пытаюсь реализовать анимацию на fadeFactor . Я стараюсь много вещей, но ничего не работает, как ожидалось.

Вот мой код:

  • Для шейдеров:

    "uniform float fadeFactor;"

  • В быстром:

    let anim = CABasicAnimation(keyPath: "fadeFactor")
    anim.fromValue = NSNumber(value: 0.0)
    anim.toValue = NSNumber(value: 1.0)
    anim.duration = duration
    anim.repeatCount = .infinity
    node.geometry?.firstMaterial?.addAnimation(anim, forKey: "fadeFactor")
    

Когда я выполняю свой код, анимация в свойстве fadeFactor отсутствует. Что я делаю не так?
В CABasicAnimation я пробую разные значения для keyPath : geometry.firstMaterial.diffuse.contents, fadeFactor и т. Д.
Я не могу найти какое значение я должен дать для параметров 'keyPath' и 'forKey' !

Когда я изменяю значение для fadeFactor с функцией setValue , все нормально:

node.geometry?.firstMaterial?.setValue(NSNumber(value: 0.5), forKey: "fadeFactor")

Если у соменона есть решение или он может дать мне пример, это будет здорово.

Заранее спасибо.

1 Ответ

0 голосов
/ 16 января 2019

ОК, наконец-то, это работа, после того, как завершить очистку проекта !!! Проект -> Чистая папка сборки

...