গভীরতা বাস্তববাদ যোগ করে

প্ল্যাটফর্ম-নির্দিষ্ট গাইড

একজন AR অ্যাপ ডেভেলপার হিসেবে, আপনি আপনার ব্যবহারকারীদের জন্য বাস্তবের সাথে ভার্চুয়ালকে নির্বিঘ্নে মিশ্রিত করতে চান। যখন একজন ব্যবহারকারী তাদের দৃশ্যে একটি ভার্চুয়াল বস্তু রাখে, তখন তারা এটি দেখতে চায় যে এটি বাস্তব জগতের অন্তর্গত। আপনি যদি ব্যবহারকারীদের জন্য আসবাবপত্র কেনাকাটা করার জন্য একটি অ্যাপ তৈরি করেন, তাহলে আপনি চান যে তারা যে আর্মচেয়ারটি কিনতে চলেছেন তা তাদের জায়গার সাথে মানানসই হবে।

Depth API একটি দৃশ্যের বাস্তব বস্তুর আকার এবং আকৃতি বুঝতে একটি ডিভাইসের ক্যামেরাকে সাহায্য করে। এটি গভীরতার চিত্র বা গভীরতার মানচিত্র তৈরি করে, যার ফলে আপনার অ্যাপগুলিতে বাস্তবতার একটি স্তর যুক্ত হয়। আপনি নিমগ্ন এবং বাস্তবসম্মত ব্যবহারকারীর অভিজ্ঞতা সক্ষম করতে একটি গভীরতার চিত্র দ্বারা প্রদত্ত তথ্য ব্যবহার করতে পারেন।

ডেপথ এপিআই দিয়ে বিকাশের জন্য কেস ব্যবহার করুন

ডেপথ এপিআই বস্তুর অবরোধ, উন্নত নিমজ্জন এবং অভিনব মিথস্ক্রিয়াকে শক্তি দিতে পারে যা AR অভিজ্ঞতার বাস্তবতাকে উন্নত করে। নিম্নলিখিত কিছু উপায় আপনি আপনার নিজের প্রকল্পে এটি ব্যবহার করতে পারেন. অ্যাকশনের গভীরতার উদাহরণের জন্য, ARCore Depth Lab- এ নমুনা দৃশ্যগুলি অন্বেষণ করুন, যা গভীরতার ডেটা অ্যাক্সেস করার বিভিন্ন উপায় প্রদর্শন করে৷ এই ইউনিটি অ্যাপটি গিথুবে ওপেন সোর্স।

আবদ্ধতা সক্ষম করুন

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

একটি দৃশ্য রূপান্তর

আপনার ব্যবহারকারীকে ভার্চুয়াল স্নোফ্লেক্স রেন্ডার করে তাদের পালঙ্কের বাহু ও বালিশে বসিয়ে বা কুয়াশাচ্ছন্ন কুয়াশায় তাদের বসার ঘরটি কাস্ট করে একটি নতুন, নিমজ্জিত বিশ্বে দেখান৷ আপনি একটি দৃশ্য তৈরি করতে গভীরতা ব্যবহার করতে পারেন যেখানে ভার্চুয়াল আলোগুলি ইন্টারঅ্যাক্ট করে, পিছনে লুকিয়ে থাকে এবং বাস্তব বস্তুগুলিকে রিলাইট করে।

ক্ষেত্রের দূরত্ব এবং গভীরতা

দূরের কিছু দেখাতে হবে? আপনি দূরত্ব পরিমাপ ব্যবহার করতে পারেন এবং গভীরতা-অব-ক্ষেত্রের প্রভাবগুলি যোগ করতে পারেন, যেমন একটি পটভূমি বা দৃশ্যের অগ্রভাগকে অস্পষ্ট করা, গভীরতা API এর সাথে।

AR অবজেক্টের সাথে ব্যবহারকারীর মিথস্ক্রিয়া সক্ষম করুন

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

হিট-পরীক্ষা উন্নত করুন

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

নিম্নলিখিত উদাহরণে, সবুজ অ্যান্ডিস স্ট্যান্ডার্ড প্লেন হিট-টেস্ট এবং লাল অ্যান্ডিস গভীরতার হিট-টেস্টের প্রতিনিধিত্ব করে।

ডিভাইস সামঞ্জস্য

