2 ডি পাথফাইন্ডিং - মসৃণ পথগুলি সন্ধান করা


10

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

http://i.stack.imgur.com/lr19c.jpg

ছবিতে আপনি রক টাইলগুলির একটি অনুভূমিক রেখাটি প্রতিবন্ধকতা এবং সন্ধানের পথটি সবুজ টাইলস হিসাবে চিহ্নিত হিসাবে দেখতে পাচ্ছেন। লাল রেখাটি সেই পথটিই আমি অর্জন করতে চাই।


আমি জাম্প পয়েন্ট অনুসন্ধানের এক বিশাল অনুরাগী যদিও এটি এখনও প্রয়োগের সময় পাইনি। তবে ডকুমেন্টেশনটি আকর্ষণীয় ছিল এবং একটি ভাল অভিনয় রয়েছে।

2
আপনি কি নিশ্চিত যে এটি আপনার কাঙ্ক্ষিত পথ? এটি ব্যবহার করে ইউনিটগুলি আংশিকভাবে দেয়ালগুলির মধ্য দিয়ে যাবে। আমি এটিকে আরও একটি উদাহরণে আরও দৃশ্যমান করে তুলেছি : i.imgur.com/eh4ZR.png এবং আপনি সম্ভবত যা অর্জন করতে চান তা এখানে: i.imgur.com/vFQg4.png
মার্কাস ভন ব্রোডি

আপনি ঠিক বলেছেন। আমার পথটি ত্রুটিযুক্ত ছিল, তবে এটি একটি চিত্রের উদ্দেশ্যে আরও বেশি ছিল into
কোই নাম এনজি

আপনি যা চান তা পেতে আপনার একটি টাইলের মধ্যে ভগ্নাংশ সমন্বয় থাকতে হবে। এটি ব্যতীত কোনও সম্ভাব্য পাথ কাজ করবে না - ভগ্নাংশ বহন করে তবে সেগুলি প্রদর্শন না করা আপনার ইউনিটকে সোজা / তির্যক / সরল / তির্যক স্থানান্তরিত করবে।
Loren Pechtel

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

উত্তর:


8

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

আপনি যা করতে পারেন তা উল্লম্ব থেকে একটি 'ভিজিবিলিটি গ্রাফ' তৈরি করতে পারে (প্রতিটি পয়েন্ট থেকে অন্যান্য পয়েন্টগুলি কী প্রদর্শিত হয়) এবং তারপরে গ্রাফটিতে একটি * সম্পাদন করুন। এটি কাজ করে কারণ সংক্ষিপ্ততম পথটি সর্বদা দৃশ্যমানতার গ্রাফে থাকে।

টাইলের আকার সঙ্কুচিত করা আপনাকে সাহায্য করতে পারে।

সম্পদ

আরও পড়া

সম্পাদনা: আমি @ মার্কাসভনব্রডির মন্তব্যটি পছন্দ করি।

"এটি আসলে পাথ মসৃণ করার বিষয়ে, সন্ধানের জন্য নয় the ছবিতে পাওয়া পথটি দেখতে ঠিক আছে।"

সম্পদ

@ মার্কুসভনড্রোডি থেকে

আমি একটি অনুসন্ধান করেছি, অনুসরণগুলি (এটি আপনাকে সহায়তা করতে পারে) সন্ধান করুন


1
দুর্দান্ত লিঙ্কগুলি, আমার কাছ থেকে +1
lhk

2
@ মারকুসভনড্রোডি, -১ এর জন্য ধন্যবাদ। আমি আপনার কাছ থেকে শিখেছি। আমি বিন্দু চাই না, বরং আমি সঠিকটি শিখতে এবং ভাগ করতে আগ্রহী। আমি বিশ্বাস করে আলোচনা করে আমরা সঠিকটি খুঁজে পেতে পারি। :)
মোঃ মাহবুবুর রহমান

@ মারকুসভনড্রোডি, আপনি কি দয়া করে স্মুথিং অ্যালগরিদমের বেশ কয়েকটি সংস্থান ভাগ করবেন?
মোঃ মাহবুবুর রহমান

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

আমি এ * ব্যবহার করছিলাম এবং আমি মনে করি যে আমি সর্বোত্তম পথটি পেয়েছি।
কোই নাম এনজি

0

কাঁচা পথের এক প্রান্ত থেকে শুরু করে বলুন path[0], path[1]অংশটি পয়েন্টগুলিতে যোগদান করে আপনি সরিয়ে ফেলতে পারেনpath[0] এবং path[2]যদি কোনও প্রাচীর ছেদ না করে । শেষ বিভাগটি পর্যন্ত এগিয়ে যাওয়া আরও সহজ সরল পথ সরবরাহ করবে।

এটি কেবল পথকে মসৃণ করবে না তবে আগুনের উদাহরণের মতো কিছু অব্যর্থ পয়েন্টও সরিয়ে ফেলবে, একটি সরলরেখার ধারাবাহিকভাবে 3 টি অংশ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.