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

একটি দৃশ্য পরিবর্তন করুন
আপনার ব্যবহারকারীর সোফার হাতল ও বালিশে ভার্চুয়াল তুষারকণা জমতে দিয়ে, অথবা তাদের বসার ঘরকে কুয়াশাচ্ছন্ন করে দিয়ে একটি নতুন, নিমগ্ন জগতে প্রবেশ করান। আপনি ডেপথ (Depth) ব্যবহার করে এমন একটি দৃশ্য তৈরি করতে পারেন যেখানে ভার্চুয়াল আলো বাস্তব বস্তুর সাথে মিথস্ক্রিয়া করে, সেগুলোর আড়ালে লুকিয়ে পড়ে এবং সেগুলোকে পুনরায় আলোকিত করে।
দূরত্ব এবং ক্ষেত্রের গভীরতা
কোনো কিছু দূরে আছে তা দেখাতে চান? আপনি ডেপথ এপিআই (Depth API) ব্যবহার করে দূরত্ব পরিমাপ করতে পারেন এবং ডেপথ-অফ-ফিল্ড এফেক্ট যোগ করতে পারেন, যেমন কোনো দৃশ্যের ব্যাকগ্রাউন্ড বা ফোরগ্রাউন্ড ব্লার করে দেওয়া।
এআর অবজেক্টের সাথে ব্যবহারকারীর মিথস্ক্রিয়া সক্ষম করুন
ভার্চুয়াল কন্টেন্টকে কলিশন ও ফিজিক্সের মাধ্যমে বাস্তব জগতের সাথে ইন্টারঅ্যাক্ট করার সুযোগ দিয়ে আপনার অ্যাপের মাধ্যমে ব্যবহারকারীদের পৃথিবীকে “স্পর্শ” করার সুযোগ দিন। ভার্চুয়াল বস্তুকে বাস্তব জগতের বাধার উপর দিয়ে যেতে দিন, অথবা ভার্চুয়াল পেইন্টবলকে বাস্তব জগতের কোনো গাছে আঘাত করে তার উপর ছড়িয়ে পড়তে দিন। যখন আপনি ডেপথ-বেসড কলিশনকে গেম ফিজিক্সের সাথে একত্রিত করবেন, তখন একটি অভিজ্ঞতাকে জীবন্ত করে তুলতে পারবেন।
হিট-টেস্ট উন্নত করুন
হিট-টেস্টের ফলাফল উন্নত করতে ডেপথ ব্যবহার করা যেতে পারে। প্লেন হিট-টেস্ট শুধুমাত্র টেক্সচারযুক্ত সমতল পৃষ্ঠে কাজ করে, অন্যদিকে ডেপথ হিট-টেস্ট আরও বিস্তারিত এবং এটি অসমতল ও কম টেক্সচারযুক্ত এলাকাতেও কাজ করে। এর কারণ হলো, ডেপথ হিট-টেস্ট কোনো বিন্দুর সঠিক গভীরতা ও দিক নির্ধারণ করতে সিন থেকে ডেপথের তথ্য ব্যবহার করে।
নিম্নলিখিত উদাহরণে, সবুজ অ্যান্ডিগুলো স্ট্যান্ডার্ড প্লেন হিট-টেস্ট এবং লাল অ্যান্ডিগুলো ডেপথ হিট-টেস্ট নির্দেশ করে।
ডিভাইসের সামঞ্জস্যতা
ডেপথ এপিআই শুধুমাত্র সেইসব ডিভাইসে সমর্থিত, যেগুলোর ডেপথ সমর্থন করার মতো প্রসেসিং ক্ষমতা রয়েছে, এবং ‘ডেপথ সক্ষম করুন’ অংশে বর্ণিত পদ্ধতি অনুযায়ী এটিকে ARCore-এ ম্যানুয়ালি সক্রিয় করতে হবে।
কিছু ডিভাইসে টাইম-অফ-ফ্লাইট (ToF) সেন্সরের মতো একটি হার্ডওয়্যার ডেপথ সেন্সরও থাকতে পারে। ডেপথ এপিআই (Depth API) সমর্থনকারী ডিভাইসগুলির একটি হালনাগাদ তালিকা এবং ToF সেন্সরের মতো সমর্থিত হার্ডওয়্যার ডেপথ সেন্সরযুক্ত ডিভাইসগুলির তালিকার জন্য ARCore সমর্থিত ডিভাইস পৃষ্ঠাটি দেখুন।
গভীরতার ছবি
ডেপথ এপিআই (Depth API) ডেপথ ইমেজ তৈরি করতে একটি ডেপথ-ফ্রম-মোশন অ্যালগরিদম ব্যবহার করে, যা চারপাশের জগতের একটি ত্রিমাত্রিক (3D) দৃশ্য প্রদান করে। একটি ডেপথ ইমেজের প্রতিটি পিক্সেলের সাথে ক্যামেরা থেকে দৃশ্যটির দূরত্বের একটি পরিমাপ যুক্ত থাকে। ব্যবহারকারী যখন তার ফোন নাড়াচাড়া করেন, তখন এই অ্যালগরিদম বিভিন্ন কোণ থেকে ডিভাইসের একাধিক ছবি নিয়ে সেগুলোকে তুলনা করে প্রতিটি পিক্সেলের দূরত্ব অনুমান করে। এটি ব্যবহারকারীর সামান্য নড়াচড়াতেও ডেপথ প্রসেসিং বাড়ানোর জন্য বেছে বেছে মেশিন লার্নিং ব্যবহার করে। এটি ব্যবহারকারীর ডিভাইসে থাকা যেকোনো অতিরিক্ত হার্ডওয়্যারের সুবিধাও গ্রহণ করে। যদি ডিভাইসটিতে ToF-এর মতো কোনো ডেডিকেটেড ডেপথ সেন্সর থাকে, তবে অ্যালগরিদমটি স্বয়ংক্রিয়ভাবে সমস্ত উপলব্ধ উৎস থেকে ডেটা একত্রিত করে। এটি বিদ্যমান ডেপথ ইমেজকে উন্নত করে এবং ক্যামেরা স্থির থাকলেও ডেপথ সক্ষম করে। এটি সাদা দেয়ালের মতো অল্প বা বৈশিষ্ট্যহীন পৃষ্ঠে, অথবা চলমান মানুষ বা বস্তুসহ গতিশীল দৃশ্যেও উন্নত ডেপথ প্রদান করে।
নিচের ছবিগুলোতে দেয়ালে একটি সাইকেলসহ একটি হলওয়ের ক্যামেরা থেকে তোলা ছবি এবং ক্যামেরা থেকে তোলা ছবিগুলো থেকে তৈরি ডেপথ ইমেজের একটি ভিজ্যুয়ালাইজেশন দেখানো হয়েছে। লাল রঙের এলাকাগুলো ক্যামেরার কাছাকাছি এবং নীল রঙের এলাকাগুলো দূরে অবস্থিত।

