ভাল 2 ডি প্ল্যাটফর্মার পদার্থবিজ্ঞান [বন্ধ]


76

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

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

আমার অর্থের কয়েকটি উদাহরণ:

  • লাফানোর একটি ছোট ট্যাপটি অল্প দূরত্বে লাফ দেয়; একটি দীর্ঘ ট্যাপ উপরে লাফ দেয়।
  • উচ্চ গতিতে দিকনির্দেশ বন্ধ বা বিপরীত করার সময় সংক্ষিপ্ত স্কিডিং ing
  • ঝুঁকির সাথে দৃably়ভাবে দাঁড়িয়ে (তবে হাঁসের সময় এগুলি স্লাইডিং হতে পারে)।
  • অ্যানালগ নিয়ন্ত্রণকারী ব্যবহার করার সময় অ্যানালগ গতি।
  • অন্য সমস্ত জিনিস যা খারাপ প্ল্যাটফর্মারগুলিকে খারাপ প্ল্যাটফর্মার থেকে পৃথক করে।
  • সাহস আমি পরামর্শ দিচ্ছি, স্থিতিশীল চলমান প্ল্যাটফর্ম?

আমি সত্যিই "আরে, এটি করো" খুঁজছি না। স্পষ্টতই, সঠিক জিনিসটি করণীয় যা আমি খেলায় চাই তার উপর নির্ভরশীল। তবে আমি প্রত্যাশা করছি যে কেউ কোথাও সম্ভাবনার মধ্য দিয়ে গেছে এবং বলেছে "ভাল কৌশল এ বৈশিষ্ট্যযুক্ত এক্স ভাল করে, প্রযুক্তি বি ওয়াই ভাল করে তবে এটি সি এর সাথে কাজ করে না", বা "যদি (কী = = স্পেস) অক্ষর.আইম্পুলস (0, 1) "

উত্তর:



25

প্রকৃত পদার্থবিজ্ঞানের ইঞ্জিন ব্যবহার করে বলুন, 'মারিও-জাতীয়' পদার্থবিজ্ঞান বাস্তবায়ন করা বেশ জটিল।

চিপমুনক ব্যবহার করে আমি শেষবার চেষ্টা করে প্লেয়ারকে 2 টি চেনাশোনা হিসাবে মডেল করেছিলাম - একটি 'ফুট বৃত্ত' শীর্ষে একটি 'বডি সার্কেল'

'ফুট চেনাশোনা'তে কিছুটা ঘর্ষণ ছিল, অ-বাউন্সি এবং মোটামুটি ছোট। দেয়াল / খাড়া opালুতে আটকা পড়তে 'বডি বৃত্ত' বৃহত্তর এবং ঘর্ষণহীন ছিল

বস্তুটি ঘোরানোর অনুমতি না দেওয়ার জন্য সীমাবদ্ধ ছিল - এটি কেবল চারপাশে স্লাইড হবে

যদি 'পা' কোনও কিছু স্পর্শ করে, বা শেষ কয়েকটি ফ্রেমের মধ্যে থাকে (slালু নিচে পড়তে দেয়), তবে খেলোয়াড়টিকে গ্রাউন্ডে বিবেচনা করা হত (খুব সম্ভবত পৃষ্ঠের স্বাভাবিক চেকও থাকতে পারে)

আমি কোডটি দেখেছি এটির কিছুক্ষণ পরে, কিন্তু আচরণটি এর লাইনের সাথে ছিল:

যখন মাটিতে:

  • 'অতিরিক্ত মাধ্যাকর্ষণ' প্রয়োগ করুন (নিচের দিকে downালু চালাতে সহায়তা করার জন্য নিম্নমুখী শক্তি)
  • স্থল ঘর্ষণ প্রয়োগ করুন (অনুভূমিক স্যাঁতসেঁতে বৃহত পরিমাণে)
  • নিয়ন্ত্রণের উপর ভিত্তি করে বাম / ডান চলাচল বল প্রয়োগ করুন।
  • (সর্বাধিক রান গতির নিকটবর্তী হিসাবে বাম / ডান চলাচল বলকে কমিয়ে দিন)
  • যদি লাফ টিপে থাকে তবে উপরের দিকে প্ররোচিত প্রয়োগ করুন

