পিক্সেল বিশ্বস্ততা বজায় রাখে রূপান্তরিত 2D স্প্রাইটের জন্য কীভাবে একটি "রেট্রো" পিক্সেল শেডার তৈরি করবেন?


10

নীচের চিত্রটিতে পটভূমির উপরে পয়েন্ট স্যাম্পলিংয়ের সাথে দু'টি স্প্রাইট রেন্ডার দেখানো হয়েছে:

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

  • বাম খুলিতে এর কোনও আবর্তন / স্কেলিং প্রয়োগ করা হয়নি, সুতরাং প্রতিটি পিক্সেল পটভূমির সাথে পুরোপুরি মেলে।
  • ডান খুলিটি ঘোরানো / স্কেল করা হয় এবং এর ফলে বৃহত্তর পিক্সেলগুলির ফল হয় যা অক্ষ অক্ষরেখায় থাকে না ।

কীভাবে আমি এমন একটি পিক্সেল শেডার বিকাশ করতে পারি যা ডানদিকে অক্ষরের সাথে একই দৃশ্যের সাথে একই দৃশ্যের সাথে সংযুক্ত পিক্সেলের সাথে রূপান্তরিত স্প্রিটকে রেন্ডার করতে পারে?

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


সম্পাদন করা

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

প্রথমে আমি এটি করার চেষ্টা করেছি Linear -> Pointএবং ফলাফল এটি ছিল:

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

কোনও বিকৃতি নেই তবে ফলাফলটি ঝাপসা দেখায় এবং এটি হাইলাইটের বেশিরভাগ রঙ হারিয়ে ফেলে। আমার মতে এটি আমার প্রয়োজনীয় রেট্রো চেহারাটি ভেঙে দেয়।

দ্বিতীয়বার চেষ্টা করলাম Point -> Pointএবং ফলাফলটি হ'ল:

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

বিকৃতি সত্ত্বেও, আমি মনে করি এটি আমার প্রয়োজনের জন্য যথেষ্ট ভাল হতে পারে, যদিও এটি গতির চেয়ে স্থির চিত্র হিসাবে আরও ভাল দেখায়।

প্রদর্শন করতে, এফেক্টটির একটি ভিডিও এখানে দেওয়া হয়েছে, যদিও ইউটিউব এটি থেকে পিক্সেলগুলি ফিল্টার করেছে:

http://youtu.be/hqokk58KFmI

তবে, প্রশ্নটি আরও কয়েকদিন খোলা রেখে দেব যদি কেউ স্যাম্পলিংয়ের জন্য আরও ভাল সমাধান নিয়ে আসে তবে সরে যাওয়ার সময় বিকৃতির পরিমাণ হ্রাস করার সাথে সাথে খাস্তা দেখা দেয়।


ওটা খুলি হওয়ার কথা ...?
ডেডএমজি

@ ডেড এমজি একটি গরুর খুলি, আমার ধারণা?
ডেভিড গওভিয়া

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

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

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

উত্তর:


3

আপনার স্প্রিটটি ঘোরার পরে আপনার শেডারটি প্রয়োগ করা উচিত।

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

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

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


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

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

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