Android XR, OpenXR-এর মাধ্যমে তৈরি করা অ্যাপকে সাপোর্ট করে। OpenXR 1.1 স্পেসিফিকেশন এবং বেছে নেওয়া ভেন্ডর এক্সটেনশন-এর জন্য এটি কাজ করে। OpenXR হল একটি ওপেন স্ট্যান্ডার্ড যা আপনাকে বিভিন্ন ধরনের XR ডিভাইস জুড়ে API-এর একটি সাধারণ সেট ব্যবহার করে ইমারসিভ এবং ইন্টারেক্টিভ অভিজ্ঞতা তৈরি করতে দেয়।
ফিচার
Android XR-এ এমন ফিচার আছে যা আপনাকে OpenXR ব্যবহার করে XR ডিভাইসের অনন্য ক্ষমতার সম্পূর্ণ সুবিধা গ্রহণ করে এমন অ্যাপ তৈরি করতে দেয়। এইসব ফিচারের মধ্যে এগুলি অন্তর্ভুক্ত।
- স্পেশিয়াল এন্টিটি ফ্রেমওয়ার্ক
- দৃশ্য বোঝা ও স্পেশিয়াল রিজনিংয়ের জন্য একটি ইউনিফায়েড ফাউন্ডেশন। অ্যাপ্লিকেশনকে পরিবেশে (প্লেন, 3D মেশ, বাউন্ডিং বক্স, ছবি, মার্কার ও অ্যানোটেশন সহ) ফিজিক্যাল স্পেশিয়াল এন্টিটি খুঁজতে, কোয়েরি করতে ও ট্র্যাক করতে, স্পেশিয়াল বাউন্ড ব্যবহার করে ডিসকভারি ফিল্টার করতে, এন্টিটি আর্কিটাইপ কোয়েরি করতে, এন্টিটির সাথে অ্যাটাচ করা স্পেশিয়াল অ্যাঙ্কর তৈরি করতে, স্পেশিয়াল এন্টিটি ও মেশ রে-কাস্টিং করতে এবং অ্যাপ্লিকেশন সেশন জুড়ে স্পেশিয়াল এন্টিটি বজায় রাখতে দেয়।
- স্পেশিয়াল কন্টেনার
- একটি ক্রস-প্ল্যাটফর্ম স্পেশিয়াল উইন্ডোইং API (
XR_EXT_spatial_containerএবংXR_EXT_spatial_container_self_rendering) যা অ্যাপ্লিকেশনকে OpenXR সোয়াপচেন এবং কম্পোজিশন লেয়ার ব্যবহার করে ডিসপ্লে করা যায় এমন 3D স্পেশিয়াল কন্টেনার (বাউন্ডেড এবং ইমারসিভ, দুটিই) তৈরি এবং রেন্ডার করতে দেয়, যার ফলে ব্যবহারকারীরা একই সাথে একাধিক স্পেশিয়াল কন্টেনার উপভোগ করতে পারেন। - জিওস্পেশিয়াল ও জিওস্পেশিয়াল অ্যাঙ্কর
- Google-এর Visual Positioning Service (VPS) এবং GPS ব্যবহার করে অ্যাপ্লিকেশনকে পৃথিবীর সাপেক্ষে পোজ ট্র্যাক করতে, Google Cloud পরিষেবার মাধ্যমে যাচাই করতে এবং নির্দিষ্ট অক্ষাংশ, দ্রাঘিমাংশ ও উচ্চতায় জিওস্পেশিয়াল অ্যাঙ্কর ও সারফেস অ্যাঙ্কর প্লেস করতে অনুমতি দেয়।
- ট্র্যাক করা যায় এমন ডিভাইস
- প্লেন শনাক্তকরণ ফিচারকে সাপোর্ট করে, যা পরিবেশের মধ্যে সমতল পৃষ্ঠ শনাক্ত ও ট্র্যাক করার ক্ষমতা রাখে, বাস্তব জগতের সাথে সম্পর্কিত ভার্চুয়াল অবজেক্টের প্লেসমেন্ট এবং অ্যাঙ্করকে সক্ষম করে, যা হল রেফারেন্সের ভার্চুয়াল পয়েন্ট যা বাস্তব জগতের অবজেক্ট বা লোকেশনগুলির সাথে অ্যাটাচ করা যেতে পারে, যাতে ভার্চুয়াল কন্টেন্ট সঠিকভাবে পজিশন করা এবং ব্যবহারকারী ঘুরে বেড়ালেও ওরিয়েন্টেড থাকে।
- রে-কাস্টিং
- ভার্চুয়াল রে এবং অবজেক্ট বা দৃশ্যে ওয়ার্ল্ড মেশের মধ্যে ইন্টারসেকশন পয়েন্ট নির্ধারণ করার জন্য ব্যবহৃত টেকনিক, যা ভার্চুয়াল এলিমেন্ট বেছে নেওয়া ও ম্যানিপুলেট করার মতো ইন্টার্যাকশন সহজ করে তোলে।
- অ্যাঙ্কর পারসিসটেন্স
- একাধিক সেশন জুড়ে অ্যাঙ্কর সেভ ও রিস্টোর করার ক্ষমতা, যা পরিবেশের মধ্যে ভার্চুয়াল কন্টেন্টের স্থায়ী এবং সামঞ্জস্যপূর্ণ প্লেসমেন্টের অনুমতি দেয়।
- অবজেক্ট ট্র্যাকিং
- বাস্তব জগতে মাউস, কীবোর্ড এবং অন্যান্য ফিজিক্যাল অবজেক্ট ট্র্যাক করার ক্ষমতা।
- ছবি ও মার্কার ট্র্যাকিং
- পরিবেশে প্ল্যানার রেফারেন্স ইমেজ এবং ফিজিক্যাল মার্কার (যেমন AprilTags এবং ArUco মার্কার) শনাক্ত এবং ট্র্যাক করার ক্ষমতা।
- QR কোড ট্র্যাকিং
- ফিজিক্যাল পরিবেশে QR কোড ট্র্যাক করা এবং সেটির ডেটা ডিকোড করার ক্ষমতা।
- ডেপথ টেক্সচার
- ডেপথ ম্যাপের জেনারেশন যা দৃশ্যে ক্যামেরা ও অবজেক্টের মধ্যে দূরত্বের ব্যাপারে তথ্য প্রদান করে, আরও বাস্তবসম্মত অক্লুশন ও ইন্টার্যাকশন এফেক্ট চালু করে।
- পাসথ্রু
- বাস্তব জগতের ক্যামেরা ফুটেজকে ভার্চুয়াল কন্টেন্টের সাথে মিশিয়ে দেওয়ার ক্ষমতা, যা মিক্সড রিয়ালিটির অভিজ্ঞতা তৈরি করে এবং বাস্তব ও ডিজিটাল জগতকে নির্বিঘ্নে একত্রিত করে।
- গ্লোবাল পাসথ্রু ডিমিং
- অ্যাপ্লিকেশনকে গ্লোবাল পাসথ্রু ডিমিং লেভেল সেট ও কোয়েরি করার অনুমতি দেয় যাতে ভার্চুয়াল কন্টেন্টকে বাস্তব পরিবেশের সাথে ব্লেন্ড করা যায় এবং ডিমিং লেভেল পরিবর্তন হলে ইভেন্ট সংক্রান্ত তথ্য পাওয়া যায়।
- ভিউপোর্ট ফেদারিং
- রানটাইম দ্বারা প্রয়োগ করা ফেদার্ড পেরিমিটার এরিয়া এক্সপোজ করে যাতে অ্যাপ্লিকেশনগুলি পেরিফেরাল ফেদারিং দ্বারা প্রভাবিত না হয়ে নিরাপদ এলাকার মধ্যে UI এলিমেন্ট লেআউট করতে পারে।
- দৃশ্য মেশিং
- পরিবেশের 3D মেশ পাওয়ার ক্ষমতা, যা ফিজিক্স, অক্লুশন এবং অন্যান্য ওয়ার্ল্ড-অ্যাওয়ার ইন্টার্যাকশনের জন্য ব্যবহার করা যেতে পারে।
- কম্পোজিশন লেয়ার পাসথ্রু
- পলিগন পাসথ্রু কম্পোজিশন লেয়ার কাটআউটের অনুমতি দেয়, বাস্তব জগতের অবজেক্টকে কোনও দৃশ্যে নিয়ে আসার জন্য ব্যবহার করা যেতে পারে।
- ফেস ট্র্যাক করার সুবিধা
- ভিজ্যুয়াল ও অডিও ডেটা সোর্স থেকে ব্যবহারকারীর মুখের ফিচার ট্র্যাক করার ক্ষমতা, যার ফলে আরও বাস্তবসম্মত ও অভিব্যক্তিপূর্ণ অবতার ও ভার্চুয়াল চরিত্র তৈরি করা সম্ভব হয়।
- আই ট্র্যাকিং
- ব্যবহারকারীর চোখের পজিশন ও ওরিয়েন্টেশন প্রদান করে, যা অবতারের চোখের পোজ আরও বাস্তবসম্মত করার জন্য ডিজাইন করা হয়েছে।
- হ্যান্ড ট্র্যাকিং
- ব্যবহারকারীর হাতের অবস্থান ও মুভমেন্ট ট্র্যাক করার ক্ষমতা।
- হ্যান্ড মেশ
- ব্যবহারকারীর হাতের সঠিক উপস্থাপনা লো পলি মেশ হিসেবে প্রদান করে। আপনি যাতে সেরা পারফর্ম্যান্স পান তা নিশ্চিত করতে প্ল্যাটফর্ম-টু-অ্যাপ্লিকেশন ডেলিভারির জন্য অপ্টিমাইজ করা হয়েছে। এটি অন্যান্য এক্সটেনশনের বিকল্প যা বাইন্ড পোজ এবং ব্লেন্ড ওয়েট ব্যবহার করে।
- বডি ট্র্যাকিং
- মাথা ও হাত ট্র্যাকিং ইনপুট ব্যবহার করে ব্যবহারকারীর শরীরের জয়েন্টের পজিশন ও অনুপাত অনুমান করে।
- লাইট এস্টিমেশন
- ব্যবহারকারীর বাস্তব-জগতের আলোর অবস্থার সাথে ম্যাচ করার জন্য লাইটিং মডেলের (ডাইরেকশনাল, অ্যাম্বিয়েন্ট, স্ফেরিক্যাল হারমোনিক্স এবং কিউবম্যাপ লাইটিং সহ) জন্য ব্যবহার করা হয়।
কাজ করে এমন ইনপুট ডিভাইস
Android XR-এ নিম্নলিখিত ইনপুট ডিভাইসও কাজ করে।
- হাতের মাধ্যমে ইন্টার্যাকশন
- নির্দিষ্ট হাতের জেসচার শনাক্ত করা, যেমন চিমটি কাটা, সোয়াইপ করা এবং পয়েন্ট করা, যা ব্যবহারকারীদের জেসচার এবং হাতের মুভমেন্ট ব্যবহার করে ভার্চুয়াল অবজেক্টের সাথে ইন্টার্যাক্ট করতে দেয়।
- Eye Gaze ইন্টার্যাকশন
- ব্যবহারকারীর চোখের মুভমেন্ট ট্র্যাক করার ক্ষমতা, যার মাধ্যমে তিনি চোখের দৃষ্টি ব্যবহার করে ভার্চুয়াল অবজেক্ট বেছে নিতে ও ইন্টার্যাক্ট করতে পারবেন।
- 6DoF মোশন কন্ট্রোলার
- কন্ট্রোলারের পজিশন ও মুভমেন্ট ট্র্যাক করার ক্ষমতা এবং অ্যাকশন ট্রিগার করার জন্য Dpad ও বোতাম বাইন্ডিং, অথবা অ্যাপের মধ্যে হোভার ইভেন্ট।
- মাউস ইন্টার্যাকশন
- 3D স্পেসে মাউস পয়েন্টারের মাধ্যমে ব্যবহারকারীদের অবজেক্টের সাথে ইন্টার্যাক্ট করার ক্ষমতা
কাজ করে এমন পারফর্ম্যান্স ফিচার
Android XR-এ পারফর্ম্যান্স-সম্পর্কিত নিম্নলিখিত ফিচার কাজ করে।
- আই-ট্র্যাক করা ফোভিয়াশন
- অ্যাপকে শুধুমাত্র চোখের ফোকাল পয়েন্টে আরও বেশি রেজোলিউশনের কন্টেন্ট রেন্ডার করার অনুমতি দেয়।
- স্পেস ওয়ার্প
- টুইন ফ্রেম তৈরি করতে ভেলোসিটি ভেক্টর ও ডেপথ টেক্সচার সংক্রান্ত তথ্য ব্যবহার করে যা ফ্রেম রেটকে কার্যকরভাবে বুস্ট করে, যাতে আপনার ব্যবহারকারীরা আপনার অভিজ্ঞতাতে মগ্ন থাকতে পারেন
- ফ্রেম সিন্থেসিস
- ইন্টারমিডিয়েট ফ্রেম সিন্থেসাইজ করতে, অ্যাপ্লিকেশন-প্রদত্ত মোশন ভেক্টর ও ফ্রেম ডেটা ব্যবহার করে, ভিজ্যুয়াল স্মুথনেস ও ফ্রেম রেট উন্নত করে।
- পারফর্ম্যান্স মেট্রিক
- বর্তমান XR ডিভাইস, কম্পোজিটর ও XR অ্যাপের রানটাইমে Android XR পারফর্ম্যান্স মেট্রিক প্রদান করে। এর মধ্যে CPU ফ্রেমটাইম, GPU ফ্রেমটাইম, GPU ব্যবহার, CPU ফ্রিকোয়েন্সি, ফ্রেম প্রতি সেকেন্ড এবং আরও অনেক কিছু অন্তর্ভুক্ত।
কাজ করে এমন ফিচার ও এক্সটেনশনের সম্পূর্ণ তালিকা দেখতে OpenXR ফিচারের ওভারভিউ দেখুন।
যেসব ইঞ্জিনে কাজ করে
Android XR-এর সাথে OpenXR ডেভেলপমেন্টের জন্য নিম্নলিখিত ইঞ্জিনগুলি কাজ করে।
Unity
Android XR-এর Unity সাপোর্ট, OpenXR-এর উপরে তৈরি করা হয়েছে, যা ডেভেলপারদের Unity 6 ব্যবহার করে অভিজ্ঞতা তৈরি করতে দেয়। Unity ওভারভিউ থেকে Unity-র সাহায্যে XR অ্যাপ তৈরি করার ব্যাপারে আরও জানুন।
Unreal Engine
Unreal Engine, OpenXR স্ট্যান্ডার্ডের মাধ্যমে Android XR-কে সাপোর্ট করে, যা আপনাকে Unreal Engine 5-এ স্ট্যান্ডার্ড টুল ও ওয়ার্কফ্লো ব্যবহার করতে দেয়। Unreal Engine ওভারভিউ থেকে Unreal Engine-এর সাহায্যে XR অ্যাপ তৈরি করার ব্যাপারে আরও জানুন।
Godot
Godot তার OpenXR ইন্টিগ্রেশনের মাধ্যমে Android XR-কে সাপোর্ট করে, যা আপনাকে স্ট্যান্ডার্ড Godot ওয়ার্কফ্লো ব্যবহার করে Android-এর জন্য XR অ্যাপ তৈরি এবং এক্সপোর্ট করতে দেয়। Godot ওভারভিউ থেকে Godot-এর মাধ্যমে XR অ্যাপ তৈরি করা সম্পর্কে আরও জানুন।
OpenXR™ এবং OpenXR লোগো হল The Khronos Group Inc.-এর মালিকানাধীন ট্রেডমার্ক এবং এগুলি চীন, ইউরোপীয় ইউনিয়ন, জাপান ও যুক্তরাজ্যে ট্রেডমার্ক হিসেবে রেজিস্টার করা আছে।