আপনার অনুসরণ করতে হবে এমন প্রাথমিক পদক্ষেপগুলি এখানে:
আপনার পদার্থবিজ্ঞানের সিমুলেশন চালানোর জন্য প্রথমে একটি বিশ্ব অবজেক্ট (যেমন btDiscreteDynamicsWorld
) তৈরি করুন ।
আপনার ইতিমধ্যে এমন একটি ক্লাস থাকা উচিত GameObject
যা সম্ভবত একটি মডেলকে তার বাউন্ডিং বাক্স এবং বিশ্বে অবস্থান / ওরিয়েন্টেশন সহ সঞ্চয় করে। প্রতিস্থাপন অবস্থান / স্থিতিবিন্যাস তথ্য দিয়ে একটি পদার্থবিজ্ঞানের একটি দৃষ্টান্ত শরীর বস্তু (অর্থাত btRigidBody
) এবং যখন মডেল রেন্ডারিং, পরিবর্তে শরীর দ্বারা উপলব্ধ তথ্য ব্যবহার করি। দেহটি তৈরি করার সময় আপনাকে এর ভর এবং সংঘর্ষের আকার সরবরাহ করতে হবে যা আপনার কাছে ইতিমধ্যে থাকা বাউন্ডিংয়ের সাথে খাপ খায় match আমি আপনার অন্যান্য প্রশ্নেও এ সম্পর্কে কথা বলেছি ।
যোগ আপনার খেলা বস্তুর প্রতিটি বিশ্বের কাছে লাশ অবজেক্ট।
বিশ্বের পদক্ষেপের মাধ্যমে সিমুলেশনটি আপডেট করুন (যেমন stepSimulation
আপনার বিশ্বের দিকে আহ্বান )।
ম্যানুয়ালটি পড়তে কিছুটা সময় নিন কারণ এতে প্রচুর তথ্য রয়েছে।
মন্তব্য মন্তব্য সম্পাদনা করুন
জিজ্ঞাসার আগেই আমি ক্রিঙ্ক করি তবে ... আমি আমার গেমের ডানদিকের ফাইলগুলি সহ কীভাবে খুব প্রাথমিক জিনিসগুলি করব? আপনার যদি সুনির্দিষ্ট প্রয়োজন হয় তবে আমি সেই ফাইলগুলি সন্ধান করছি যা দেহের অনমনীয় সংঘর্ষগুলির সাথে মোকাবিলা করবে। এছাড়াও এ পর্যন্ত সাহায্যের জন্য আপনাকে অনেক ধন্যবাদ!
ঠিক আছে, আপনার মন্তব্য থেকে এটি প্রদর্শিত হবে যে আপনি এর আগে কখনও বাহ্যিক সি ++ লাইব্রেরি নিয়ে কাজ করেন নি। আমি এটি করার পরে এটি বেশ কিছুক্ষণ হয়েছে, তবে প্রক্রিয়াটি (ভিজ্যুয়াল স্টুডিওতে) হওয়ার বিষয়টি আমি এভাবেই মনে করি।
প্রারম্ভিকদের জন্য আমি ম্যানুয়ালটি উদ্ধৃত করেছি যা ইতিমধ্যে আপনার কী প্রয়োজন তা ব্যাখ্যা করে:
- #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
ফোল্ডারটি আপাতত খালি থাকা উচিত, কারণ আপনি এখনও ইঞ্জিনটি তৈরি করেন নি। সুতরাং উদাহরণস্বরূপ সিএমকেক এবং ভিজ্যুয়াল স্টুডিও ব্যবহার করে কীভাবে প্রকল্পটি তৈরি করা যায় সে সম্পর্কে ম্যানুয়ালটি দেখুন। এটি 7 পৃষ্ঠায়।
আপনি সফল করার পরে, আপনি অন্তত তিনটি ফাইল থাকা উচিত lib
ফোল্ডার: BulletDynamics.lib
, BulletCollision.lib
এবং LinearMath.lib
(আমি ম্যানুয়াল থেকে মনন am)। বুলেট এবং আপনার প্রকল্পের মধ্যে সংযোগ তৈরি করতে এখন ...
2. শিরোনাম অন্তর্ভুক্ত করুন
প্রথমত, আপনাকে C:\Bullet\src
আপনার প্রকল্পের অন্তর্ভুক্ত পাথ বিকল্পগুলিতে ফোল্ডারটি যুক্ত করতে হবে । আপনি ভিজ্যুয়াল স্টুডিওতে আপনার প্রকল্পের ডান-ক্লিক করে, নেভিগেট করে Configuration Properties -> C/C++ -> General -> Additional Include Directories
এবং সেখানে ডিরেক্টরিটির পথটি লেখার মাধ্যমে এটি করতে পারেন ।
সেট আপ করার পরে, আপনি কেবল #include “btBulletDynamicsCommon.h”
আপনার কোডটি করতে পারেন । এই শিরোনামটি আপনার প্রয়োজনীয় সমস্ত বৈশিষ্ট্যের কেন্দ্র হিসাবে কাজ করবে বলে মনে হচ্ছে।
৩. লাইব্রেরিগুলিকে লিঙ্ক করুন
শেষ পর্যন্ত আপনাকে উপরে বর্ণিত লাইব্রেরিগুলি লিঙ্ক করতে হবে। ফ্রিস্ট, এর নীচে ফোল্ডারে 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
কি অধ্যায়ের অধীনে ম্যানুয়ালটি একবার দেখেছেন আমি জানি এটি খুব স্পার্টান তবে এটি মূল প্রক্রিয়াটি বর্ণনা করে। সুতরাং যদি আপনি এটি এবং উদাহরণস্বরূপ ডেমোসের কোডটি দেখুন তবে আপনার খুব বেশি সমস্যা হওয়া উচিত নয়।