वीडियो गेम में गोलियों का अनुकरण कैसे किया जाता है?


86

मैं हाल ही में MW2 जैसे खेल खेल रहा हूं और, एक प्रोग्रामर के रूप में, मैं खुद से पूछना चाहता हूं कि वे इस खेल को कैसे इतना प्रभावशाली बनाते हैं। उदाहरण के लिए, वे बुलेट स्पीड का अनुकरण कैसे करते हैं।

  1. जब एक एनपीसी अपनी बंदूक से एक गोली चलाता है, तो क्या गोली वास्तव में उसकी बंदूक से दिए गए लक्ष्य तक जाती है या क्या वे इस हिस्से को पूरी तरह से अनदेखा करते हैं और बस लक्ष्य पर एक बुलेट छेद डालते हैं?

  2. यदि बुलेट वास्तव में बंदूक से लक्ष्य तक यात्रा कर रही है, तो यह वास्तव में किस गति से यात्रा कर रही है?


25
खूनी स्क्रीन, तो असली!
अटैकिंगहोबो

6
अंकुर : BOOOOORRRIIIING
mahen23

1
मुझे यकीन नहीं है कि अगर आप मेगमैन लीजेंड की गोलियों को बुलेट कह सकते हैं, लेकिन मेगमैन में, वे बुलेट के लिए धीमी गति से प्रोजेक्टाइल का उपयोग करते हैं। उन में, आप स्पष्ट रूप से शॉट्स को घुमावदार देख सकते हैं यदि आप शूटिंग के दौरान हलकों में दौड़ते हैं (एक कोरिओलिस प्रभाव)।
रयान

जवाबों:


84

अधिकांश एफपीएस गेम वास्तविक गेमप्ले के लिए रेकास्टिंग का उपयोग करते हैं; गोलियां चलने पर तुरंत फायर करें और फायर किए जाने पर निशाना मारें।

लेकिन अधिकांश गेम "नकली" ट्रेलरों के उपयोग को भी नियुक्त करते हैं। प्रत्येक 3 शॉट, या कुछ अन्य अंतराल, एक ट्रेसर को गोली के साथ निकाल दिया जाएगा, ट्रेसर वास्तव में तेज़ होगा, लेकिन तात्कालिक नहीं। यह केवल एक दृश्य प्रभाव के रूप में किया जाता है, और गेम-प्ले को सीधे प्रभावित नहीं करता है, लेकिन शूटर, शूटर को संकेत देने में मदद करता है, और दर्शकों को गनशॉट के लिए एक दिशात्मक संदर्भ देता है।

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

कुछ खेल, जैसे कि ARMA II, STALKER (पूरी श्रृंखला) यात्रा के समय, रिकोशे और विचलन कोणों के साथ पैठ के साथ अधिक यथार्थवादी बुलेट भौतिकी का उपयोग करते हैं। मेरा मानना ​​है कि ये सिस्टम रेकास्टिंग का उपयोग कर रहे हैं, लेकिन एक सीमा के साथ जो बुलेट की गति से निर्धारित होती है। इन खेलों के साथ थूथन का वेग ARMA II की तरह यथार्थवादी हो सकता है, या STALKER की तरह सही लग सकता है।

मैं बहुत यथार्थवादी बुलेट फिजिक्स करना पसंद करता हूं, जैसे कि फायर प्रोजेक्टाइल, लेज़र नहीं।


1
उल्लेख किए गए खेलों में से कोई भी नहीं खेल रहा है, यह गेमप्ले कैसे प्रभाव डालता है? मेरा मतलब है, अगर आप कॉल फिजिक्स जैसे खेल में बुलेट भौतिकी को नियुक्त करते हैं, तो क्या आप वास्तव में ध्यान देने योग्य अंतर देखते हैं? क्या पैठ कोण उस खेल-बदलते हैं? क्या खिलाड़ियों को यह भी एहसास होगा कि उनका चरित्र शूटर के संबंध में बुलेट के छेद के साथ नहीं है? बस उत्सुक हैं कि ओवरहेड को सही करने के लिए क्या लाभ हैं। अग्रिम में धन्यवाद।
डची ४३२

