यहां उन मूल चरणों की आवश्यकता है जिन्हें आपको फ़ॉलोव करना होगा:
अपने भौतिकी सिमुलेशन को चलाने के लिए पहले एक विश्व ऑब्जेक्ट (यानी btDiscreteDynamicsWorld
) बनाएं ।
आपके पास पहले से ही एक वर्ग होना चाहिए जैसे GameObject
कि शायद दुनिया में अपने बाउंडिंग बॉक्स और स्थिति / अभिविन्यास के साथ एक मॉडल संग्रहीत करता है। बदलें स्थिति / उन्मुखीकरण जानकारी के साथ एक भौतिक विज्ञान का एक उदाहरण शरीर वस्तु (यानी btRigidBody
) और जब मॉडल प्रतिपादन, यह भी शरीर द्वारा दी गई जानकारी का उपयोग करें। बॉडी बनाते समय आपको इसके द्रव्यमान और टकराव की आकृति प्रदान करनी होगी जो कि आपके पास पहले से मौजूद बाउंडिंग वॉल्यूम से मेल खाए। मैंने आपके अन्य प्रश्न में भी इस बारे में बात की है।
जोड़ें अपने खेल वस्तु के प्रत्येक दुनिया के लिए शरीर वस्तु।
दुनिया को आगे बढ़ाकर (यानी stepSimulation
अपनी दुनिया को बुलाकर ) सिमुलेशन को अपडेट करें ।
और मैनुअल पढ़ने के लिए कुछ समय निकालें क्योंकि इसमें बहुत सारी जानकारी भी है।
टिप्पणी को संबोधित करने के लिए संपादित करें
मेरे पूछने से पहले मैं उखड़ जाता हूं लेकिन ... मैं अपने खेल में सही फाइलों सहित बहुत ही मूल चीजें कैसे करता हूं? यदि आपको बारीकियों की आवश्यकता है तो मैं उन फ़ाइलों की तलाश कर रहा हूं जो कठोर शरीर टकराव से निपटेंगी। अब तक की मदद के लिए भी आपका बहुत-बहुत धन्यवाद!
खैर, यह आपकी टिप्पणी से प्रकट होगा कि आपने पहले कभी भी बाहरी C ++ पुस्तकालयों के साथ काम नहीं किया है। जब से मैंने ऐसा किया है, तब से कुछ समय हो गया है, लेकिन यह है कि मुझे (विजुअल स्टूडियो में) होने की प्रक्रिया याद है।
शुरुआत के लिए मैं मैनुअल को उद्धृत करता हूं जो पहले से ही बताता है कि आपको क्या चाहिए:
- #include “btBulletDynamicsCommon.h” in your source file
- Required include path: Bullet/src folder
- Required libraries: BulletDynamics, BulletCollision, LinearMath
और यहां ऊपर दिए गए शर्तों को पूरा करने के लिए आपको मूल चरणों का पालन करना होगा ...
1. तैयारी कदम
सबसे पहले, एक ज्ञात निर्देशिका में आपके द्वारा डाउनलोड की गई फ़ाइल को निकालें, जैसे C:\Bullet
। आपको बाद में इस फ़ोल्डर का पथ जानना होगा।
अंदर दो फ़ोल्डर हैं जिन्हें आपको अपनी परियोजना में संदर्भित करना होगा। पहला वह src
फ़ोल्डर है जो .h
हेडर फ़ाइलों को रखता है जिन्हें आप अपने स्रोत कोड में शामिल करेंगे । दूसरा वह lib
फ़ोल्डर है जो .lib
लाइब्रेरी फ़ाइलों को रखेगा जो आप अपने प्रोजेक्ट से लिंक करेंगे । ध्यान दें कि इसमें शामिल और लिंक करना दो अलग-अलग चीजें हैं।
लेकिन lib
फ़ोल्डर अभी के लिए खाली होना चाहिए, क्योंकि आपने इंजन अभी तक नहीं बनाया है। उदाहरण के लिए CMake और विजुअल स्टूडियो का उपयोग करके प्रोजेक्ट का निर्माण कैसे करें, इस मैनुअल को देखें। यह पेज 7 पर है।
आपके सफल होने के बाद, आपके पास lib
फ़ोल्डर में कम से कम तीन फाइलें होनी चाहिए : और BulletDynamics.lib
, (मैं मैनुअल से अनुमान लगा रहा हूं)। अब बुलेट और अपने प्रोजेक्ट के बीच संबंध बनाने के लिए ...BulletCollision.lib
LinearMath.lib
2. हेडर्स शामिल करें
सबसे पहले, आपको C:\Bullet\src
अपने प्रोजेक्ट के शामिल पथ विकल्पों में फ़ोल्डर को जोड़ना होगा । आप अपने प्रोजेक्ट पर राइट-क्लिक करके, Configuration Properties -> C/C++ -> General -> Additional Include Directories
वहां मौजूद डायरेक्टरी पाथ को राइट-क्लिक करके विजुअल स्टूडियो में ऐसा कर सकते हैं ।
इसे स्थापित करने के बाद, आप बस #include “btBulletDynamicsCommon.h”
अपने कोड पर कर सकते हैं । यह हेडर उन सभी सुविधाओं के लिए एक हब के रूप में काम करता है जिनकी आपको आवश्यकता है।
3. लिंक लाइब्रेरी
अंत में आपको ऊपर बताए गए पुस्तकालयों को लिंक करना होगा। मुट्ठी, फ़ोल्डर में, या दूसरे शब्दों में, Configuration Properties -> Linker -> General -> Additional Library Directories
पथ जोड़ने के तहत ।lib
C:\Bullet\lib
फिर, के तहत Configuration Properties -> Linker -> Input-> Additional Dependencies
, पुस्तकालयों का नाम निर्भरता की सूची में जोड़ें। प्रत्येक लाइब्रेरी को एक से अलग करें ;
और फ़ाइल एक्सटेंशन को न भूलें। उदाहरण के लिए, आप इसे सूची के अंत में जोड़ सकते हैंBulletDynamics.lib;BulletCollision.lib;LinearMath.lib
:।
इसके बाद आपको अपनी परियोजना बनाने और चलाने में सक्षम होना चाहिए।
4.4 Integration overview
मुझे पता है कि यह बहुत संयमी है लेकिन यह मूल प्रक्रिया का वर्णन करता है। इसलिए यदि आप उस उदाहरण और उदाहरण डेमो के कोड को देखते हैं तो आपको बहुत अधिक समस्याएं नहीं होनी चाहिए।