আমি কীভাবে আমার গেমটিতে "ফাস্ট-ফরোয়ার্ড" বৈশিষ্ট্যটি প্রয়োগ করতে পারি?


15

আমি কীভাবে আমার ফিল্ডার ডিফেন্স গেমের জন্য http://fieldrunners.com/ এবং অন্যান্য টিডি গেমগুলির জন্য দ্রুত ফরোয়ার্ড বৈশিষ্ট্যটি প্রয়োগ করতে পারি ?

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


আপনি কি আপডেট ফ্রিকোয়েন্সি বাড়ানোর চেষ্টা করেছেন ?? আপনার ফ্রেমগুলি
এড়ানো

উত্তর:


7

যদি আপনার গেমটির জটিল বা কম্পিউটেশনালি ব্যয়বহুল সিমুলেশন না থাকে যার জন্য এগুলি স্বাধীন আপডেটের সময়রেখায় পৃথক করা প্রয়োজন, আপনি Update()ityক্যের টাইম.টাইম মান অনুসারে আপনার কার্যগুলিতে কোডটি বেজ করার একটি সহজ পদ্ধতির ব্যবহার করতে পারেন এবং আপনার কোডটিতে সময়ের মান নির্ধারণ করতে পারেন .TimeScale আপনি যা চান তা হতে। 0 == বিরতি দেওয়া হয়েছে, 1 = স্বাভাবিক, আমাদের পরীক্ষকরা জিনিসগুলি দ্রুত করার জন্য টাইমস্কেল> 1 সেট করতে পছন্দ করেন।

http://unity3d.com/support/documentation/ScriptReference/Time-timeScale.html


18

পদ্ধতির: উচ্চতর সিমুলেশন রেট

আপনার ইউজার ইন্টারফেসের জন্য আপনার সময়কে আপনার আসল গেম লুপ থেকে ডেকে করা উচিত, যেমন আপনার রেন্ডারিং করা উচিত। উদাহরণস্বরূপ বলুন আপনার বিশ্ব 4x গতিতে চলে। বলুন যে আপনার মৌলিক (1x) গতিতে, আপনার গেমটি প্রতি সেকেন্ডে 30 আপডেট চালায়।

তারপরে দ্রুত-ফরোয়ার্ড মোডে থাকা অবস্থায় আপনার নিম্নলিখিতগুলির মতো কিছু থাকবে:

  • বিশ্ব যুক্তি ইউআই এবং রেন্ডারারের প্রতিটি আপডেটের জন্য 4 টি আপডেট চালায়। এর অর্থ এটি প্রতি সেকেন্ডে 120 আপডেট চালানো দরকার। সুতরাং, আপনার বিশ্ব মডেল (ডেটা) এই হারে আপডেট হয়।
  • রেন্ডারার এবং ইউআই যুক্তি উভয়ই প্রতি সেকেন্ডে 30 আপডেটে পোল চালাতে বা যা করা তা চালিয়ে যায়।

অন্য কথায়, সামগ্রিকভাবে গেমটি দ্রুত চলছে না। সিমুলেশন অংশ।

আপনি এটি থেকে দুটি জিনিস অনুমান করতে পারেন:

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

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

পদ্ধতির: টাইম ডেল্টাসের ভিত্তিতে এক্সট্রোপোলেশন

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

শেষ করা

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


আপনি যদি উচ্চতর সিমুলেশন রেট পদ্ধতির ব্যবহার করতে চলেছেন , এবং আপনি মন্থরতা সমর্থন করতে চান , আপনার সম্ভবত সম্ভবত একটি অত্যন্ত ধীর বেস সিমুলেশন রেট থাকা দরকার, তবে এটি 100 সিমুলেশন স্টেপ / ফ্রেমের মতো ডিফল্টরূপে চালান।
বোবোবোবো

9

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

এরকম পরিস্থিতিতে আপনার গেমটিতে টাইম স্কেলিং (দ্রুত-ফরওয়ার্ডিং সহ) প্রয়োগ করা সহজ হয়ে যায়। কেবলমাত্র কিছু স্কেলার মান দিয়ে গেমটির যুক্তিযুক্ত সময় ধাপটি কেবলমাত্র "ফাস্ট-ফেওয়ার্ড" বা সময়কে ধীর করে দেওয়ার জন্য নিয়ন্ত্রণ করে। ডিফল্টরূপে এই মানটি এক হবে এবং উদাহরণস্বরূপ একবার ব্যবহারকারীর "দ্রুত এগিয়ে" কীটি হিট করে আপনি এটি 1.5 এ সেট করেছেন এবং সমস্ত সিমুলেশন 50% দ্রুত চলে যাবে বলে মনে হয়। আপনি এখনও একই হারে রেন্ডার করতে পারেন।

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


1
এটি অবশ্যই তাঁর দৃশ্যের ক্ষেত্রে প্রযোজ্য। তাকে যা করতে হবে তা হ'ল কিছু গুণককে টাইম.টাইমস্কেল সেট করা এবং সমস্ত কিছু দ্রুত গতিতে চলে। এটি বোর্ড পরিবর্তন জুড়ে, সুতরাং মেনু ইন্টারঅ্যাকশনগুলির মতো জিনিসগুলি থাকলে এবং এগুলিও দ্রুত চলে যেতে পারে।
টেট্রাড

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