Three.js устанавливает цвет HSL из переменной

Я пытаюсь установить цвет hsl для сетки в THREE.js, используя переменную для представления цвета, чтобы в конечном итоге применить изменяемую цветовую палитру к лицам. Сейчас я просто пытаюсь заставить его работать с одним цветом.

Я могу заставить его отображаться правильно, когда я напрямую устанавливаю цвет:

for ( var i = 0; i < geometry.faces.length; i ++ ) {
    var face = geometry.faces[ i ];
    face.color.setHSL(.74, .64, .59);}

Но когда я пытаюсь поместить значение цвета в переменную, в консоли появляется результат NaN. пример кода:

for ( var i = 0; i < geometry.faces.length; i ++ ) {
    var face = geometry.faces[ i ];
    color1 = [0.74, 0.64, 0.59];
    face.color.setHSL(color1);
    console.log(face.color);
}

Буду признателен за любой совет!


person glaemart    schedule 02.05.2018    source источник
comment
Функция setHSL для Color принимает 3 аргумента, вы отправляете ей массив в второй цикл вы разместили.   -  person 2pha    schedule 03.05.2018
comment
поэтому мне нужно разбить значение на 3 отдельные переменные. Есть ли способ передать массив в качестве отдельных аргументов?   -  person glaemart    schedule 03.05.2018


Ответы (1)


Функция setHSL Color принимает 3 аргумента, вы отправляете ей массив во втором цикле, который вы отправили.
try:
face.color.setHSL(color1[0], color1[1], color1[2]);

person 2pha    schedule 03.05.2018