यह शूटिंग यांत्रिकी के लिए अप्रत्याशितता और गहराई की एक परत जोड़ता है जो मुझे भाता है। गोलियां तत्काल नहीं हैं !!!chuckhawks.com/rifle_ballistics_table.htm एक स्लग जो 600 फीट के लिए 2644 फीट प्रति सेकंड चल रही है। अतिरिक्त धीमी गति से नीचे का लक्ष्य न रखने के लिए लक्ष्य को हिट करने में 2 सेकंड का समय लगता है। यदि आप सीधे उस पर निशाना लगाते हैं तो एक रनिंग लक्ष्य चूक जाएगा। एक और दूरी ध्वनि की गति की तुलना में धीमी गति से जाने की अनुमति देती है, जिससे लोग शॉट सुनकर मैदान या अन्य पर कूद सकते हैं।
अटैकिंगहोबो

इस उत्तर में कई गलत बयान दिए गए हैं और उन्हें हटा दिया जाना चाहिए। नीचे मेरे जवाब की जाँच करें।
एडीवी 223

1
आरएमए 2 में गोलियां सिम्युलेटेड प्रोजेक्टाइल हैं; उन्हें संशोधित किया जा सकता है (वेग परिवर्तित, दिशात्मक परिवर्तन) मध्य उड़ान और वस्तुओं के साथ टकराते हैं जैसे वे यात्रा करते हैं। चाहे यह रे कास्टिंग द्वारा किया गया हो या अप्रासंगिक न हो, वे वास्तविक भौतिकी वस्तुओं के रूप में कार्य करते हैं।
डेक्लेरेटेडकविर

तो mw2? रेकास्टिंग या नहीं? क्योंकि वे स्पष्ट रूप से बुलेट छेद और इसके द्वारा नष्ट हो रहे वातावरण का अनुकरण करने में एक महान काम करते हैं
mahen23

51

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

कम दूरी पर गोलियां यात्रा कर रही होंगी, फ्रेम के बीच समय व्यतीत होने के साथ, वे निशानेबाज से लक्ष्य के बीच या 1 फ्रेम के भीतर वैसे भी पहुंचेंगे।

* अर्थात्, वास्तविक जीवन में रॉकेट की तुलना में धीमी गति से, ताकि खिलाड़ी उन्हें हवा में उड़ते हुए देख सकें।


44

मैंने प्लैनेटसाइड के लिए बुलेट कोड लिखा। हमारे पास कुछ 'हिटस्कैन' प्रोजेक्टाइल थे, लेकिन ज्यादातर प्रोजेक्टाइलों को सिम्युलेटेड किया गया था क्योंकि हम किसी भी समय सीपीयू बाधाओं और भारी संख्या में गोलियां दे सकते थे।

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

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

दोनों हिटस्कैन और गैर हिटस्कैन प्रोजेक्टाइल में, एक टक्कर पर क्या होता है यह आपके प्रोजेक्टाइल गुणों और आपके द्वारा प्रभावित सतह पर निर्भर करता है। उदाहरण के लिए, आप एक कठिन सतह को मार सकते हैं, जिस स्थिति में आप अपनी उछाल की संख्या की जांच कर सकते हैं और या तो एक प्रतिबिंब के अनुसार स्थिति और वेग को समायोजित कर सकते हैं, या प्रक्षेप्य को विस्फोट कर सकते हैं यदि आपने अपनी अधिकतम उछाल की संख्या को मारा है। इस प्रणाली में, एक रॉकेट में केवल 0. की अधिकतम उछाल गिनती होती है। आप एक नरम सतह से टकरा सकते हैं और फिर यह निर्धारित करने के लिए अपनी मर्मज्ञ शक्ति की जांच कर सकते हैं कि क्या प्रक्षेप्य सामग्री के माध्यम से जारी रहना चाहिए, आदि।

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


