ইউনিটির অনকোলিজেন্টার কেন আমাকে পৃষ্ঠের স্বাভাবিকতা দেয় না এবং এগুলি পাওয়ার সবচেয়ে নির্ভরযোগ্য উপায় কী?


11

Ityক্যটি সংঘর্ষের ইভেন্টে আপনাকে একটি সংঘর্ষের অবজেক্ট দেয় যা সংঘর্ষের বিষয়ে আপনাকে কিছু তথ্য দেয় ( হিট নরমালগুলির সাথে যোগাযোগের পয়েন্টগুলির তালিকা সহ )।

তবে আপনি যা পাবেন না তা হ'ল যে সংঘর্ষকটি আপনি আঘাত করেছেন তার পক্ষে পৃষ্ঠের স্বাভাবিক অবস্থা। চিত্রিত করার জন্য এখানে একটি স্ক্রিনশট রয়েছে। লাল রেখাটি এসেছে ContactPoint.normalএবং নীল রেখাটি এসেছে RaycastHit.normal

এখানে চিত্র বর্ণনা লিখুন

সরলিকৃত এপিআই সরবরাহের জন্য কি এই ইউনিটির তথ্য গোপন করার উদাহরণ? অথবা স্ট্যান্ডার্ড 3 ডি রিয়েলটাইম সংঘর্ষ সনাক্তকরণ কৌশলগুলি কেবল এই তথ্যটি সংগ্রহ করে না?

এবং প্রশ্নের দ্বিতীয় অংশের জন্য, কোনও সংঘর্ষের জন্য কোনও পৃষ্ঠকে স্বাভাবিক করার একটি নিশ্চিত আগুন এবং তুলনামূলক দক্ষ উপায় কী?

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

আমার বর্তমান পদ্ধতি:

  1. Collision.contacts[0].pointএর হিট স্বাভাবিক বরাবর ব্যাক আপ

  2. অস্বীকার হিট নিচে Raycast স্বাভাবিক জন্য float.MaxValue, উপরCollision.collider

  3. যদি এটি ব্যর্থ হয় তবে অ-অবহেলিত স্বাভাবিকের সাথে 1 এবং 2 পদক্ষেপটি পুনরাবৃত্তি করুন

  4. যদি এটি ব্যর্থ হয় তবে 1 থেকে 3 পদক্ষেপ সহ চেষ্টা করুন Collision.contacts[1]

  5. সফল হওয়া পর্যন্ত বা সমস্ত পরিচিতি পয়েন্ট অবসন্ন না হওয়া পর্যন্ত 4 টি পুনরাবৃত্তি করুন।

  6. ছেড়ে দাও, ফিরে আসো Vector3.zero

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

সম্পাদনা সম্পাদনা করুন যদি 3 ডি সংঘর্ষের সাথে জিনিসগুলি ঠিক একইভাবে হয় তবে সাধারণ ক্ষেত্রে কেন ityক্যকে নির্দিষ্ট কিছু হিসাবে স্বাগত জানানো হবে তার একটি সংক্ষিপ্ত বিবরণ।


এটি কি কেবল কৌতূহলের জন্য, বা আপনি কিছু করার চেষ্টা করছেন এবং আটকে যাচ্ছেন? এটি হ'ল কেন আপনি ভাবেন যে আপনার পৃষ্ঠটি স্বাভাবিক হওয়া দরকার? কোনও অনির্দিষ্ট সমস্যার সমাধান কীভাবে "ঠিক করতে" হবে তার চেয়ে আপনি কী প্রভাব অর্জনের চেষ্টা করছেন সে সম্পর্কে একটি প্রশ্ন জিজ্ঞাসা করুন এবং কেউ আপনাকে সমাধান করতে সহায়তা করতে সক্ষম হতে পারে। :)
শান মিডলডিচ

পছন্দ করুন প্রশ্নটি ভালভাবেই রাখা হয়েছে এবং এটি হ'ল আমি যা খুঁজছিলাম। এই প্রশ্ন এবং এর উত্তরগুলি আমাকে ভুল করে যাচ্ছিল এমন কিছু জিনিস সংশোধন করতে সহায়তা করেছে।
স্টেকওভারফ্লো

উত্তর:


12

বিষয়গুলির সংঘর্ষের সাথে এই উপায়টিই সত্য। শুধু 3 ডি নয়, 2 ডিও। নিম্নলিখিত উদাহরণটি ধরুন:

ওভারল্যাপিং এএবিবিগুলি

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

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

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

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

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

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


এটি একটি দুর্দান্ত উত্তর, এবং ঠিক আমি যা খুঁজছিলাম, আপনাকে ধন্যবাদ। নির্দিষ্ট সমস্যাটি সংঘর্ষের সময় একটি কাইনেটিক রিজিডবডিটির প্রতি বিশ্বাসযোগ্য প্রতিচ্ছবি ভেক্টর পাচ্ছিল। আপনি যদি রাইকাস্ট করতে চান বা 3 যোগাযোগের পয়েন্টগুলি (যদি পাওয়া যায়) এবং ক্রস পণ্যটি গ্রহণ করতে চান তা চয়ন করতে যদি আপনি এই ধরণের তথ্য চান তবে কি স্বাভাবিক পন্থাটি রয়েছে?
michael.bartnett
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.