2012-09-09 32 views
12

मैं विमान से उनकी दूरी के कार्य के रूप में कणों की अस्पष्टता को बदलने की कोशिश कर रहा हूं।तीन.जेएस - व्यक्तिगत कणों की अस्पष्टता समायोजित करना

This issue मेरी समस्या का वर्णन करता है, और एक साल पहले उत्तर अनिवार्य रूप से "आप नहीं कर सकते"। अस्पष्टता स्पष्ट रूप से एक तत्व का एक पैरामीटर है, तत्व नहीं, और इसलिए व्यक्तिगत कण अस्पष्टता संभव नहीं है।

क्या कुछ भी बदल गया है, क्या कोई तरीका है कि मैं इसे प्राप्त कर सकता हूं? यदि व्यक्तिगत कण रंग संभव है, तो मुझे लगता है कि यह पहुंच से बाहर नहीं है।

चीयर्स

उत्तर

23

ParticleSystemPoints को PointCloud को नाम दिया गया है और उसके बाद।

हां, आप प्वाइंट क्लाउड बना सकते हैं और गतिशील रूप से प्रत्येक कण के रंग के अल्फा मान को बदल सकते हैं।

Three.js में, आप एक ShaderMaterial एक विशेषता प्रत्येक कण के लिए वांछित अल्फा मूल्य के बराबर होने होने के लिए प्वाइंट बादल की सामग्री की स्थापना करके ऐसा कर सकते हैं।

तो ShaderMaterials, शिखर shaders और टुकड़ा shaders, आप के लिए नए हैं यहाँ एक बहुत आसान फिडल कि गतिशील alphas के साथ एक बिंदु बादल लागू करता है: http://jsfiddle.net/8mrH7/266/

संपादित करें: अपडेट किया गया बेला

Three.js r.84

+1

धन्यवाद! \t \t pMaterial = नए THREE.ParticleBasicMaterial ({ \t \t \t आकार: 0.2, \t \t \t नक्शा: THREE.ImageUtils.loadTexture ( \t \t \t \t "छवियों/particle.png मेरे वर्तमान सामग्री इस प्रकार है " \t \t \t), \t \t \t सम्मिश्रण: THREE.AdditiveBlending, \t \t \t vertexColors: सच है, \t \t \t पारदर्शी: सच है, \t \t \t depthWrite: झूठे, // जरूरत? \t \t}); मैं इस दृष्टिकोण के साथ मिश्रित मिश्रण बनावट कैसे रख सकता हूं? – user593062

+0

अल्फा अब उदाहरण में काम नहीं कर रहा है। मुझे लगता है कि तीन.जेएस में कुछ बदलना चाहिए था? –

+1

ठीक है, इसे ठीक करें। मुझे बस शेडरमटेरियल में "पारदर्शी: सत्य" सेट करना पड़ा। http://jsfiddle.net/yfSwK/27/ –