এখানে আমি কীভাবে চেষ্টা করব এবং করব তা এখানে।
আপনি যখন একটি পোর্টালটির ভিতরে রয়েছেন তখন পদার্থবিজ্ঞানের ইঞ্জিনে প্লেয়ারের দুটি কপি থাকবে। প্রতিটি অনুলিপি পোর্টালের বিপরীত দিকে থাকা সমস্ত সংঘর্ষকে উপেক্ষা করে এবং তারপরে আপনি ফলাফলগুলি একত্রিত করে উভয় মডেলটিতে সিমুলেশন ফলাফল প্রয়োগ করেন।
আদর্শভাবে আপনি প্লেয়ারের প্রতিটি অর্ধেকের জন্য আলাদা করে মহাকর্ষ প্রয়োগ করেছিলেন, তবে প্লেয়ারের ভর কেন্দ্রের কেন্দ্র চালু থাকা পোর্টালের পাশের জন্য কেবল এটি প্রয়োগ করে আপনি পালাতে পারবেন।
এই সংঘর্ষগুলি উপেক্ষা করার জন্য আপনাকে একটি উপযুক্ত ভলিউম সেট আপ করতে হবে এবং কোনও বিন্দু এর মধ্যে রয়েছে কিনা তা পরীক্ষা করতে হবে। একটি সিলিন্ডার (সম্ভবত উল্লম্বভাবে প্রসারিত) একটি ভাল বিকল্প বলে মনে হচ্ছে। পরীক্ষাটি তখন এরকম কিছুif (!collisionPoint.InsideCylinder(portal)) ProcessCollision(); else IgnoreCollision();
আমি বিশ্বাস করি যে বেশিরভাগ পদার্থবিজ্ঞানের ইঞ্জিনগুলির সাথে ফিল্টার করার জন্য একটি সিস্টেম রয়েছে যা কোনও বস্তুর সাথে সংঘটিত হতে পারে, তাই এটি একটি স্ট্যান্ডার্ড ফিজিক্স ইঞ্জিন ব্যবহার করে সম্ভব হওয়া উচিত। উদাহরণস্বরূপ http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_Filtering#Custom_collision_filtering
ফলাফল একত্রিত করা সহজ বিকল্প সম্ভবত অনমনীয় কিছু যোগ করার জন্য হবে বাধ্যতা দুই মধ্যে, এবং পদার্থবিদ্যা ইঞ্জিন এটা পরিচালনা করতে দিন।