আমি কীভাবে আলফা মিশ্রণ এবং কণাগুলির সাহায্যে ভাল আগুনের প্রভাব অর্জন করতে পারি?


41

ওপেনজিএল কণা প্রভাবের জন্য নিম্নলিখিত সেটিংস ব্যবহার করে:

SRC: GL_SRC_ALPHA
DST: GL_ONE

একটি অ্যাডিটিভ মিশ্রণ তৈরি করে, যা একটি কালো পটভূমিতে দর্শনীয় দেখায় তবে উজ্জ্বল রঙগুলিতে ভয়ানক, কারণ এটি সাদা হয়ে যেতে শুরু করে।

আমি তখন আলফা মিশ্রণ ব্যবহার করেছি:

SRC: GL_SRC_ALPHA
DST: GL_ONE_MINUS_SRC_ALPHA

এটি অন্যান্য পটভূমিগুলি কণার রঙকে প্রভাবিত না করে ব্যবহার করার অনুমতি দেয়, তবে কণাগুলি এডেটিভ মিশ্রণের তুলনায় নিজেরাই নিস্তেজ দেখায়। আমি কীভাবে আলফা মিশ্রণ এবং কণাগুলির সাহায্যে ভাল আগুনের প্রভাব অর্জন করতে পারি?

যুত:

কালো উপর যুক্ত নীল উপর যুক্ত

আলফা:

কালো উপর আলফা নীল উপর আলফা

হালনাগাদ:

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

নিয়মিত যুক্ত এবং আমার সংস্করণ

আমি যেখানে আমার প্রক্রিয়াটি পোস্ট করেছি সেই থ্রেডটি এখানে: http://www.cocos2d-iphone.org/forum/topic/28707?replies=8#post-14152828

ভিডিও: http://www.youtube.com/watch?v=JptGbEO3b5E

উত্তর:


17

আমি স্বীকার করি যে আমি এই সমস্যার কোনও আদর্শিক সমাধান সম্পর্কে অবগত নই, তাই আমি এমন একটি কাজের বিবরণ দেব যা আপনি এতে স্বাচ্ছন্দ্য বোধ করতে পারেন বা নাও করতে পারেন:

  1. এর ব্যাকগ্রাউন্ডটি স্বচ্ছভাবে সাফ করার সাথে একটি পৃথক টেক্সচার (বা লক্ষ্য রেন্ডার) -এর সাথে যুক্ত সংমিশ্রণ ব্যবহার করে সমস্ত কণা রেন্ডার করুন ।
  2. আলফা মিশ্রণ ব্যবহার করে আপনার দৃশ্যের শীর্ষে সেই গঠনটি (বা লক্ষ্য রেন্ডার) রেন্ডার করুন ।

আমি ফটোশপে এটি চেষ্টা করেছিলাম এবং যা পেয়েছিলাম তা এখানে - এটি নিখুঁত নয়, তবে কমপক্ষে এটি মূল রঙগুলিকে আরও ভালভাবে সংরক্ষণ করে:

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

কণাগুলিতে অ্যাডিটিভ ব্লেন্ডিং না করে আসল জমিনটি এখানে:

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


এটি কি তাদের দুটি টেক্সচারে বিভক্ত করবে এবং ঠিক এমনই হবে যেন আমি একটি পটভূমিতে আঁকানো যুক্ত সংমিশ্রণটির একটি টেক্সচার পেয়েছি?
আরম কোচার্যান

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

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

@ আরমকোচার্যান আমি ফটোশপে যে ফলাফলগুলি পেয়েছি তা কয়েক মিনিটের মধ্যে পোস্ট করব যাতে আপনি তুলনা করতে পারেন।
ডেভিড গাউভিয়া

5
ঠিক আছে এই নিক্ষেপ - ... এই প্রযুক্তিটি কর্মক্ষমতা উদ্বেগ বাড়াতে পারে
notlesh

9

প্রিম্টিপ্লাইড আলফা দেখুন a

http://blogs.msdn.com/b/shawnhar/archive/2009/11/07/premultiplied-alpha-and-image-composition.aspx


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

4

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

SRC: GL_ONE
DST: GL_ONE_MINUS_SRC_ALPHA

এটা তোলে যুত মিশ্রণ যেমন চমৎকার, কিন্তু উপায় হিসেবে বেশী ভালো নয় GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA। আপনি যদি আলফা এবং রঙের মানগুলি শুরু এবং শেষের দিকে কিছুটা সাম্প্রতিক করে থাকেন তবে আপনি এমন ফলাফলগুলি পেতে পারেন যা সত্যিই সংযোজনকারী মিশ্রণের কাছাকাছি।

কণা মিশ্রণ মোড

উপরের চিত্রটিতে GL_SRC_ALPHA, GL_ONEবাম দিকে আছে, মাঝখানে আছে GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHAএবং ডানে আপনি মিশ্রণ মোডটি দেখতে পাবেন আমি এই সেটআপটির জন্য প্রস্তাব করব।


আমি সম্মত হই যে রঙের উপর সম্পূর্ণ নিয়ন্ত্রণের জন্য, এই পদ্ধতিটি দুর্দান্ত কাজ করে।
আরম কোচার্যান

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

3

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


এটি আমার পরবর্তী বিকল্প হতে পারে, আমি কণাকে যদিও সর্বনিম্ন রাখতে চাই। আশা করি দু'জনেই পারবো।
আরম কোচার্যান

3

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

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


হ্যাঁ টেক্সচারটি কেবলমাত্র সাদা রঙের ব্রাশের সাথে আলফাটি কেন্দ্র থেকে পৃথক হয়।
আরম কোচার্যান

হুহ, যদি এটি সত্য হয় তবে আমার আলফার স্বচ্ছতার স্ক্রিনশটটি সেই কণাগুলির চারপাশে সেই অন্ধকার রয়েছে।
২:19

হ্যাঁ, আমি নিশ্চিত নই যে তারা কেন আলফা মিশ্রণের আশেপাশে গঠন করেছিল। তবে আমার এখন যা আছে, তা ঠিক আছে বলে মনে হয়।
আরাম কোচার্যান


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