में क्लिक की गई वस्तु का पता लगाएं मेरे पास एक THREE.js दृश्य है जहां बहुत से तत्व दिखाई देते हैं, और मुझे यह पता लगाने की आवश्यकता है कि उपयोगकर्ता किस ऑब्जेक्ट पर क्लिक कर रहा है।THREE.js
जो मैंने अभी तक किया है वह निम्नलिखित है। कैमरा ज्यादा नहीं बढ़ता है - यह केवल एक ही राशि की ओर देखकर, सीमित राशि से ऊर्ध्वाधर स्थिति को बदलता है।
- मैं निर्देशांक ले कैनवास के लिए क्लिक रिश्तेदार
- मैं उन्हें WebGL दृश्य में क्षैतिज और ऊर्ध्वाधर निर्देशांक में एक सरल rescaling के माध्यम से अनुवाद करते हैं, और एक जेड जोड़ें: मेरे अनुमानित विधि निम्नलिखित है समन्वय जो काफी दूर है।
- मैं उपरोक्त बिंदु से शुरू होने वाली क्षैतिज किरण लेता हूं, तीन द्वारा निर्मित। रे()
- मैं रे के साथ पहला तत्व खोजने के लिए ray.intersectObjects() का उपयोग करता हूं।
यह विधि लगभग काम करती है, लेकिन कभी-कभी वास्तविक बिंदु से कुछ पिक्सल दूर होती है।
क्या उस ऑब्जेक्ट को खोजने के लिए कोई और विश्वसनीय तकनीक है जहां उपयोगकर्ता ने क्लिक किया है?
मार्जिन और पैडिंग आपके समन्वय को थोड़ा ऑफसेट होने का कारण बन सकता है। क्या आपने इसके लिए जिम्मेदार ठहराया? – Prusse
डेमो में इस समय कोई मार्जिन और न ही पैडिंग हैं, लेकिन मैंने जो तकनीक वर्णित की है वह वैसे भी सटीक नहीं है। – Andrea
[इस उदाहरण] पर एक नज़र डालें (http://mrdoob.github.com/three.js/examples/canvas_interactive_cubes.html)। –