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