আইসোমেট্রিক গেমগুলিতে চরিত্র / অবজেক্ট ইন্টারঅ্যাকশন অ্যানিমেশনগুলি কীভাবে কাজ করে?


10

আমি একটি আইসোমেট্রিক বিজনেস সিমুলেশন গেমের পরিকল্পনা করছি যেখানে প্লেয়ারটি ডেস্ক, হোয়াইট বোর্ড ইত্যাদির মতো সাধারণ আসবাব সহ একটি অফিস দেখে

গেমের মধ্যে অক্ষর (স্টাফ / এনপিসির) কিছু প্রাক-সংজ্ঞায়িত কাজ যেমন ডেস্কে কীবোর্ডে টাইপ করা বা হোয়াইটবোর্ডে লেখা ইত্যাদির মাধ্যমে এই বিষয়গুলির সাথে যোগাযোগ করা উচিত

আমি বিশেষত যা সম্পর্কে আগ্রহী তা হ'ল নিম্নলিখিত দৃশ্য:

চরিত্রটি অফিস (1) জুড়ে তার ডেস্কে চলে আসে (2) এবং বসে এবং টাইপ করতে শুরু করে (3)।

আমি যা বুঝি সেগুলি থেকে আমার কাছে চরিত্রের চলাফেরার জন্য একটি স্প্রিট শিট থাকবে (1) এবং ডেস্কের জন্য একটি স্ট্যাটিক স্প্রাইট (2) তবে তৃতীয় ধাপটি কীভাবে পরিচালনা করা হবে তা আমি পুরোপুরি বুঝতে পারি না?

ডেস্ক এবং চরিত্র উভয়ই সমন্বিত স্প্রাইট রয়েছে কি? আমি ধরে নিই না, অন্যথায় আমার প্রতিটি ডেস্ক এবং চরিত্রের সংমিশ্রণের জন্য একটি স্প্রিট শীট থাকা দরকার।

কীভাবে এটি সাধারণত পরিচালনা করা হয়?

সম্পাদনা করুন:

গেম থিম হাসপাতাল থেকে একটি নির্দিষ্ট উদাহরণ অ্যানিমেশন এখানে। আপনি ভিডিওটি এখানে দেখতে পারেন ।

আমি যতদূর দেখতে পাচ্ছি অ্যানিমেশনটি কয়েকটি ধাপে বিভক্ত।

পদক্ষেপ 1 - ডেস্ক এবং চেয়ারের মধ্যে চরিত্রের চালগুলি।

এখানে চিত্র বর্ণনা লিখুন

এটি পরামর্শ দেয় যে চেয়ার এবং ডেস্ক আসলে পৃথক স্প্রাইটস।

পদক্ষেপ 2 - অক্ষর অ্যানিমেশন নিচে বসে

এখানে চিত্র বর্ণনা লিখুন

খেয়াল করুন কিভাবে চেয়ারটি ডেস্কের খুব কাছাকাছি রয়েছে last

পদক্ষেপ 3 - ডেস্ক অ্যানিমেশন

এখানে চিত্র বর্ণনা লিখুন

পদক্ষেপ 4 - স্ট্যান্ড আপ অ্যানিমেশন

বসে থাকার মতোই তবে বিপরীতভাবে খেলেছে।

পদক্ষেপ 5 - সরান

সরে যেতে সাধারণ সরানো অ্যানিমেশন ব্যবহার করুন।

আমার কাছে থাকা প্রশ্নগুলি হল কীভাবে এই অ্যানিমেশনগুলি সর্বোত্তমভাবে আলাদা হয় এবং গ্রাফিক শিল্পী কীভাবে সাধারণত এই অ্যানিমেশনগুলি সরবরাহ করে?

ডেস্কে বসে বসে টাইপ করা চরিত্রটি কি আসলে তিনটি পৃথক স্প্রাইট (ডেস্ক, চরিত্র এবং চেয়ার) থাকে? কেউ কি একই ধরণের অ্যানিমেশনের কোনও উদাহরণ স্প্রাইটস জানেন?

সম্পাদনা 2:

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

উত্তর:


8

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

কিছু ক্যালক করা যাক।

ভেবে নিন আপনার নিয়োগকর্তার কাছে টাইপিং অ্যানিমেশনটিতে 6 স্প্রাইট রয়েছে, আপনার কাছে 5 টি আলাদা চেয়ার এবং 10 টি পৃথক নিয়োগকারী প্রকার রয়েছে।

আপনি যদি কেবল চেয়ারের উপরে নিয়োগকর্তাকে আঁকেন তবে এটির জন্য 10 * 6 + 5 স্প্রিট, 65 স্প্রিট লাগবে।
যদি আপনি একত্রিত হন এবং প্রতিটি সংমিশ্রণ তৈরি করেন তবে এটি 10 ​​* 6 * 5 স্প্রিট, অর্থাৎ 300 স্প্রাইট নিতে হবে। আপনার পক্ষে কেবল একটি সাধারণ অ্যানিমেশনের জন্য একটি বৃহত স্প্রিটশিট তৈরির জন্য এমন ব্যথা হবে!

সম্পাদনা করুন:

ঠিক আছে, আপনি কীভাবে তা জানেন না, আপনার চেয়ারটিকে পটভূমি হিসাবে এবং কর্মীদের সক্রিয় স্প্রাইট হিসাবে সংজ্ঞায়িত করা ভাল be আপনার জন্য সহজ।

Background.draw();
Foreach(employer i in staff)
    I.draw();

