कटे हुए अंगों के साथ पात्रों का प्रतिपादन, (जावा / ओपनजीएल में ब्लेंडर मॉडल)


10

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

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

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

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

यह एक बहुत बड़ा प्रश्न है, इसलिए मैं उन संसाधनों की तलाश कर रहा हूं जो मुझे मिल सकते हैं जहां मुझे जाने की आवश्यकता है।

संपादित करें

मैं एनीमेशन के बारे में पूछ रहा हूं कि यह जानने के लिए कि कौन सा अंग है, क्योंकि मैं एक वैकल्पिक एनीमेशन करने के लिए इसे सेट करना चाहूंगा यदि कोई आवश्यक अंग गायब है। उस बारे में सोचने के बाद, मुझे लगता है कि मैं एक एनीमेशन को सक्रिय करने से पहले वह जाँच करूँगा, और उस समय उपयुक्त एनीमेशन को सक्रिय करूँगा।

जवाबों:


7

मैं वर्तमान में एक समान प्रणाली पर काम कर रहा हूं। प्रक्रियात्मक एनीमेशन + विघटन आदि।

मैं यह जानने के लिए एनिमेशन को कैसे परिभाषित करूं कि किन लोगों को शरीर की वर्तमान स्थिति (लापता हाथ / पैर और इतने पर) देने की अनुमति है?

मैं इस बिट का पालन नहीं करता हूं, अगर अंग नहीं हैं, तो कौन परवाह करता है कि यह एनिमेटेड है या नहीं, क्योंकि यह नहीं देखा जा सकता है।

क्या प्रत्येक अंग / उपांग का अपना मॉडल होना चाहिए (मैं जमीन पर कटे हुए उपांगों को खींचना चाहता हूं)?

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

निम्नलिखित अनुभाग से साने दृष्टिकोण के साथ, हां, प्रत्येक अंग का अपना मॉडल होगा।

मुझे पूरी इकाई के हाथ में एक पूरा मॉडल होने की संभावना है, और प्रत्येक अंग कट गया।

मैं लापता अंगों को आकर्षित नहीं करने के लिए ड्राइंग सिस्टम कैसे सेट करूं?

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

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

जबकि पहला तरीका कई और ड्रॉ कॉल उत्पन्न करेगा, यह थोड़ा अधिक स्वीकार्य है।

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

यह ब्लेंडर में परिभाषित हड्डियों का आयात या उपयोग नहीं करता है, और यह फ़्रेम के बीच में हस्तक्षेप नहीं करता है।

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

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


धन्यवाद @ मिचेल। मैंने प्रक्षेप लाया और हड्डियों का आयात किया क्योंकि मुझे पता है कि मुझे अंततः उनकी आवश्यकता होगी, लेकिन मेरे पास अभी तक नहीं है। आपने जो कहा है, उससे ऐसा लगता है कि मुझे पता चल जाएगा कि उस बिंदु पर पहुंचने के बाद मुझे क्या करना है। संभवतः मैं सिर्फ एक उपांग या उपांग के समूह को हड्डी से जोड़ूंगा। मैं हड्डियों के आयात के बारे में एक अलग सवाल पूछूंगा।
MichaelHouse

चूँकि आप कुछ इसी तरह से काम कर रहे हैं, शायद आपके पास इस संबंधित प्रश्न पर अधिक जानकारी है? gamedev.stackexchange.com/q/20931/7191
MichaelHouse

5

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

वाल्व ने L4D2 में घावों और विघटन के बारे में स्लाइड का एक अच्छा सेट प्रकाशित किया । मुझे वास्तव में अंगों और हड्डियों के लिए एक मॉडल का उपयोग करने का दृष्टिकोण पसंद है, और कटौती, गनशॉट, आदि की बनावट अनुमानों के आधार पर "त्वचा" मॉडल को क्लिप करना है।


दिलचस्प। वो स्लाइड अच्छी लगती हैं। ऐसा लगता है कि यह क्षति के लिए काम करेगा जो पूरे उपांग को प्रभावित नहीं करता है।
MichaelHouse
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.