সঠিক আলো পান

প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশিকা

অ্যান্ড্রয়েড (কোটলিন/জাভা)

অ্যান্ড্রয়েড এনডিকে (সি)

ইউনিটি (এআর ফাউন্ডেশন)

আনরিয়েল ইঞ্জিন

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

আলোর সংকেত

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

ছায়া

ছায়া প্রায়শই দিকনির্দেশক হয় এবং দর্শকদের বলে দেয় আলোর উৎস কোথা থেকে আসছে।

পরিবেষ্টিত আলো

পারিপার্শ্বিক আলো হলো চারপাশ থেকে আসা সামগ্রিক বিচ্ছুরিত আলো, যার ফলে সবকিছু দৃশ্যমান হয়।

ছায়া

ছায়া হলো আলোর তীব্রতা। উদাহরণস্বরূপ, একই দৃশ্যে একই বস্তুর বিভিন্ন অংশে ছায়ার মাত্রা ভিন্ন হতে পারে, যা দর্শকের সাপেক্ষে তার কোণ এবং আলোর উৎসের সাথে তার নৈকট্যের উপর নির্ভর করে।

স্পেকুলার হাইলাইটস

স্পেকুলার হাইলাইটস হলো পৃষ্ঠতলের সেইসব চকচকে অংশ যা সরাসরি আলোর উৎস থেকে প্রতিফলিত হয়। দৃশ্যে দর্শকের অবস্থানের সাপেক্ষে কোনো বস্তুর হাইলাইটস পরিবর্তিত হয়।

প্রতিফলন

কোনো পৃষ্ঠতলের স্পেকুলার (অত্যধিক প্রতিফলক) বা ডিফিউজ (অপ্রতিফলক) বৈশিষ্ট্যের ওপর নির্ভর করে আলো ভিন্নভাবে প্রতিফলিত হয়। উদাহরণস্বরূপ, একটি ধাতব বল অত্যন্ত স্পেকুলার হবে এবং তার চারপাশের পরিবেশকে প্রতিফলিত করবে, অন্যদিকে অনুজ্জ্বল ম্যাট ধূসর রঙ করা আরেকটি বল হবে ডিফিউজ। বাস্তব জগতের বেশিরভাগ বস্তুর মধ্যেই এই বৈশিষ্ট্যগুলোর একটি মিশ্রণ থাকে — যেমন একটি ঘষা খাওয়া বোলিং বল বা একটি বহু ব্যবহৃত ক্রেডিট কার্ড।

প্রতিফলক পৃষ্ঠতলও পারিপার্শ্বিক পরিবেশ থেকে রং গ্রহণ করে। কোনো বস্তুর রং তার পারিপার্শ্বিক রঙের দ্বারা সরাসরি প্রভাবিত হতে পারে। উদাহরণস্বরূপ, একটি নীল ঘরে রাখা সাদা বল নীলাভ আভা ধারণ করবে।

পরিবেশগত HDR মোড

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

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

এই আলোক অনুমান মোডটি প্রদান করে:

  1. প্রধান দিকনির্দেশক আলো । এটি আলোর মূল উৎসকে বোঝায়। ছায়া ফেলার জন্য ব্যবহার করা যেতে পারে।

  2. পরিবেষ্টিত গোলাকার হারমোনিক্স । দৃশ্যে অবশিষ্ট পরিবেষ্টিত আলোক শক্তিকে প্রতিনিধিত্ব করে।

  3. একটি HDR কিউবম্যাপ । এটি চকচকে ধাতব বস্তুর প্রতিফলন রেন্ডার করতে ব্যবহার করা যায়।

আপনি এই API-গুলো বিভিন্ন সমন্বয়ে ব্যবহার করতে পারেন, কিন্তু সবচেয়ে বাস্তবসম্মত ফলাফলের জন্য এগুলো একসাথে ব্যবহারের উদ্দেশ্যেই ডিজাইন করা হয়েছে।

প্রধান দিকনির্দেশক আলো

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

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

যখন প্রধান আলোর উৎস বা কোনো আলোকিত বস্তু গতিশীল থাকে, তখন বস্তুটির উপর প্রতিফলিত আলোকচ্ছটা আলোর উৎসের সাপেক্ষে রিয়েল টাইমে তার অবস্থান সমন্বয় করে।

বাস্তব জগতের মতোই, দিকনির্দেশক ছায়াও প্রধান আলোর উৎসের অবস্থানের সাপেক্ষে তার দৈর্ঘ্য ও দিক সমন্বয় করে। এই প্রভাবটি বোঝানোর জন্য, এই দুটি ম্যানিকুইনের কথা ভাবুন, একটি ভার্চুয়াল এবং অন্যটি বাস্তব। বাম দিকের ম্যানিকুইনটি হলো ভার্চুয়ালটি।

পরিবেষ্টিত গোলাকার হারমোনিক্স

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

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

এইচডিআর কিউবম্যাপ

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

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

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

এখানে একই রকেট মডেলটিকে ভিন্ন ভিন্ন আলোকিত পরিবেশে দেখানো হয়েছে। এই সমস্ত দৃশ্য তিনটি এপিআই (API) থেকে প্রাপ্ত তথ্য ব্যবহার করে রেন্ডার করা হয়েছে এবং এতে দিকনির্দেশক ছায়া (directional shadows) প্রয়োগ করা হয়েছে।

পরিবেষ্টিত তীব্রতা মোড

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

পিক্সেল তীব্রতা

একটি দৃশ্যের আলোর গড় পিক্সেল তীব্রতা ধারণ করে। আপনি এই আলো একটি সম্পূর্ণ ভার্চুয়াল বস্তুতে প্রয়োগ করতে পারেন।

রঙ

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

পরিবেশগত অনুসন্ধান

এনভায়রনমেন্ট প্রোব ৩৬০-ডিগ্রি ক্যামেরা ভিউকে কিউব ম্যাপের মতো এনভায়রনমেন্ট টেক্সচারে সাজিয়ে তোলে। এরপর এই টেক্সচারগুলো ব্যবহার করে ভার্চুয়াল বস্তুগুলোকে বাস্তবসম্মতভাবে আলোকিত করা যায়, যেমন একটি ভার্চুয়াল ধাতব বল যা তার চারপাশের ঘরকে “প্রতিফলিত” করে।