स्पेसशिप के लिए प्लाज्मा ट्रेल कैसे बनाएं


13

मैंने बहुत सारे अच्छे दिखने वाले अंतरिक्ष खेल देखे हैं जो सभी समान प्रभावों का उपयोग करते हैं। मुझे यह पता लगाने में वास्तव में दिलचस्पी है कि इनमें से कुछ प्रभाव आमतौर पर कैसे होते हैं।

विशेष रूप से मैं जानना चाहता हूं कि सभी उपलब्ध संसाधनों का उपयोग किए बिना स्पेसशिप या मिसाइलों के पीछे के कुछ निशान कैसे पूरे होते हैं।

प्रभाव के उदाहरण के लिए मेरा मतलब है कि गिम्बल के लिए स्क्रीनशॉट , और यहां तक ​​कि उसी लिंक पर वीडियो भी। इसके अलावा ईथर वाष्प में मिसाइल ट्रेल्स

क्या ये दोनों एक ही तकनीक हैं? मुझे मुख्य रूप से 2D में दिलचस्पी है, लेकिन मैं कल्पना नहीं कर सकता कि यह बहुत अलग होगा।

तो मैं इस तरह के प्रभाव को कैसे बनाऊंगा? क्या हम पिक्सेल-शेड्स, ब्लमोड्स / फिल्टर, बिटमैप इफेक्ट्स, पार्टिकल सिस्टम या क्या कह रहे हैं? नहीं वास्तव में विशिष्ट मंच। मैं सिर्फ सिद्धांत की तलाश में हूं, लेकिन विशिष्ट उदाहरण या लिंक बहुत अच्छा होगा। और अधिक विस्तार से बेहतर है।

जवाबों:


7

तो मैं इस तरह के प्रभाव को कैसे बनाऊंगा? क्या हम पिक्सेल-शेड्स, ब्लमोड्स / फिल्टर, बिटमैप इफेक्ट्स, पार्टिकल सिस्टम या क्या कह रहे हैं? नहीं वास्तव में विशिष्ट मंच। मैं सिर्फ सिद्धांत की तलाश में हूं, लेकिन विशिष्ट उदाहरण या लिंक बहुत अच्छा होगा। और अधिक विस्तार से बेहतर है।

ऊपर के सभी।

जब तक आप उनके स्रोत कोड के माध्यम से प्रहार नहीं करते हैं, आप ठीक से नहीं जान सकते कि उन्होंने यह कैसे किया।

हालांकि, दो खेलों के लुक से, दोनों के पास ज्यामिति प्रतीत होती है जो जुड़ा हुआ है और जहाज को पार करता है। जरूरी नहीं कि एक मूल बिंदु-स्प्राइट कण प्रणाली हो, लेकिन यह सब कठिन भी नहीं है।

कुछ गेम एक घुमावदार रेखा एल्गोरिथ्म का उपयोग करेंगे और उस से कोने की एक सूची उत्पन्न करेंगे और निशान के दो छोरों पर लगाए गए अलग-अलग बनावटों के साथ थोड़ी बनावट करें, ताकि एक बिंदु पर निकास गर्म दिखे और दूसरे में यह ठंडा हो। अंतरिक्ष में चल रहा है।

एक खिलाड़ी का जहाज एक दिलचस्प मामला है क्योंकि आंदोलनों अप्रत्याशित हैं, और आपको या तो अपने वक्र एल्गोरिदम के नियंत्रण बिंदुओं को अपडेट करने की आवश्यकता हो सकती है, या नवीनतम जहाज की स्थिति का नमूना लेने और उसके आधार पर वर्टेक्स स्थिति उत्पन्न करने की आवश्यकता हो सकती है।

यदि आप नियंत्रण बिंदुओं से हटकर कुछ करना चाहते हैं, तो पहले के प्रश्न के इस उत्तर पर एक नज़र डालें । हालांकि आपकी जरूरतों के लिए, खिलाड़ियों की स्थिति का नमूना लेना शायद बेहतर काम करेगा और आसानी से समझा जा सकेगा।

यहाँ कुछ आप सोच पाने के लिए है:

