यह सुनिश्चित करने के लिए कि कताई वस्तुओं को सही छोर के साथ एक लक्ष्य कैसे मारा जाए?


25

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

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

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

उदाहरण: https://youtu.be/0favcoinFpBko?t=42s


15
चाकू को हमेशा लक्ष्य ब्लेड से मारना सबसे पहले या तो यथार्थवादी नहीं है, विशेष रूप से जब हम एक चलती लक्ष्य के बारे में बात करते हैं।
थोराट

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

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

2
यह मुद्दा काफी प्रमुख है कि इसके बारे में एक TVTropes लेख है: ब्लेड ऑलवेज लैंड्स पॉइंट एंड इन
मेसन व्हीलर

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

जवाबों:


35

यह नकली है

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

बस नकली है। एक बार चाकू से लक्ष्य की दूरी छोटी हो जाने के बाद, चाकू को लक्ष्य में जादुई रूप से काटें।

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


दृढ़ भविष्यवाणी

जिस दर पर चाकू घूमता है वह खिलाड़ी के नियंत्रण से परे होता है।

यह सही है। यह खिलाड़ी के नियंत्रण से परे है। हालांकि, आपके नियंत्रण से परे नहीं ...

यदि आप दूरी की गणना कर सकते हैं कि चाकू को यात्रा करना है, तो आप घूर्णन दर को ऐसे बना सकते हैं कि चाकू पहले ब्लेड से टकराएगा।

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

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

परवलय में बाधाओं की दूरी का पता लगाना भी संभव है, परवलय में निकटतम बिंदु को बाधा की स्थिति का पता लगाकर, और फिर उस बिंदु के साथ टकराव की जांच करें।

एक बार जब आप जानते हैं कि चाकू को कितना यात्रा करना है, तो आप इसे पूर्णांक संख्या में घुमावों में विभाजित कर सकते हैं, जिससे यह पहले ब्लेड को दिखाएगा। संपादित करें: या एक पूर्णांक 0.5 आप कैसे फेंकते हैं इसके आधार पर।

बेशक, बाधाएं उस समय बढ़ जाती हैं जब चाकू वहां पहुंच जाता है ...


वास्तविक बनो

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


1
आह मैंने छलांग नहीं देखी, कितनी चालाक अभी तक सरल है। यह बहुत स्पष्ट है जब मैंने इसे फ्रेम करके देखा था जैसा आपने सुझाव दिया था।
फ्रंटएंड

14

यदि आप समय से पहले जानते हैं कि चाकू कहाँ उतरेगा - जैसे उन किल कैम फुटेज में, जो निश्चित रूप से सबसे बाद में उत्पन्न होता है - बस उड़ान की दूरी और वांछित घुमावों की संख्या के आधार पर सही रोटेशन की गति की गणना करें। फेंकने वाले चाकू फेंकने वाले को पहले-पहले छोड़ देते हैं, इसलिए इसे एन + 0.5 पूर्ण घुमाव 1 को घुमाने की जरूरत है , जहां एन आमतौर पर कम से कम 1 है, लेकिन फेंकने वाले के कौशल स्तर के आधार पर अधिक हो सकता है या आप इसे कितना शांत दिखना चाहते हैं: अधिक घूमना = और ठंडा।

यदि आप नहीं करते हैं, तो हिट पर रोटेशन को ठीक करके धोखा देना ठीक है, और शायद इसे रक्त के छींटे के साथ छिपाएं। एक जादूगर की तरह, यदि आप इसे जल्दी करते हैं तो खिलाड़ी ध्यान नहीं दे रहा है।

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

1 : कुछ शैलियाँ हैं जहाँ चाकू ब्लेड से भी जाता है।


4
+1: रक्त के छींटे। अच्छा, जादू के टोटके। संपादित करें: या गैर-गोर संस्करण के लिए एक धूल बादल।
थरोट

2
@ थरोट और / या स्पिन की दर इतनी तेज कर देते हैं कि दर्शक वास्तव में इस बात का ध्यान नहीं रख सकते कि यह किस ओर इशारा करता है।
पर्किन्स

14
  1. लक्ष्य के लिए सीधी रेखा की दूरी की गणना करें।

  2. प्रत्येक फ़्रेम ने चाकू के कोण को 2PI * (शेषस्ट्रीमलाइनाइनस्टांस) / (ओरिजिनलस्ट्रीटलाइनडाइनेंस) * DesiredNumRotations निर्धारित किया है।

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

यदि आप लक्ष्य को पूर्व-निर्धारित नहीं करते हैं (यानी आप सिर्फ भौतिकी फेंक रहे हैं और यह देखने के लिए कि वह क्या हिट करता है) का उपयोग कर रहा है, तो आपको इसे ठगना होगा, लेकिन आप उसी लक्ष्य को देखने के सिद्धांत का उपयोग कर सकते हैं जो हिट होने की संभावना है और उस लक्ष्य के लिए सही होने के लिए स्पिन को समायोजित करना।


4

असली फेंकने वाले-चाकू को ब्लेड-पहले मारने की बहुत अधिक संभावना है। तदनुसार अपने चाकू डिजाइन करें।

विकिपीडिया से चाकू फेंकने का संग्रह : विकिपीडिया से चाकू फेंकने का संग्रह

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

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

चाकू को ब्लेड की नोक से पकड़कर फेंक दिया जाता है और हैंडल को फेंकने की दिशा में घुमाया जाता है।


2

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

वहाँ कुछ गणना है जिसे प्राप्त करने के लिए न्यूनतम रोटेशन की गति को द्रव्यमान और आयामों का केंद्र दिया गया है, लेकिन सीधा होना चाहिए। नोट यह भी हिट के कोण के बारे में कुछ भी मतलब नहीं है।


1

परफेक्ट चाकू फेंकने वाला?

फिलहाल, आप कहते हैं कि आप एनीमेशन के माध्यम से चाकू घुमा रहे हैं। कोण को नियंत्रित करने के लिए आप किस पैरामीटर का उपयोग कर रहे हैं? चौखटा नंबर? खेलने का समय? एक मनमाना स्पिन दर द्वारा स्केल किया गया?

यदि इसके बजाय आप पीआई द्वारा उपयुक्त स्केलिंग और (टर्न + 0.5 की संख्या) के साथ पैरामीटर (दूरी स्थानांतरित) / (लक्ष्य के लिए कुल दूरी) का उपयोग करते हैं, तो चाकू वास्तव में हमेशा जादुई रूप से पहले पहुंचेगा।


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

@ टीआईएमबी ने इसे समझाने का बेहतर काम किया, लेकिन नील का प्रस्तावित समाधान एक अच्छा तरीका है। अपने कताई चाकू एनीमेशन की गति को संशोधित करें ताकि जब वह लक्ष्य तक पहुंच जाए तो चाकू "नुकीला अंत दूसरे आदमी में" हो जाए। यह बहुत आसान है (प्रोग्राम के लिए, और कम्प्यूटेशनल रूप से) परिकलित प्रक्षेपवक्रों की गणना करने की तुलना में, जिसमें बढ़ते लक्ष्य शामिल हैं, "पीआई द्वारा उपयुक्त स्केलिंग" के रूप में, जो कि संभवतः 2 ही होगा, यह देखते हुए कि नंबर_ऑफ_वोल्यूशन नील के छद्मकरण में एक और चर है। यदि यह कीफ्रेम एनीमेशन है, तो आप बस अपने सूचकांक को मापते हैं और पाई के बारे में भूल जाते हैं।
एसी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.