2
इससे पहले कि मैं अच्छे गेम की प्रोग्रामिंग में उतरूं, मैं प्लैनेटसाइड खेलता हूं, और ऐसा लगता है कि कोड करने में मज़ा आएगा।
एंथोनी

18

यह खेल और सटीकता / यथार्थवाद के स्तर पर निर्भर करता है।

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

इसलिए, मुझे संदेह है कि जब संभव गेम डिज़ाइनर कुछ शॉट्स को तात्कालिक मानकर या तो चीजों को सरल बनाते हैं (ताकि आपको केवल एक ही समय में सभी के स्थान पर विचार करने की आवश्यकता हो), या बुलेट की सीमा को सीमित करके। सौभाग्य से, यह अक्सर वास्तविक जीवन भौतिकी से मेल खाती है। उदाहरण के लिए, स्नाइपर राइफल में उच्च वेग के राउंड होते हैं।

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

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


14

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


11

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

दूसरी तरफ, टॉर्क 3 डी इंजन डीआईडी ​​वास्तविक प्रक्षेप्य वस्तुओं का उपयोग करता है और डिजाइनर उनकी व्यक्तिगत गति, द्रव्यमान और गुरुत्वाकर्षण संशोधक को प्रभावित कर सकता है। सभी इंजन ने हर 32 मिलीसेकंड के मान को अपडेट किया था।

संपादित करें

प्रोजेक्टाइल ऑब्जेक्ट्स का उपयोग करने के अलावा, टॉर्क 3 डी इंजन ने भी विकल्प के रूप में किरण कलाकारों के उपयोग की अनुमति दी। (मैंने कई गेम बनाये हैं जहाँ "प्रोजेक्टाइल" वास्तव में एक कण प्रभाव है जिसका कोई भी समर्थन नहीं है जो प्रोजेक्टाइल ऑब्जेक्ट्स ने किया था इसलिए किरण डाली गई थी।)


कमाल की कहानी भाई। हालाँकि, मुझे यकीन है कि इन सभी भौतिकी की गणना करने के लिए टॉर्क 3 डी इंजन को अधिक प्रसंस्करण शक्ति की आवश्यकता थी।
mahen23

@ mahen23 आपको आश्चर्य होगा। स्रोत इंजन की तुलना में इसकी कम भौतिकी गणना थी, आंशिक रूप से क्योंकि यह सॉफ्टबॉडी टकराव को बिल्कुल भी नहीं संभालता था, केवल साधारण बाउंडिंग और टकराव बक्से।
केसी

10

टीम किले 2 विकी पर उनके प्रोजेक्टाइल और हिट्सकैन हथियारों के व्यवहार पर एक सुंदर शांत लेखन है।

http://wiki.teamfortress.com/wiki/Mechanics#Hit_detection


2
वह विकि एक अच्छा पढ़ा हुआ है।
मागुका

हालांकि यह खंड छोटा है, यह हिट्सकॉन बनाम गैर-हिट्सकैन दोनों की व्याख्या करता है और यह बताता है कि हिटबॉक्स क्या हैं और उनका उपयोग कैसे किया जाता है।
झिंगिंग

उप-लेख "प्रोजेक्शन" और "हिट्सकैन" को उस खंड के शीर्षक के ठीक नीचे पढ़ना याद रखें
lunixbochs

5

वास्तव में कई गेम एक gpu रेंडरिंग हिट टेस्ट एल्गोरिदम का उपयोग करते हैं। यहाँ मूल तरीके से काम करता है:

1) ऑफ-स्क्रीन वर्तमान दृश्य का एक प्रतिपादन बनाते हैं जहां सभी इलाके काले होते हैं, और हर वर्ण एक गैर-काला रंग होता है 2) क्रॉस बालों के नीचे पिक्सेल का रंग प्राप्त करें 3) यदि यह गैर-काला है तो रंग की खोज की जा सकती है- > खिलाड़ी मानचित्रण और उस लक्ष्य के लिए एक हिट लागू होते हैं।

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


