मैं चेहरों पर 6 अलग-अलग छवियों के साथ घन प्रस्तुत करने के लिए थ्री.जेएस का उपयोग करने की कोशिश कर रहा हूं।एक थ्री.जेएस घन में एकाधिक सामग्रियों का उपयोग कैसे करें?
THREE.CubeGeometry के निर्माता इस तरह दिखता है:
THREE.CubeGeometry = function (width, height, depth, segmentsWidth, segmentsHeight, segmentsDepth, materials, sides)
मैं कोड है कि "सामग्री" या तो एक सामग्री, या 6 विभिन्न सामग्रियों की एक सरणी होने की उम्मीद है से देख सकते हैं, लेकिन सामग्री यहां प्रस्तुत होने पर प्रतीत होने पर कभी भी उपयोग नहीं किया जाता है।
इसके बजाए, मेष कन्स्ट्रक्टर को दी गई एकल सामग्री का उपयोग सभी 6 चेहरों के लिए किया जाता है।
var face_materials = ... <load 6 textures here>...
var cube_g = new THREE.CubeGeometry(400,400,400,1,1,1, face_materials); // <= ignored?
var cube = new THREE.Mesh(cube_g, some_material); // <= this is used instead
यहां तक कि अगर मैं अशक्त या "some_material" के रूप में अपरिभाषित गुजरती हैं, यह face_materials ओवरराइड और कुछ भी नहीं प्रस्तुत करने के लिए लगता है।
क्या इस काम को क्यूबजीमेट्री का उपयोग करने का कोई तरीका है? या क्या मुझे 6 चेहरे अलग से बनाना है और उन्हें दृश्य में जोड़ना है?
वाह, यह काम करता है! धन्यवाद। मेषफ़ेसमटेरियल गायब घटक था - बल्कि अनजाने में, क्योंकि इसकी परिभाषा है: THREE.MeshFaceMaterial() = function() {}; शायद कुछ दिन मुझे पता चल जाएगा कि यह क्यों काम करता है ... –
आर 53 में मेरे लिए काम नहीं करता है। – mpso
अधिक हालिया तीन.जेएस संस्करणों में ऐसा करने के बारे में जानकारी के लिए http://stackoverflow.com/questions/13795354/verification-of-using-multiple-textures-with-three-js-cubes देखें। – mpso