विकृत सतहों


10

मैं स्तर की सतहों के लिए एक विकृत शारीरिक व्यवहार को पूरा करने की कोशिश कर रहा हूं, लेकिन अभी तक लागू होने के साथ शुरू करने का कोई विचार नहीं है।

सतह (विमानों, क्यूब्स, गोले ...) के आकार के बावजूद, मैं खेल-संस्थाओं (खिलाड़ियों, दुश्मनों, वस्तुओं ...) से पदों पर छोटे इंडेंटेशन करना चाहता हूं।

यह समझाने के लिए जटिल है, इसलिए मैंने स्पष्ट किया कि मैं किस बारे में बात कर रहा हूँ, यहाँ एक क्षेत्र के साथ एक उदाहरण है:

चित्रण विकृत सतह खेल

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

मैं OpenGL के साथ C / C ++ में प्रोग्रामिंग कर रहा हूं, लेकिन सही दिशा में कोई सलाह देना ठीक रहेगा।

जवाबों:


5

एक साधारण विकृति के लिए, आप हेरफेर करने के लिए सतह / वस्तु पर एक बिंदु चुन सकते हैं, फिर उस पर एक परिवर्तन (जैसे अनुवाद) लागू कर सकते हैं। फिर, उसी बिंदु से एक निश्चित दूरी के भीतर सभी बिंदुओं को रूपांतरित करें, लेकिन आपके द्वारा चुने गए बिंदु से परिवर्तन ढीली ताकत को और दूर करता है।

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

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

पाप / कॉस फ़ॉलऑफ़ फ़ंक्शंस का उपयोग करके एक विमान को इंडेंट करने का एक सरल उदाहरण www.lighthouse3d.com/opengl/terrain/ के बीच पाया जा सकता है।


1
मुझे लिंक पर 403 निषिद्ध त्रुटि मिलती है।
जॉर्ज डकेट

1
खैर ... 'lil हैक क्रम में है (तब भी, सीधे प्रश्न के अनुभाग में): web.archive.org/web/20100927141645/http://lighthouse3d.com/……
14
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.