रंग-> खिलाड़ी देखने में दर्दनाक लगता है? यदि आप किरण डालते हैं, तो क्या यह समान दक्षता नहीं होगी?
deceleratedcaviar

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

लेकिन आप पिक्सेल स्पेस को वर्ल्ड स्पेस में उस संबंधित ऑब्जेक्ट में कैसे कन्वर्ट करते हैं जो आपने मारा था।
deceleratedcaviar

@ डैनियल: जैसा कि उत्तर कहता है, जो लक्ष्य हिट हो जाता है उसे रंग से पहचाना जाता है। प्रत्येक चरित्र को एक अलग (ठोस) रंग के रूप में प्रस्तुत किया जाता है, इसलिए आप बस रंग और काले रंग को याद कर सकते हैं = मिस, कुछ और = जो उस रंग में प्रस्तुत किया गया था, क्योंकि वे हिट हो गए थे।
डेव शेरोहमान

@ शेरोहमान, मैंने इसे मूल रूप से गलत पढ़ा होगा, आपके स्पष्टीकरण को पढ़ने के बाद यह इतना स्पष्ट लग रहा था कि उसका क्या मतलब है ... चीयर्स
deceleratedcaviar

4

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

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

बस इसलिए एनपीसी का सही उद्देश्य नहीं है, कई गेम वेक्टर से कुछ प्रकार के यादृच्छिककरण को जोड़ते हैं ताकि मॉडल बुलेट फैल हो। यह वही है जो आप वास्तविक जीवन में देखेंगे, जहां गोलियां सिर्फ उसी जगह पर नहीं जाती हैं जहां आप लक्ष्य करते हैं, लेकिन लक्ष्य स्थान के आसपास केंद्रित पैटर्न में।

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

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


+1 अच्छी जानकारी। लेकिन मुझे लगता है कि एआई वास्तव में अधिक मनभावन हो सकता है अगर एआई वास्तव में खिलाड़ी पर निशाना लगाने में बुरा है, बजाय एक बड़े शंकु के। या यदि आप शंकु को बड़ा करना चाहते हैं, तो इसे वैरिएबल आकार के आधार पर पुनरावृत्ति करें और निचले स्तर के दुश्मनों को एक तेज आकार वृद्धि दर दें, ताकि वे बस अनुभवहीन लगें।
AttackingHobo

1

नेक्सुइज़ स्रोत कोड के बारे में बोलते हुए, जब से मैंने एक बार देखा, उन्होंने वास्तव में पॉइंट ए से पॉइंट बी तक एक 'बुलेट' ऑब्जेक्ट नहीं भेजा था। अगर मैं सही ढंग से याद करता हूं, और यह केवल कुछ हथियारों के लिए विशिष्ट है - अन्य हथियार नहीं हैं ' टी तत्काल हिट हथियार जब वे निकाल दिए जाते हैं, तो कोड यह देखता है कि आपकी बंदूक कहां इंगित कर रही है। यदि इसका उद्देश्य किसी व्यक्ति पर है (और तत्काल हिट करने वाला हथियार है) जब आप 'आग' पर क्लिक करते हैं तो आपने एक हिट बनाया।

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


1

एक और रणनीति सब कुछ प्रदान करने और सब कुछ पता लगाने की किरण का एक संकर है। जरूरी नहीं कि आपको हर बुलेट रेंडर करना पड़े। एक उदाहरण के रूप में, यदि आपकी बंदूक 30 राउंड / सेकंड फायर करती है, तो एक स्ट्राफ कुछ सौ कण उत्पन्न कर सकता है ... आप एक "ट्रेसर इफेक्ट" का उपयोग करके रेंडरिंग को कम कर सकते हैं, प्रत्येक 3 शॉट को रेंडर कर सकते हैं, रे अन्य दो को ट्रेस कर सकते हैं। खिलाड़ी अभी भी दुश्मन पर 10 राउंड / दूसरी फायरिंग देखता है।

अपनी विशिष्ट स्थिति के लिए टीक, कम हथियारों की दर के लिए अधिक प्रस्तुत करें, उच्चतर के लिए कम।


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

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

