একটি ছোট ছোট ত্রিভুজ দ্বারা তৈরি জিনিসগুলির মধ্যে কীভাবে সংঘর্ষ সনাক্তকরণ সম্পাদন করা যায়?


13

আমি বুঝতে পারি যে কোনও আকার ছোট ত্রিভুজ দ্বারা তৈরি করা যেতে পারে (বা আনুমানিক)। যে কোনও আয়তক্ষেত্রটি 2 টি ছোট ত্রিভুজ দ্বারা তৈরি করা যেতে পারে। যে কোনও বৃত্তটি অনেকগুলি পাতলা "পিজ্জা স্লাইস" ত্রিভুজ দ্বারা তৈরি করা যেতে পারে। এটি সংঘর্ষ সনাক্তকরণে কীভাবে অনুবাদ করে?

আমি শিখলাম কিভাবে শীর্ষকোষ ব্যবহার করে আয়তক্ষেত্রের ওভারল্যাপ গণনা করব। কেন্দ্র, রেডিও এবং দূরত্ব ব্যবহার করে কীভাবে বৃত্তের ওভারল্যাপের গণনা করতে হবে তা আমি বুঝতে পারি understand

তবে, ছোট ত্রিভুজগুলির তৈরি আকারগুলিতে কীভাবে সংঘর্ষ সনাক্ত করা যায়? নির্দিষ্টকরণ নয়, কেবল সাধারণ ধারণা ....

উত্তর:


26

তবে, ছোট ত্রিভুজগুলির তৈরি আকারগুলিতে কীভাবে সংঘর্ষ সনাক্ত করা যায়?

না করে।

একটি স্বেচ্ছাসেবী ত্রিভুজ সংগ্রহের বিরুদ্ধে সংঘাত সনাক্তকরণ (বা আরও খারাপ, দুটি সালিশি ত্রিভুজ সংগ্রহের মধ্যে) নিরোধক ব্যয়বহুল।

পরিবর্তে, আমরা সাধারণত শ্রেণিবদ্ধ ফ্যাশনে সংগ্রহ সনাক্তকরণটি সম্পাদন করি, প্রথমে অন্তর্নিহিত অবজেক্টের আনুমানিক (দুর্বলভাবে) অত্যন্ত অপরিশোধিত, সাধারণ আকারগুলি (যেমন বাক্স বা গোলক) দিয়ে শুরু করি।

এটি আমাদের সম্ভাব্য সংঘর্ষের সংখ্যাগরিষ্ঠটিকে "ঘটছে না" হিসাবে দ্রুত তা প্রত্যাখ্যান করতে দেয় যা সাধারণ ঘটনা। এই জাতীয় ক্রুড চেকটি কেটে যায় এমন ক্ষেত্রে এটি সম্ভাব্য প্রকৃত সংঘর্ষের ইঙ্গিত দেয় এবং আমরা অন্তর্নিহিত আকারের আরও বিশদ সান্নিধ্যের বিরুদ্ধে চেকটি সম্পাদন করতে এগিয়ে চলেছি (যেমন একাধিক শক্তভাবে লাগানো ক্যাপসুল আকারের তৈরি, বা অনেকগুলি আবদ্ধ বাউন্ডিং বাক্সগুলি)।

মূলত, সংঘর্ষ সনাক্তকরণ অপরিশোধিত পরীক্ষার সাথে শুরু হয় এবং, যেমন পরীক্ষাগুলি পাস হয়, আরও এবং আরও বিশদ প্রতিনিধিত্ব অব্যাহত রাখে। আলেকজান্দ্রের উত্তরের মন্তব্যে শিরো প্রদত্ত এই চিত্রটি ব্যাখ্যা করে যে কীভাবে একটি জটিল মডেল (একজন মানুষ) একটি সহজ সিরিজের বিভিন্ন আকারের দ্বারা প্রতিনিধিত্ব করতে পারে:

hitboxes

কদাচিৎ আমাদের স্বতন্ত্র ত্রিভুজ স্তরে সংঘর্ষ সম্পাদন করা দরকার এবং আমরা যখন সাধারণত ক্রুডার পদ্ধতিগুলি ব্যবহার করি তখন এর বিরুদ্ধে পরীক্ষা করার জন্য খুব ছোট ছোট সম্ভাব্য ত্রিভুজগুলিতে ড্রিল করতে পারি। সেই সময়ে, পরীক্ষাগুলি সম্পাদনের জন্য নির্দিষ্ট অ্যালগরিদম ব্যবহার করা হয়, ঠিক যেমন দুটি পরীক্ষা করে আয়তক্ষেত্র ওভারল্যাপ হয় তবে আপনি পরীক্ষা করতে চান। উদাহরণস্বরূপ, আপনি নির্ধারণ করতে পারেন যে কোথায় এবং কোথায় একটি ত্রিভুজকে আঘাত করে


