2009-02-04 6 views
6

में कैमरे का सामना करने के लिए स्प्राइट प्राप्त करना मेरे पास एक ऐसा गेम है जो 2 या उससे कम है, लेकिन 3 डी में प्रस्तुत किया गया है। 2 डी गेम फ़ील्ड के ऊपर कैमरा होवर पूरी तरह से लंबवत से लगभग 20 डिग्री झुका हुआ है ताकि इसे थोड़ा 3 डी परिप्रेक्ष्य दिया जा सके।OpenGLES

मेरे पास कुछ sprites हैं जिन्हें पूरी तरह से वर्ग प्रदान करने की आवश्यकता है, क्योंकि वे गोलाकार वस्तुओं का प्रतिनिधित्व करते हैं। मेरा पहला दृष्टिकोण 2 डी फ़ील्ड पर क्वाड फ्लैट प्रदान करता है जो उन्हें सही ढंग से स्थानांतरित करता है, लेकिन स्प्राइट परिप्रेक्ष्य विरूपण के अधीन था और यह हमेशा गोल नहीं दिखता था।

मेरा वर्तमान दृष्टिकोण यह है कि स्प्राइट्स को प्रस्तुत करते समय मैं कैमरे को गेम फ़ील्ड (और स्प्राइट्स) के लंबवत होने के लिए ले जाता हूं जो गारंटी देता है कि क्वाड परिप्रेक्ष्य से कभी विकृत नहीं होते हैं। इस बात की कमी यह है कि स्प्रिट्स की स्थिति थोड़ा अलग है, जहां कैमरा झुका हुआ था।

तो, कैसे मैं स्प्राइट कि कर रहे हैं प्रदान कर सकते हैं:

  1. पूरी तरह से वर्ग और कैमरे का सामना करना पड़ लेकिन मुझे मेरा कैमरा ले जाने के लिए इस लक्ष्य को हासिल करने के लिए आवश्यकता नहीं है।
  2. एक आकार है कि (बिंदु स्प्राइट के विपरीत) कैमरे से दूरी से प्रभावित है

उत्तर

10

आप जो बहुभुज का उपयोग करना चाहते हैं उसे प्राप्त कर सकते हैं जो हर समय कैमरे का सामना करता है। इसे "बिलबोर्ड" कहा जाता है। Here is एक अच्छा ट्यूटोरियल जो और कैसे ओपन

+1

धन्यवाद, यह बहुत उपयोगी है। –

0

कैमरा करने के लिए खड़ा quads ड्रा सुझाव के रूप में है, लेकिन उन्हें क्षेत्र के ऊपर एक छोटे से स्थिति है। उपरोक्त दूरी शायद क्षेत्र के त्रिज्या होनी चाहिए।

+0

मुझे यकीन नहीं है कि उन्हें कैसे चलाना है मदद करेगा। और मेरी समस्या का हिस्सा यह है कि मैं यह समझ नहीं सकता कि मुझे मैदान में लंबवत नहीं होने पर क्वाड को चलने वाले कैमरे का सामना करने के लिए क्या गणित की आवश्यकता है। क्षमा करें अगर मैं यह अच्छी तरह से समझा नहीं रहा हूं। शब्दों में डालना मुश्किल है। –

0

का उपयोग कर आप अभी भी बिंदु स्प्राइट का उपयोग कर सकते हैं ... glPointParameter का उपयोग कर इसे लागू करने के गणित शामिल व्याख्या करने के लिए लगता है() आप इसे गहराई क्षीणन दे सकते हैं। मैं वर्तमान में विकास में है मेरे कण प्रणाली के लिए मेरी गहराई क्षीणन के लिए 0.00025 का उपयोग कर रहा हूँ। नीचे की तरफ यह है कि पहली जेन मशीनों पर (मुझे लगता है कि आप इसे आईफोन या आइपॉड टच के लिए कर रहे हैं) आप 64x64 पिक्सेल के अधिकतम स्प्राइट आकार के साथ फंस जाएंगे

+0

मुझे पता है कि यह टिप्पणी पुरानी है लेकिन संभावित पाठकों के लिए मुझे बस यह कहना है कि इस विधि के लिए एक और नकारात्मक पक्ष है। अगर क्लिपिंग के कारण स्क्रीन बंद हो तो आपका स्प्राइट गायब हो जाएगा। – Rene

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