এটি আপনার কর্মীদের আপনার চেইস (ব্যাকগ্রাউন্ড) থেকে পৃথক রাখতে হবে, এছাড়াও স্টাফ অ্যানিমেশনের ফ্রেমগুলি নির্বিচারে আপডেট করুন।

EDIT2:

আমি আপনার সম্পাদনা এবং আপনার নমুনা দেখেছি। আমি একই পদ্ধতির রাখা হবে। সমস্ত বিভিন্ন sprites। চেয়ার যেভাবেই হোক চরিত্রের সামনে যেত!

চেয়ারটি কাছাকাছি স্থানান্তরিত করতে, এর অবস্থানটি কিছুটা উপরে এবং বামে পিক্সেলগুলিতে আপডেট করুন বা স্প্রাইটে নিজেই এটি করুন।

আপনি জেড সারিবদ্ধ সম্পর্কে বুঝতে পারি? এটি অনেক কিছু খেলতে হবে ...

আপনি দেখতে পারেন যে চেয়ারের কিছু অংশ চরিত্রের পিছনে থাকে, অন্যরা সামনে উপস্থিত হয়। সুতরাং এটি কীভাবে সম্ভব যদি এটি কেবল একটি স্প্রিট হয়? জেড সারিবদ্ধ!

প্রভাব অর্জনের দুটি উপায়। একটি মুখোশ রাখুন (এত সহজ নয়) বা আপনার স্প্রিটকে দুটি ভাগে ভাগ করুন।

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

আপনি কোন lib / api / sdk / toolset ব্যবহার করছেন তা আমি জানি না। তবে সর্বাধিক এইভাবে করুন: অ্যাজেড অ্যালাইন্ট ফ্যাক্টরটি ব্যবহার করুন যা নির্ধারণ করে যে পিছনে কি আছে বা সামনে কী আছে বা প্রথমে কী আঁকানো হয় তার পিছনে যেতে হবে, শেষটি কী আঁকতে হবে সামনে। সুতরাং আপনার এই বিষয়টি মাথায় রাখা উচিত।


হ্যা ধন্যবাদ. আমিও তাই ভেবেছিলাম তবে অ্যানিমেশনগুলি কীভাবে অর্জন করা হবে তা আমি বুঝতে পারি না। আপনি কি এমন উদাহরণ জানেন যা আমি দেখতে পারি? যে সেরা হবে!
প্যাট্রিক ক্লুগ

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

উত্তর সংশোধিত। এটি আপনার প্রয়োজনের সাথে খাপ
খায়

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

সম্পাদনা 2 পড়ুন, আমি উত্তরটি উন্নত করেছি, আশা করি এটি আপনার প্রয়োজনগুলি কভার করে।
গুস্তাভো ম্যাকিয়েল

2

বিকল্প ধারণা হ'ল আপনার স্প্রিটের সাথে গভীরতা / জেড বাফার চিত্র অন্তর্ভুক্ত করা যেমন 3 ডি এপিআই (ওপেনজিএল) বহুভুজগুলি ওভারল্যাপ না হয় তা নিশ্চিত করে। একটি মৌলিক স্প্রাইট গেমের জন্য এটি কেবল 0/1 বিট (কালো এবং সাদা বিটম্যাপ) হতে পারে (যদিও আপনি চাইলে আরও গভীরতার স্তর ব্যবহার করতে পারেন)।

আপনার যদি সম্মিলিত 'ডেস্কচেয়ার' স্প্রিট থাকে এবং সেই স্কোয়ারে অন্য কোনও স্প্রাইটের (অর্থাৎ মানুষ) সামনে চেয়ার উপস্থিত হতে চান তবে আপনি চরের জেড-বাফার সংস্করণটি 'কালো' করে তুলবেন যখন ডেস্কটি 'সাদা' হবে you ।

আপনি যখন সেই টাইলটিতে গতিশীল স্প্রিট (কোনও ব্যক্তি) রেন্ডার করবেন তখন গভীরতার বাফারে কী রঙ রয়েছে তা পরীক্ষা করে দেখতে হবে। 0 (কালো) পিক্সেলগুলির জন্য আপনি ব্যক্তি অঙ্কনটি পিক্সেল এড়িয়ে যান এবং কেবল চেয়ারগুলি সেখানে রেখে যান।

একবারে প্রতিটি পিক্সেল 1 পরীক্ষা করার পরিবর্তে, চেকটি করার সহজ উপায় হ'ল স্প্রাইট পিক্সেলকে গভীরতার বাফার মান দ্বারা গুণিত করা যেহেতু নিকটতম গভীরতা 0 হবে এবং এটি বাতিল করে দিন। তাহলে অবশ্যই আপনাকে রঙিন করতে হবে (যদি না আপনি একটি আলফা রঙ চ্যানেল না করেন))

এটি অবশ্যই ওভারহেড যুক্ত করে (যদিও আপনি এটি এমন কোনও কিছুর জন্য এড়িয়ে যেতে পারেন যা ডেস্কচারের মতো একাধিক গভীরতার স্তরের প্রয়োজন হয় না)। আপনাকে আপনার অ্যানিমেশনগুলি সিঙ্ক করতে হবে (অর্থাত্ সেই ব্যক্তিকে ডেস্ক চেয়ারের এনিমটির সাথে মিলিয়ে নিতে হবে)। এটি আপনাকে পৃথক স্প্রাইটের পুরো একগুচ্ছ থাকার মতো নমনীয়তা দেয় না।


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