আপনি কীভাবে ফারসিয়ার / বক্স 2 ডি এর মতো 2 ডি পদার্থবিজ্ঞানের ইঞ্জিনের মধ্যে এআই পথ অনুসরণ করবেন?


12

আমি একটি 2 ডি টপ ডাউন গেমটি সরানোর প্রক্রিয়াতে চলেছি আমি পার্সিরের মতো উপযুক্ত অনমনীয় বডি ফিজিক্স ইঞ্জিনে কাজ করছি। এখনও অবধি, আমি যেখানে প্রয়োজন সেখানে আমার নিজের পদার্থবিজ্ঞানের কোডটি একসাথে হ্যাক করেছি।

আমি এখানে জিনিসগুলি করার সঠিক পদ্ধতিটি শেখার চেষ্টা করছি।

আপনি একবার পদার্থবিজ্ঞানের ইঞ্জিনের ভিতরে শক্ত কাঠামো তৈরি করে দেওয়ার পরে আপনার এআইকে কোনও নির্দিষ্ট পথে অনুসরণ করার উপযুক্ত উপায় কী?

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

তবে এখন তারা কঠোর দেহ এবং সংঘর্ষের শিকার হতে পারে এবং যে কোনও বাহিনী তাদের আঘাত করতে পারে এবং তাদের পথ ছুঁড়ে দিতে পারে।

সুতরাং এআই পদক্ষেপ নিতে আমার বিশ্বাস আমার এখন তাদের প্রতি আবেগ / বাহিনী প্রয়োগ করা উচিত? আমার আর প্রতিটি ফ্রেম ম্যানুয়ালি তাদের অবস্থান নির্ধারণ করা উচিত নয়।

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

এটা কি সঠিক? অন্য মানুষ কীভাবে তা করে?

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

অথবা দু'জনের কোনওভাবে মিশ্রিত করা এবং এখনও আপনার এআই নিজেই তাদের অবস্থান স্থির করে নির্দিষ্ট স্থিতির অনুসরণ করা ভাল, এবং কেবলমাত্র নির্দিষ্ট পরিস্থিতিতে আপনি সহজেই নিয়ন্ত্রণ করতে পারবেন এমন পরিস্থিতিতে অন্য বাহিনীর সাথে প্রতিক্রিয়া জানান?

কোন পরামর্শ বলছি জন্য ধন্যবাদ।


1
+1 আমি এটি সম্পর্কে জানতে আগ্রহী।
ডেভিড গাউভিয়া

উত্তর:


7

স্টিয়ারিং আচরণগুলি পদার্থবিজ্ঞানের ইঞ্জিনের সাথে খুব ভালভাবে কাজ করে, কারণ এগুলি সাধারণত এমনভাবে প্রয়োগ করা হয় যাতে তারা "স্টিয়ারিং ফোর্স" ফিরিয়ে দেয় যা আপনার পদার্থবিজ্ঞানের শরীরে প্রয়োগ করা যেতে পারে।

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

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


আশ্চর্যজনক নিবন্ধ, ভাগ করে নেওয়ার জন্য ধন্যবাদ। আমার দিন বাঁচিয়েছে
রিকার্ডো সানচেজ-সায়েজ

0

আমি বলব আপনি সঠিক পথে আছেন, আপনি এই নিবন্ধটি দেখতে চাইবেন:

http://www.policyalmanac.org/games/aStarTutorial.htm

এটি এ * অ্যালগোরিদম ব্যবহার করে কিছু প্রাথমিক সংঘর্ষ এড়ানো এবং পথ সন্ধানের ব্যাখ্যা দেয়।

সম্পাদনা:

আপনার যদি সঠিকভাবে আপনার জিনিসগুলি চালিত করার সর্বোত্তম উপায়টি কেবল প্রয়োজন হয় তবে আপনার একটি পথ ব্যবহার করতে হবে (বলুন, মুভমেন্টফোরস বা কিছু) আপনার সবচেয়ে ভাল পথটির দিক নির্দেশ করে যা আপনার পথ-সন্ধানের অ্যালগরিদম ব্যবহার করে খুঁজে পেয়েছে পছন্দ


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

ভাল যখন আমি আবার এটি পড়ি তখন আমি আপনার
বক্তব্যটি

:) আমি বিষয়গুলি সাফ করার জন্য শিরোনামটিও পরিবর্তন করেছি। নিশ্চিতভাবেই পথটি খুঁজে পাওয়ার চেয়ে অনুসরণ করতে আগ্রহী।
টেরিবি

0

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

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

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

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

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

আপনি যে পরিমাণে সংশোধন করতে পারবেন তার অনেকগুলি উপায় রয়েছে যেমন প্রতিটি ইউনিটের জন্য প্রথম স্থানের তালিকাগুলির তালিকা থাকা, যেহেতু এর অর্থ সমস্ত ইউনিটকে একই অবস্থানে যেতে হবে না। তবে, একইভাবে, আপনি লেভেল কোডেও এটি করতে পারেন (ইউনিট 1.লোকেশন 1 (এক্স, ওয়াই) ইউনিট 1.লোকেশন 2 (এক্স, ওয়াই) গ্রান্ট.এল 1 (এক্স, ই) নাইট.লোক 3 (এক্স, ওয়াই) যাই হোক)

মাত্র কয়েকটা আইডিয়া! আমি আপনাকে 3D সংস্করণটি কম কম প্রাসঙ্গিক হওয়ার পরেও পড়ার পরামর্শ দিচ্ছি।

সম্পাদনা: আমি যে কেউ এটি পড়তে পারি তার জন্য কেবল উভয়ই সরবরাহ করার সিদ্ধান্ত নিয়েছি (হ্যাঁ এটি সত্য) .... (আমি মূলত কেবল আপনার প্রশ্নটিকেই স্কিম করেছিলাম এবং বুঝতে পারি না যে আমি এটি পুনরায় পড়ার আগে পর্যন্ত এটি বেশ 2D নির্দিষ্ট ছিল>>))

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