खिलाड़ी की स्थिति का नमूना लेना शुरू करें। ये बिंदु आपके निशान के शरीर के खंडों का निर्माण करेंगे, जिनसे ज्यामिति का निर्माण किया जा सकता है। एक अलग पूंछ खंड को रखना एक अच्छा विचार है जिसकी एक अलग बनावट है। आप पता लगाना चाहते हैं कि कोई खिलाड़ी कब मुड़ रहा है और इन खंडों की आवृत्ति बढ़ा सकता है, अन्यथा आप ब्लॉकी घटता के साथ समाप्त हो जाएंगे। जब तक कि आप के लिए जा रहे प्रभाव है :)

कुछ घटनाओं में, खंडों को उत्पन्न होने से रोकने की आवश्यकता होती है और मौजूदा लोगों को धीरे-धीरे स्केलिंग शुरू करनी चाहिए, शरीर के खंड से पूंछ के सबसे करीब से शुरू (लेकिन खुद पूंछ नहीं)। यह खिलाड़ी के धीमा होने के मामले में है। लेकिन, यदि जिस गति से खंडों को छोटा किया जाता है, वह खिलाड़ी के जहाज की गति से मेल खाता है, तो एक नया खंड उसी समय बन जाएगा, जब एक को निकाल लिया जाता है। तो यह एक जहाज के लिए भी अच्छा काम करता है जो पूर्ण गति में है। निशान की लंबाई हमेशा एक ही होगी - जो एक तरल पदार्थ देता है, सुसंगत धारा।

सिर खंड हमेशा खिलाड़ी की वर्तमान स्थिति पर होना चाहिए। यदि किसी भी मोड़ का पता लगाया जाता है, तो मौजूदा हेड सेगमेंट को बॉडी सेगमेंट में जोड़ा जाता है, और एक नया हेड सेगमेंट शुरू किया जाता है। दोहराएँ। आपके बनावट के आधार पर, प्रत्येक खंड में अधिकतम लंबाई हो सकती है।

यह हमें इस प्रभाव को मॉडल करने का एक आसान तरीका देता है: इस विचार से काम करना कि जब तक अधिक खंडों की आपूर्ति नहीं हो जाती है, तब तक प्रभाव हमेशा कम हो जाएगा / सिकुड़ जाएगा, और इसे सिकुड़ने से बचाने के लिए गति के साथ खेलता रहेगा।


4

ऐसे ट्रेल्स बनाने के लिए बहुत सारी संभावनाएं हैं। आप सरल रेखाओं, बहुभुज, बिंदु बादल आदि का उपयोग कर सकते हैं।

वे सभी आमतौर पर दो अवधारणाओं में से एक पर आधारित होते हैं:

  • पिछली स्थितियों को ट्रैक करें और पूंछ खींचने के लिए इनका उपयोग करें।
  • वेग / दिशा को ट्रैक करें और उसके आधार पर पूंछ को समायोजित करें।

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

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

प्रत्येक एक्स-वें फ्रेम / अपडेट टिक (आपको इसे प्रति सेकंड सौ बार नहीं करना पड़ता है), आप अनिवार्य रूप से अपने बफर में सबसे पुराना / अंतिम तत्व छोड़ते हैं और वर्तमान स्थिति को इसके सामने जोड़ते हैं (केवल तभी जब बफर भर जाता है; सुनिश्चित करें कि इसमें हमेशा n तत्व होते हैं, जहाँ n आपकी पूंछ की लंबाई निर्धारित करता है)।

फिर, ड्राइंग के दौरान आप बस अपनी वर्तमान स्थिति पर शुरू करते हैं और अपने बफर में सभी बिंदुओं के माध्यम से लाइनों का एक सेट आकर्षित करते हैं, जबकि हर आगे के शीर्ष के साथ अपनी अस्पष्टता को कम करते हैं।

इस तरह से आपको एक अच्छी और साफ पूंछ के साथ समाप्त होना चाहिए। अपने प्लेटफ़ॉर्म के आधार पर, आप इस का विस्तार कर सकते हैं, जैसे कि शेड्स का उपयोग करना या उस रास्ते पर कुछ अच्छी पूंछ ग्राफिक लपेटकर।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.