বাতাসে যখন:

  • বায়ু প্রতিরোধের প্রয়োগ করুন (ক্ষুদ্র পরিমাণে অনুভূমিক স্যাঁতসেঁতে)
  • নিয়মিত (বা হ্রাস) মাধ্যাকর্ষণ প্রয়োগ করুন
  • বায়ু / ডান চলাচলের শক্তি প্রয়োগ করুন, যদি আপনি বায়ু নিয়ন্ত্রণের অনুমতি দিচ্ছেন

আপনি দুটি রাষ্ট্রের মধ্যে স্যুইচিংয়ের ক্ষেত্রে কিছুটা সতর্ক থাকতে হবে - মনে রাখবেন যে কোনও slালু নামার সময় আপনি কয়েকটি ফ্রেমের জন্য মাঠ ছেড়ে যেতে পারেন - আপনি সম্ভবত রাষ্ট্রগুলি স্যুইচ করতে চান না / সেই মুহুর্তে জাম্পিং বারণ করতে চান না

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


আমি জানি এটি একটি বেশ পুরানো উত্তর তবে এ সম্পর্কে আমার কিছু প্রশ্ন রয়েছে। 1) আপনি কীভাবে "আপনি যে অঞ্চলের slালুতে থাকুন একই গতি বজায় রাখুন" কীভাবে সমাধান করবেন? 2) আপনি যদি পায়ের জন্য একটি ছোট বৃত্ত এবং শরীরের জন্য একটি বৃহত বৃত্ত ব্যবহার করেন তবে প্লেয়ারটি কি কিছু সময় প্রান্তে ঝুলবে না? আমি সত্যিই আপনার প্রচারে আগ্রহী।
নোটবাদ

18

সত্যিই আমি ভাবি না যে পদার্থবিজ্ঞানের ইঞ্জিন ব্যবহার করা অত্যন্ত কঠোর প্রয়োজনীয়তার সাথে আকারের ডোমেনের কোনও কিছুর জন্য সঠিক পদ্ধতির।

এটুকু নিজেই লিখে ফেলুন। আপনি কিছুটা ঝাঁকুনির জন্য কড়া নাড়ানোর চেয়ে "দৈর্ঘ্যের জন্য জাম্প বোতামটি ধরে রাখলে এই প্যারোবোলার আকারে এক্স ইউনিট দ্বারা অক্ষরটি সরান" বলে আপনি আরও ভাল ফলাফল পাবেন।


আমি এর আগেও বেশ কয়েকবার করেছি। এটি এক পর্যায়ে কাজ করে তবে আপনি সর্বদা অন্য কিছু ছুঁড়ে মারতে শেষ করেন কারণ হ্যাকি নিয়ন্ত্রকের সাহায্যে পদার্থবিজ্ঞানটি করা "খুব শক্ত"। এই নির্দিষ্ট গেমটিতে আমি প্লেয়ারের চলাফেরার জন্য কিছু বসন্ত / দড়ি মেকানিক্সকে জড়িত করার প্রত্যাশা করছি এবং এটি "আমি বরং একটি বাক্স হ্যাক করব" না হয়ে "আমি একটি বাস্তব পদার্থবিজ্ঞান ইঞ্জিন হ্যাক করব" এর ক্ষেত্রের মধ্যে চলে গেলাম প্রস্তাবক "।

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

10

আমি আধুনিক প্রযুক্তি ব্যবহার করে গ্রাউন্ড আপ থেকে প্ল্যাটফর্মের গেমটি তৈরির বিষয়ে একাধিক নিবন্ধ লিখেছি এবং এতে আমি কীভাবে সহজ পদার্থবিজ্ঞান পরিচালনা করেছি তা অন্তর্ভুক্ত রয়েছে:

http://www.wildbunny.co.uk/blog/2011/12/14/how-to-make-a-2d-platform-game-part-2-collision-detection/

তবে আপনি যদি আরও কিছু উচ্চ-প্রযুক্তি চান তবে সম্পূর্ণ পদার্থবিজ্ঞানের ইঞ্জিন ব্যবহার করে এটির কাছে যাওয়া সম্পূর্ণভাবে সম্ভব। এখানে এমন একটি কৌশল রয়েছে যা আপনি ব্যবহার করতে পারেন (লিটল বিগ প্ল্যানেট থেকে) যা প্লেয়ার চরিত্রটিকে পদার্থবিজ্ঞানের ইঞ্জিনের সম্পূর্ণ সংহত অংশে পরিণত করে:

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

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

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

আশা করি এইটি কাজ করবে!

চিয়ার্স, পল


6

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

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