Я использую three.js создать несколько объектов:Почему цвет сетки не изменяется (используя three.js)?
// it probably does not matter where geom1 or geom2 comes from
var materials = [
new THREE.MeshLambertMaterial({ opacity: 0.2, color: 0x000000, transparent:false, side: THREE.DoubleSide }),
new THREE.MeshBasicMaterial({ color: 0x445555, wireframe: true })
];
mesh2 = THREE.SceneUtils.createMultiMaterialObject(geom2,materials);
var material = new THREE.MeshBasicMaterial({color: 0xEEEEEB, transparent:false, side: THREE.DoubleSide });
mesh1 = new THREE.Mesh(geom1,material);
mesh1.material.color.setHex(0xEEEEEB);
Как видно из кода, который я попытался создать материалы в 2-х направлениях. Неважно, какие значения я даю цветовым параметрам, в обоих случаях цвет никогда не изменяется (он всегда серый). Если я не отрегулирую непрозрачность, тогда становится темнее или ярче. Что мне здесь не хватает?
цвета 0xEEEEEB серый .. гекс красный, зеленый, синий 0xRRGGBB так 0xff0000 красный, 'mesh1 = новый THREE.Mesh (geom1, м);' - m не определено, если вы измените цвет материала после его создания, установите 'material.needsUpdate = true' –
О, это m. Я забыл изменить свое название на материал. 'mesh1.material.needsUpdate = true' работал! Спасибо @Derte Trdelnik снова :). Но все же: почему даже после того, как я поставил '0x33cc33' вместо '0x000000' на мой объект MeshLamberMaterial, mesh2 все еще серый, когда я изменил цвет на '0x33cc33' в строке 'new THREE.MeshBasicMaterial ({color: 0x445555, wireframe: true})' меняется. – user435421