Depth API শুধুমাত্র গভীরতা সমর্থন করার জন্য প্রসেসিং পাওয়ার সহ ডিভাইসগুলিতে সমর্থিত, এবং এটিকে অবশ্যই ARCore-এ ম্যানুয়ালি সক্ষম করতে হবে, যেমন Depth Enable এ বর্ণনা করা হয়েছে।

কিছু ডিভাইস হার্ডওয়্যার ডেপথ সেন্সরও প্রদান করতে পারে, যেমন একটি টাইম-অফ-ফ্লাইট (ToF) সেন্সর। Depth API সমর্থন করে এমন ডিভাইসগুলির একটি আপ-টু-ডেট তালিকার জন্য ARCore সমর্থিত ডিভাইসগুলির পৃষ্ঠা এবং একটি ToF সেন্সরের মতো সমর্থিত হার্ডওয়্যার গভীরতা সেন্সর রয়েছে এমন ডিভাইসগুলির একটি তালিকার জন্য দেখুন৷

গভীরতার ছবি

ডেপথ এপিআই গভীরতার ছবি তৈরি করতে একটি গভীরতা-থেকে-মোশন অ্যালগরিদম ব্যবহার করে, যা বিশ্বের একটি 3D ভিউ দেয়। একটি গভীরতার চিত্রের প্রতিটি পিক্সেল ক্যামেরা থেকে দৃশ্যটি কত দূরে রয়েছে তার পরিমাপের সাথে যুক্ত। এই অ্যালগরিদমটি বিভিন্ন কোণ থেকে একাধিক ডিভাইসের ছবি নেয় এবং ব্যবহারকারীর ফোন সরানোর সাথে সাথে প্রতিটি পিক্সেলের দূরত্ব অনুমান করার জন্য তাদের তুলনা করে। এটি গভীরতার প্রক্রিয়াকরণ বাড়ানোর জন্য বেছে বেছে মেশিন লার্নিং ব্যবহার করে, এমনকি ব্যবহারকারীর কাছ থেকে ন্যূনতম গতিতেও। এটি ব্যবহারকারীর ডিভাইসে থাকা যেকোনো অতিরিক্ত হার্ডওয়্যারের সুবিধাও নেয়। যদি ডিভাইসে একটি ডেডিকেটেড ডেপথ সেন্সর থাকে, যেমন ToF, অ্যালগরিদম স্বয়ংক্রিয়ভাবে সমস্ত উপলব্ধ উত্স থেকে ডেটা একত্রিত করে৷ এটি বিদ্যমান গভীরতার চিত্রকে উন্নত করে এবং ক্যামেরা না চললেও গভীরতা সক্ষম করে। এটি সাদা দেয়াল বা চলমান মানুষ বা বস্তুর সাথে গতিশীল দৃশ্যের মতো কয়েকটি বা কোন বৈশিষ্ট্য সহ পৃষ্ঠগুলিতে আরও ভাল গভীরতা সরবরাহ করে।

নিচের ছবিগুলো দেয়ালে সাইকেল সহ একটি হলওয়ের ক্যামেরা ইমেজ এবং ক্যামেরা ইমেজ থেকে তৈরি গভীরতার চিত্রের একটি ভিজ্যুয়ালাইজেশন দেখায়। লাল রঙের এলাকাগুলি ক্যামেরার কাছাকাছি, এবং নীল রঙের এলাকাগুলি আরও দূরে।

গতি থেকে গভীরতা

ব্যবহারকারী যখন তাদের ডিভাইসটি সরান তখন গভীরতার ডেটা পাওয়া যায়। অ্যালগরিদম 0 থেকে 65 মিটার দূরে থেকে শক্তিশালী, সঠিক গভীরতার অনুমান পেতে পারে। সবচেয়ে সঠিক ফলাফল আসে যখন ডিভাইসটি বাস্তব-বিশ্বের দৃশ্য থেকে আধা মিটার থেকে প্রায় পাঁচ মিটার দূরে থাকে। যে অভিজ্ঞতাগুলি ব্যবহারকারীকে তাদের ডিভাইসটি আরও সরাতে উত্সাহিত করে সেগুলি আরও ভাল এবং আরও ভাল ফলাফল পাবে।

গভীরতা ছবি অর্জন

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

এরপর কি

  • ARCore Depth Lab দেখুন, যা গভীরতার ডেটা অ্যাক্সেস করার বিভিন্ন উপায় দেখায়।