2013-02-17 14 views

उत्तर

31

यहाँ है आप कैसे तय करने और बदलने के एक घन के चेहरे का रंग:

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

4

यहाँ 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 पाश में बदल रहे हैं।

संबंधित मुद्दे