@AttackingHobo मैं विशेष रूप से फॉस्फोरस दौर के बारे में नहीं सोच रहा था, लेकिन कुछ दृश्य क्यू कि गोलियां उड़ रही हैं। विचार चयनात्मक संपीड़न का उपयोग करना था ... विस्तार के एक स्तर को हटाते हुए कि खिलाड़ी कभी भी "लापता" के रूप में पंजीकृत नहीं होगा, लेकिन यह सिस्टम पर बोझ को कम करता है। "हर तीसरा बुलेट" बिट मनमाना है ... आपको यह देखने के लिए प्रयोग करना होगा कि क्या अच्छा काम किया है। आपने अपने जवाब में कहा कि "नकली कैंसर", जो बहुत मायने रखता है।
स्टीफन

1

यह मत भूलो कि गोली की गति बनाम फ्रेमरेट एक समस्या हो सकती है, कुछ मामलों में यदि आपने अपने भौतिकी इंजन को अच्छी तरह से कोडित नहीं किया है, तो गोली बिना किसी वस्तु को पकड़े ही जा सकती है। उस मामले के लिए एक समाधान है, जो मुझे बहुत अच्छी तरह से याद नहीं है ...

वैसे भी, मुझे लगता है कि मल्टीप्लेयर वातावरण में यथार्थवादी गोलियों की भरपाई करना बहुत समस्याग्रस्त हो सकता है, यदि असंभव नहीं है यदि विलंबता 30 या 50ms से अधिक होना शुरू होती है।

एक दिन हालांकि, आईएसपी विलंबता के बारे में थोड़ा और देखभाल कर सकता है और विभिन्न ऑफर प्रदान कर सकता है ... लेकिन एफटीटीएच के बिना, यह अभी भी एक सपना है ...


1

बैड कंपनी, बैटलफिल्ड 3 और स्टॉकर जैसे खेलों में, मेरा मानना ​​है कि बुलेट एक वास्तविक व्यक्तिगत इकाई है जिसे "रॉकेट" की तरह निकाल दिया जाता है। मुझे केवल यही लगता है कि अगर गोली तुरंत निशाने पर लगेगी तो किरण का पता लगाना आवश्यक है। जब यथार्थवादी गोलियां में इकाई अपने आप ही यह देखने के लिए टिक जाएगी कि क्या यह किसी को मारता है।


0

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

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

उत्तर दिया गया समाप्त हो गया, मैं बाद में ठीक करने के लिए वापस जा सकता हूं।


-5

गोलियों और गेम की स्टेलर श्रृंखला की सभी भौतिकी "ओपन डायनामिक्स इंजन" नामक एक ओपन सोर्स लाइब्रेरी का उपयोग करती है।

http://en.wikipedia.org/wiki/Open_Dynamics_Engine

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

अन्य खेल जो इसका इस्तेमाल करते हैं BloodRayne 2, Call of Juarez, World of Goo, X-Moto और OpenSimulator।

एक और अच्छा विकल्प भौतिकी पुस्तकालय "बुलेट" होगा। http://en.wikipedia.org/wiki/Bullet_%28software%29

इसका उपयोग भव्य चोरी ऑटो 4, लाल मृत मोचन और अधिक में किया गया था।

ps arma 2 एक घर भौतिकी इंजन का उपयोग करता है, उनका अगला गेम arma 3 भौतिक विज्ञान इंजन का उपयोग करेगा


3
यह उन खेलों को सूचीबद्ध करने के लिए भ्रामक है जो ODE का उपयोग उन उद्देश्यों के लिए करते हैं जिनका गोलियों से कोई लेना-देना नहीं है।
झॉकिंग

4
यह कहना भी भ्रामक है कि स्टाकर गोलियों के लिए ओडीई का उपयोग करता है, जब वास्तव में खेल अपने स्वयं के मालिकाना टक्कर परीक्षणों का उपयोग करता है, लेकिन केवल ओडीई सॉल्वर का उपयोग करता है।
अटैकिंगहोबो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.