গতি থেকে গভীরতা
ব্যবহারকারী যখন তার ডিভাইসটি নাড়াচাড়া করেন, তখন গভীরতার তথ্য পাওয়া যায়। অ্যালগরিদমটি ০ থেকে ৬৫ মিটার দূর পর্যন্ত নির্ভরযোগ্য ও নির্ভুল গভীরতার অনুমান করতে পারে। সবচেয়ে নির্ভুল ফলাফল পাওয়া যায় যখন ডিভাইসটি বাস্তব দৃশ্যপট থেকে আধা মিটার থেকে প্রায় পাঁচ মিটার দূরে থাকে। যে অভিজ্ঞতাগুলো ব্যবহারকারীকে তার ডিভাইসটি আরও বেশি নাড়াচাড়া করতে উৎসাহিত করে, সেগুলোতে ক্রমশ আরও ভালো ফলাফল পাওয়া যায়।
গভীরতার ছবি সংগ্রহ করুন
ডেপথ এপিআই (Depth API) ব্যবহার করে আপনি প্রতিটি ক্যামেরা ফ্রেমের সাথে মিলে যায় এমন ডেপথ ইমেজ পেতে পারেন। একটি সংগৃহীত ডেপথ ইমেজের টাইমস্ট্যাম্প এবং ফিল্ড অফ ভিউ ইন্ট্রিনসিকস ক্যামেরার মতোই থাকে। যেহেতু গতি থেকেই ডেপথ সংগ্রহ করা হয়, তাই ব্যবহারকারী তার ডিভাইসটি নাড়াচাড়া শুরু করার পরেই কেবল সঠিক ডেপথ ডেটা পাওয়া যায়। সাদা দেয়ালের মতো যেসব পৃষ্ঠে বৈশিষ্ট্য কম বা নেই, সেগুলোর ডেপথ নির্ভুল হবে না।
এরপর কী?
- ARCore ডেপথ ল্যাবটি দেখুন, যেখানে ডেপথ ডেটা অ্যাক্সেস করার বিভিন্ন উপায় দেখানো হয়েছে।