ধন্যবাদ। হ্যাঁ, আমি যদি আসলে একটি গেম তৈরি করতাম তবে আমি কেবল বিদ্যমান কিছু ইঞ্জিন ব্যবহার করতাম। তবে, আমি কেবল প্রাথমিক ধারণাটি বুঝতে চাই যা প্রাক-তৈরি সংঘর্ষ সনাক্তকরণ ইঞ্জিনে প্রয়োগ করা হয়। উপরের আপনার চিত্রটিতে আপনি আয়তক্ষেত্রের গণিতটি ব্যবহার করে দেখতে যাবেন যে মানুষটিকে তৈরি করা কয়েক ডজন আয়তক্ষেত্রের মধ্যে কোনওটি স্পর্শ করছে কিনা। এটাই কি মৌলিক ধারণা?
জ্যাকআফএল 20

সেগুলি আয়তক্ষেত্র নয়, ওরিয়েন্টেড বাউন্ডিং বক্স (3 ডি)। তবে হ্যাঁ. যদি আমি পরীক্ষা করতে যাচ্ছিলাম যে কোনও রশ্মির (প্রতিনিধিত্ব করে বলুন, একটি বুলেট) যে খেলোয়াড়ের সাথে সংঘর্ষ হয়েছিল আমি সেই বাক্সগুলির বিরুদ্ধে রশ্মির পরীক্ষা করছিলাম - সম্ভবত পুরো চরিত্রের প্রতিনিধিত্বকারী একটি দৈত্য বাক্সের বিরুদ্ধে প্রথম পরীক্ষার পরে - প্রত্যেকের বিরুদ্ধে নয় রেন্ডার জালটির ত্রিভুজ)।

ধারণাটি হ'ল আপনি চরিত্রের মোটামুটি অনুমান যেমন ব্যবহার করতে পারেন যেমন উপরের চিত্রটিতে প্রদর্শিত ওরিয়েন্টেড বাউন্ডিং বাক্সগুলি এবং কম ব্যয়বহুল হিট পরীক্ষা করার জন্য প্রথমে পরীক্ষা করুন এবং যদি সংঘর্ষ হয় তবে নীচের স্তরে নিচে ড্রিল করুন যদি প্রয়োজন হয়, সীমাবদ্ধ বাক্সের সাথে থাকা পৃথক ত্রিভুজগুলি পরীক্ষা করে। সাধারণত এখানে বিভিন্ন বিভিন্ন বিভি হায়ারার্কিকভাবে ব্যবহার করা যেতে পারে, বাইরেরটি কম সঠিক হলেও পরীক্ষার জন্য দ্রুত (গোলক, বাউন্ডিং বাক্স) সবচেয়ে দ্রুত এবং আরও নির্দিষ্ট কিছুতে (কে-ডিওপি) ড্রিল করা এবং সম্ভবত আরও নিচে ড্রিল করা (ত্রিভুজ) )
কিক

4

সংঘর্ষ সনাক্তকরণ জ্যামিতির উপর ভিত্তি করে (লাইন, বিমান, গোলক, বাক্স, ক্যাপসুল, সিলিন্ডারগুলির মতো আদিম)।

আপনার যদি ত্রিভুজ থেকে তৈরি আকারগুলিতে সংঘর্ষ সনাক্তকরণের প্রয়োজন হয়, উদাহরণস্বরূপ এমন ভূখণ্ড যা সমতল নয়, আপনাকে জাল গঠনের সমস্ত ত্রিভুজগুলির বিরুদ্ধে পরীক্ষা করতে হবে।

আপনি যদি এই জায়গায় পৌঁছে যান তবে আমি দৃ strongly়ভাবে একটি প্রাক-তৈরি সংঘর্ষ সনাক্তকরণ ইঞ্জিন ব্যবহার করার পরামর্শ দেব, কারণ এই ধরণের জিনিসগুলি বেশ জটিল, খুব দ্রুত হয়ে যায়।


ত্রিভুজগুলি দিয়ে তৈরি আকারগুলিতে সংঘর্ষ সনাক্তকরণ কীভাবে করবেন?
জ্যাকআফএল সমস্ত

@ জ্যাকঅফ সমস্ত তিনি ইতিমধ্যে উল্লেখ করেছেন যে তার জবাবে এটি সাধারণত জ্যামিতির আকার ব্যবহার করে i.stack.imgur.com/CAhxn.jpg
dimitris93

@ জ্যাকআফএল আমি আমার উত্তর সম্পাদনা করেছি; এবং শিরো যেমন বলেছেন, আপনার যদি আপনার পরিবেশে আরও জটিল "আইটেম" থাকে (দেহ, চেয়ার, গাড়ি ইত্যাদি ...), গেম বিকাশে তারা সাধারণত একসাথে বাঁধা সরল আদিম থেকে তৈরি হয়। সংঘর্ষগুলির সনাক্তকরণটি আদিম আকারগুলিতে তৈরি করা হয় তবে পদার্থবিজ্ঞানের সিমুলেশনটি তখন পুরো শরীরের উপর তৈরি হয়।
Vaillancourt

4
আমি আক্ষরিকভাবে একটি গেম তৈরি করার চেষ্টা করছি না, আমি কেবল প্রাথমিক ধারণাটি বুঝতে চাই যা প্রাক-তৈরি সংঘর্ষ সনাক্তকরণ ইঞ্জিনে প্রয়োগ করা হয়। আমি যদি সত্যিই কোনও গেম তৈরি করছিলাম তবে আমি স্পষ্টভাবে চাকাটি পুনরায় উদ্ভাবন করব না বলে একমত হয়েছিলেন।
JackOfAll
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.