मुझे वास्तव में this प्रश्न मिला, लेकिन यह कहता है कि material.color
मौजूद नहीं है।घन के चेहरे के रंग बदलें
var newCube = new THREE.Mesh(new three.CubeGeometry(size, size, size), new three.MeshNormalMaterial({ vertexColors: three.FaceColors }));
मुझे वास्तव में this प्रश्न मिला, लेकिन यह कहता है कि material.color
मौजूद नहीं है।घन के चेहरे के रंग बदलें
var newCube = new THREE.Mesh(new three.CubeGeometry(size, size, size), new three.MeshNormalMaterial({ vertexColors: three.FaceColors }));
यहाँ है आप कैसे तय करने और बदलने के एक घन के चेहरे का रंग:
var geometry = new THREE.BoxGeometry(size, size, size);
for (var i = 0; i < geometry.faces.length; i ++) {
geometry.faces[ i ].color.setHex(Math.random() * 0xffffff);
}
var material = new THREE.MeshBasicMaterial({ color: 0xffffff, vertexColors: THREE.FaceColors });
तो मैं जानता हूँ कि एक घन मैं ड्राइंग कर रहा हूँ के विभिन्न चेहरों के रंग बदलने के लिए कैसे की जरूरत है geometry.faces[i].color
बदल दिया गया है ज्यामिति प्रस्तुत करने के बाद, आपको geometry.colorsNeedUpdate = true
सेट करना होगा। (यह canvasRenderer
के लिए आवश्यक नहीं है।)
Three.js r.84
यहाँ is a fiddle लोग हैं, जो यहाँ अंत और इस कोड को काम करते हुए देखना चाहते हैं।
मैं एक बॉक्स बना दिया है और चेहरे के लिए 3 रंग बंधे:
// colors
red = new THREE.Color(1, 0, 0);
green = new THREE.Color(0, 1, 0);
blue = new THREE.Color(0, 0, 1);
var colors = [red, green, blue];
for (var i = 0; i < 3; i++) {
geometry.faces[4 * i].color = colors[i];
geometry.faces[4 * i + 1].color = colors[i];
geometry.faces[4 * i + 2].color = colors[i];
geometry.faces[4 * i + 3].color = colors[i];
}
चेहरा रंग animate
पाश में बदल रहे हैं।