जब आपके पास तीन.जेएस/वेबजीएल में दो विमान हैं और उनमें से एक या दोनों पारदर्शी हैं, तो कभी-कभी विमान पीछे पारदर्शी विमान से छिपा होगा। ऐसा क्यों है?थ्री.जेएस/वेबजीएल - उनके पीछे अन्य विमानों को छिपाने वाले पारदर्शी विमान
उत्तर
यह एक बग नहीं है, यह ठीक है कि ओपनजीएल (और, इसलिए, वेबजीएल) कैसे काम करता है। पारदर्शी सतह जेड-बफर के साथ अच्छी तरह से नहीं खेलती है, और इस तरह मैन्युअल रूप से क्रमबद्ध और बैक-टू-फ्रंट प्रस्तुत किया जाना चाहिए। तीन जेएस आपके लिए ऐसा करने का प्रयास कर रहे हैं (यही कारण है कि जब आप एक्स मान> 0 सेट करते हैं तो समस्या दूर हो जाती है) लेकिन आप दिखाए जा रहे ज्यामिति को छेड़छाड़ करने के मामले को मजबूती से संभाल नहीं सकते हैं।
मैंने इस मुद्दे को different SO question में अधिक गहराई से समझाया है, तो आप इसका संदर्भ लेना चाहेंगे।
सामग्री में alphaTest: 0.5
जोड़ने का प्रयास करें।
ने कोशिश की है, काम नहीं किया:/मुझे लगता है कि यह एक वेबलॉग समस्या है इसलिए मुझे फिर से डिजाइन करना होगा कि मेरा गेम विमानों को कैसे प्रदर्शित कर रहा है। हालांकि यह थोड़ा हैक किया जाएगा। – MaiaVictor
मेरे पास एक विमान है जो कैनवास-आधारित बनावट है जिसमें टेक्स्ट प्रदर्शित करने के लिए मैप किया गया है। कुछ कोणों/पदों पर मुझे बनावट सामग्री की पारदर्शिता के साथ समस्याएं थीं और यह ठीक हो गया, इसलिए धन्यवाद! – plyawn
नोट: 'अल्फाटेस्ट' एक ट्रेसहोल्ड है जो बनावट में अर्ध-पारदर्शी क्षेत्रों को पूरी तरह से अपारदर्शी (जब पिक्सेल अस्पष्टता> ट्रेसहोल्ड) या पूरी तरह से पारदर्शी (जब पिक्सेल अस्पष्टता
fwiw, यदि आपके पास बहुत सारे समानांतर विमान हैं (आपका नमूना नहीं देख सकता है, तो Google आपके डोमेन को हल नहीं कर सकता है), उन्हें लंबवत धुरी के साथ क्रमबद्ध रखना आसान है। विमानों की एक सूची के लिए [ए बी सी डी] ऑर्डर-टू-ड्रा या तो [ए बी सी डी] या [डी सी बी ए] होगा और कुछ भी नहीं! इसलिए सॉर्टिंग से प्रदर्शन हिट होने की आवश्यकता नहीं है। जैसे ही आप जाते हैं उन्हें बस रखें।
समस्या यह है कि मेरे पास कुछ विमान हैं जिन्हें दूसरों को पार करना होगा। जैसे वे 3 डी फ्लैट तलवारें थे। क्या मैं पूछ सकता हूं, यह पूछे जाने के बाद आप कितने सवाल को ढूंढ गए और 4 अपवित्र यहां कैसे आए? – MaiaVictor
आपके प्रश्न लोगों के व्यवहार को रोकते हैं, मैं जवाब नहीं दे सकता :) हालांकि, यदि आपके पास बहुभुज हैं जो एक-दूसरे को पार करते हैं, तो के-बफर या मूल ए-बफर एल्गोरिदम जैसे प्रति-खंडों के अलावा कोई आसान सही समाधान नहीं है, जब तक कि आप विशेष रूप से पुलिस नहीं त्रिभुज चौराहे और उन्हें फ्लाई पर tesselate। – bjorke
मान लें कि आप कुछ पारदर्शी * .png छवि का उपयोग कर रहे हैं। फिर इस में मदद मिलेगी:
new THREE.MeshBasicMaterial({ side:THREE.BackSide,map:texture, depthWrite: false, depthTest: false });
false
को depthWrite
गुण को सेट मेरी समस्या हल हो जाती।
new THREE.MeshBasicMaterial({
opacity: 0.25,
transparent: true,
side: THREE.DoubleSide,
depthWrite: false
});
आपको धन्यवाद। कोई और "पारदर्शी ब्लैक बॉक्स समस्या" नहीं! – Andy
उत्तर के लिए धन्यवाद लेकिन इसलिए आप मुझे बता रहे हैं कि बस मेरे खेल को फिर से डिजाइन करना बेहतर है या एक समाधान पीछा करने योग्य हैकिंग तीन है। जेएस? – MaiaVictor
@ टोजी जो प्रश्न आप संदर्भित करते हैं वह बिल्कुल एक ही मुद्दे से निपट नहीं रहा है। दूसरे प्रश्न में यह ऑब्जेक्ट/बनावट का केवल एक हिस्सा है जो पारदर्शी है जहां इस प्रश्न में पूरा विमान पारदर्शी है और पारदर्शी विमान के लिए पूरी तरह से 'गहराई' को निष्क्रिय करके आसानी से हल किया जा सकता है। – Wilt