Android XR-এর জন্য Unity-র সাহায্যে ডেভেলপ করা

প্রযোজ্য XR ডিভাইস
এই নির্দেশিকা আপনাকে এই ধরনের XR ডিভাইসের জন্য অভিজ্ঞতা তৈরি করতে সাহায্য করে।
XR হেডসেট
তারযুক্ত XR গ্লাস

এই নির্দেশিকা Android XR-এর জন্য Unity-এর মাধ্যমে ডেভেলপ করার ওভারভিউ প্রদান করে। Android XR, Unity থেকে আপনার প্রত্যাশিত পরিচিত টুল ও ফিচারের সাথে কাজ করে, এবং Unity-এর Android XR সাপোর্ট OpenXR-এর উপরে তৈরি করা হয়েছে বলে, OpenXR ওভারভিউ-এ বর্ণিত অনেক ফিচার Unity-তেও কাজ করে।

এইসব বিষয়ে জানতে এই নির্দেশিকা অনুসরণ করুন:

  • Android XR-এর জন্য Unity সহায়তা
    • Unity XR-এর প্রাথমিক তথ্য
    • Android XR-এর জন্য অ্যাপ ডেভেলপ ও প্রকাশ করা
    • Android XR-এর জন্য Unity প্যাকেজ
      • Unity OpenXR: Android XR প্যাকেজ
      • Unity-এর জন্য Android XR এক্সটেনশন
      • ফিচার ও মানানসই হওয়ার ব্যাপারে বিবেচনা
  • ইনপুট ও ইন্টার‍্যাকশন

Android XR-এর জন্য Unity সাপোর্ট

Android XR-এর জন্য Unity অ্যাপ তৈরি করার সময়, আপনি Unity 6-এর লেটেস্ট ভার্সনে মিক্সড রিয়ালিটি টুল ও ক্ষমতার সুবিধা নিতে পারবেন। এর মধ্যে মিক্সড রিয়েলিটি টেমপ্লেট অন্তর্ভুক্ত যা XR ইন্টার‍্যাকশন টুলকিট, AR ফাউন্ডেশন এবং OpenXR প্লাগ-ইন ব্যবহার করে, যাতে আপনি দ্রুত শুরু করতে পারেন। Android XR-এর জন্য Unity-র মাধ্যমে অ্যাপ তৈরি করার সময়, আমরা রেন্ডার পাইপলাইন হিসেবে ইউনিভার্সাল রেন্ডার পাইপলাইন (URP) এবং গ্রাফিক্স API হিসেবে Vulkan ব্যবহার করার সাজেশন দিই। এইসব ফিচার আপনাকে Unity-এর কিছু গ্রাফিক্স ফিচারের সুবিধা নিতে দেয়, যা শুধুমাত্র Vulkan-এর সাথে কাজ করে। এইসব সেটিংস কীভাবে কনফিগার করবেন সেই সম্পর্কে আরও তথ্যের জন্য প্রজেক্ট সেট-আপ গাইড পর্যালোচনা করুন।

Unity XR Basics

আপনি Unity বা XR ডেভেলপমেন্টে নতুন হলে, XR-এর প্রাথমিক ধারণা ও ওয়ার্কফ্লো বুঝতে Unity-র XR ম্যানুয়াল দেখতে পারেন। XR ম্যানুয়ালে এই সংক্রান্ত তথ্য আছে:

Android-এর জন্য অ্যাপ ডেভেলপ ও প্রকাশ করা

Unity, Android-এর জন্য ডেভেলপ, তৈরি ও প্রকাশ করার জন্য বিস্তারিত ডকুমেন্টেশন প্রদান করে, যার মধ্যে Unity-তে Android-এর অনুমতি, Android বিল্ড সেটিংস, Android-এর জন্য আপনার অ্যাপ তৈরি করা এবং Google Play-তে ডেলিভার করার মতো বিষয়গুলি অন্তর্ভুক্ত।

Android XR-এর জন্য Unity প্যাকেজ

Android XR-এর জন্য Unity অ্যাপ তৈরি করার ক্ষেত্রে সহায়তা প্রদান করে এমন দুটি প্যাকেজ রয়েছে। এই দুটি প্যাকেজই হল XR প্রোভাইডার প্লাগ-ইন, যা Unity-র XR প্লাগ-ইন ম্যানেজমেন্ট প্যাকেজ-এর মাধ্যমে চালু করা যেতে পারে। XR প্লাগ-ইন ম্যানেজার, XR প্লাগ-ইনের জন্য লোডিং, ইনিশিয়ালাইজেশন, সেটিংস এবং বিল্ড সাপোর্ট ম্যানেজ করা ও এইসব বিষয়ে সাহায্য করার জন্য প্রোজেক্ট সেটিংস যোগ করে। রানটাইমে OpenXR ফিচার এক্সিকিউট করার জন্য আপনার অ্যাপকে অনুমতি দিতে, প্রজেক্টে প্লাগ-ইন ম্যানেজারের মাধ্যমে এইসব ফিচার চালু থাকতে হবে।

এই ছবিতে একটি উদাহরণ দেখানো হয়েছে যে Unity-এর এডিটরের মাধ্যমে আপনি কোথায় এইসব ফিচার গ্রুপ চালু করতে পারবেন।

ছবি ১. Unity XR প্লাগ-ইন ম্যানেজমেন্ট স্ক্রিনের উদাহরণ।

Unity OpenXR Android XR

Unity OpenXR Android XR প্যাকেজ হল একটি XR প্লাগ-ইন যা Unity-তে Android XR সাপোর্ট যোগ করে। এই XR প্লাগ-ইন Unity-এর জন্য Android XR-এর বেশিরভাগ সহায়তা প্রদান করে এবং এটি AR Foundation প্রোজেক্টের জন্য Android XR ডিভাইস সহায়তা চালু করে। AR Foundation ডেভেলপারদের জন্য ডিজাইন করা হয়েছে যারা AR বা মিক্সড রিয়েলিটি অভিজ্ঞতা তৈরি করতে চান। এটি AR ফিচারের জন্য ইন্টারফেস প্রদান করে, কিন্তু নিজে কোনও ফিচার প্রয়োগ করে না। Unity OpenXR Android XR প্যাকেজ প্রয়োগ করার সুবিধা প্রদান করে। এই প্যাকেজ ব্যবহার করা শুরু করতে প্যাকেজ ম্যানুয়াল দেখুন, এতে শুরু করার নির্দেশিকা রয়েছে।

Unity-এর জন্য Android XR এক্সটেনশন

Android XR Extensions for Unity, Unity OpenXR Android XR প্যাকেজকে পরিপূরক করে এবং এতে ইমারসিভ অভিজ্ঞতা তৈরি করতে আপনাকে সাহায্য করার জন্য অতিরিক্ত ফিচার অন্তর্ভুক্ত থাকে। এটি একা বা Unity OpenXR Android XR প্যাকেজের সাথে একসাথে ব্যবহার করা যেতে পারে।

এই প্যাকেজ ব্যবহার করা শুরু করতে, আমাদের প্রজেক্ট সেট-আপ করার নির্দেশিকা অথবা Unity-র জন্য Android XR এক্সটেনশন ইমপোর্ট করার কুইকস্টার্ট ফলো করুন।

ফিচার ও মানানসই হওয়ার ব্যাপারে বিবেচনা

নিম্নলিখিত সারণীতে Unity OpenXR: Android XR প্যাকেজ এবং Android XR Extensions for Unity প্যাকেজ দ্বারা সমর্থিত ফিচারগুলি বর্ণনা করা হয়েছে এবং আপনার প্রয়োজনীয় ফিচারগুলি কোন প্যাকেজে রয়েছে এবং কোনও সামঞ্জস্যপূর্ণতা বিবেচনা করার জন্য এটি ব্যবহার করা যেতে পারে।

ফিচার

Unity OpenXR: Android XR ফিচার স্ট্রিং

Unity ফিচার স্ট্রিংয়ের জন্য Android XR এক্সটেনশন

ব্যবহারের ক্ষেত্র ও প্রত্যাশিত আচরণ

AR সেশন

Android XR: AR সেশন

  • ফিচার সেটিংসে অপ্টিমাইজ বাফার ডিসকার্ড (Vulkan) অন্তর্ভুক্ত আছে

Android XR (এক্সটেনশন): সেশন ম্যানেজমেন্ট

  • ফিচার সেটিংসের মধ্যে সাবস্যাম্পলিং (Vulkan) এবং URP SpaceWarp (Vulkan) অন্তর্ভুক্ত

যেকোনও প্যাকেজের ফিচার ব্যবহার করতে, আপনাকে সেই প্যাকেজের জন্য AR সেশন ফিচার চালু করতে হবে। আপনি একই সাথে দুটি ফিচার সেট চালু করতে পারবেন; স্বতন্ত্র ফিচারগুলি সেই অনুযায়ী দ্বন্দ্বগুলি সমাধান করবে।

ডিভাইস ট্র্যাকিং

N/A

N/A

ডিভাইস ট্র্যাকিংয়ের মাধ্যমে ফিজিক্যাল স্পেসে ডিভাইসের পজিশন ও রোটেশন ট্র্যাক করা হয়। XR Origin GameObject অটোমেটিক ডিভাইস ট্র্যাকিং এবং ট্র্যাক করা যায় এমন আইটেমকে Unity-এর কোঅর্ডিনেট সিস্টেমে ট্রান্সফর্ম করার কাজটি করে। এটি করার জন্য এটি XROrigin কম্পোনেন্ট এবং ক্যামেরা ও TrackedPoseDriver সহ GameObject হায়ারার্কি ব্যবহার করে।

ক্যামেরা

Android XR: AR ক্যামেরা

N/A

এই ফিচার লাইট এস্টিমেশন ও ফুল স্ক্রিন পাসথ্রু-এর জন্য সহায়তা প্রদান করে।

প্লেন শনাক্তকরণ

Android XR: AR প্লেন

N/A

এই ফিচারটি বাস্তব পরিবেশে সমতল পৃষ্ঠ শনাক্ত ও ট্র্যাক করার জন্য সহায়তা প্রদান করে।

অবজেক্ট ট্র্যাকিং

N/A

Android XR (এক্সটেনশন): অবজেক্ট ট্র্যাকিং

এই ফিচার বাস্তব পরিবেশে অবজেক্ট শনাক্ত ও ট্র্যাক করার জন্য সহায়তা প্রদান করে, যা রেফারেন্স অবজেক্ট লাইব্রেরির সাথে একসাথে ব্যবহার করা হয়।

ফেস ট্র্যাকিং

Android XR: AR Face

  • শুধুমাত্র XR_ANDROID_eye_tracking
  • ফেস ট্র্যাকিং বন্ধ আছে

Android XR: ফেস ট্র্যাকিং

  • XR_ANDROID_face_tracking

Android XR: AR Face ফিচারের মাধ্যমে অবতারের চোখ সংক্রান্ত সহায়তা প্রদান করা হয়। Android XR: ফেস ট্র্যাকিং ফিচারের মাধ্যমে ব্যবহারকারীর মুখের অভিব্যক্তি অ্যাক্সেস করুন। এই দুটি ফিচার একসাথে ব্যবহার করা যাবে।

রে কাস্ট

Android XR: AR Raycast

  • প্লেন অ্যাঙ্কর
  • ডেপথ অ্যাঙ্কর

N/A

এই ফিচার আপনাকে একটি রে কাস্ট করতে এবং সেই রে এবং প্লেন ট্র্যাকযোগ্য বা গভীরতা ট্র্যাকযোগ্যগুলির মধ্যে ছেদ গণনা করতে দেয় যা ভৌত পরিবেশে শনাক্ত করা হয়।

অ্যাঙ্কর

Android XR: AR Anchor

N/A

AR অ্যাঙ্কর AR ফাউন্ডেশনের মাধ্যমে স্পেশিয়াল, প্লেন ও পারসিস্টেন্ট অ্যাঙ্কর সাপোর্ট করে।

অক্লুশন

Android XR: AR Occlusion

  • এনভায়রনমেন্ট ডেপথ

N/A

অক্লুশন আপনার অ্যাপে মিক্সড রিয়ালিটি কন্টেন্টকে বাস্তব পরিবেশের অবজেক্টের পিছনে লুকানো বা আংশিকভাবে অস্পষ্ট দেখাতে দেয়।

পারফর্ম্যান্স মেট্রিক

Android XR পারফর্ম্যান্স মেট্রিক্স

N/A

Android XR ডিভাইসের জন্য পারফর্ম্যান্স মেট্রিক্স অ্যাক্সেস করতে এই ফিচার ব্যবহার করুন।

কম্পোজিশন লেয়ার

কম্পোজিশন লেয়ার সাপোর্ট (OpenXR প্লাগ-ইন এবং XR কম্পোজিশন লেয়ার প্রয়োজন)

Android XR: পাসথ্রু কম্পোজিশন লেয়ার

  • XR_ANDROID_composition_layer_passthrough_mesh

Unity-র কম্পোজিশন লেয়ার সাপোর্ট ব্যবহার করে প্রাথমিক কম্পোজিশন লেয়ার (যেমন, কোয়াড, সিলিন্ডার, প্রোজেকশন) তৈরি করা। Android XR: Unity-র GameObject থেকে রিড করে, কাস্টম মেশ সহ পাসথ্রু লেয়ার তৈরি করতে পাসথ্রু কম্পোজিশন লেয়ার ব্যবহার করা যেতে পারে।

ফোভেটেড রেন্ডারিং

ফোভেটেড রেন্ডারিং (OpenXR প্লাগ-ইন প্রয়োজন)

  • আই-ট্র্যাক করা ফোভেটেড রেন্ডারিং সাপোর্ট করে: ব্যবহারকারী যেখানে দেখছেন সেখানে উচ্চ রেজোলিউশন এলাকাটি কেন্দ্র করে, যা ব্যবহারকারীর কাছে কম স্পষ্ট করে তোলে

ফোভিয়াশন (লিগ্যাসি)

ফোভেটেড রেন্ডারিং ব্যবহারকারীর পেরিফেরাল ভিশনে থাকা এলাকার রেজোলিউশন কমিয়ে রেন্ডারিংয়ের গতি বাড়াতে সাহায্য করে। Unity-এর ফোভেটেড রেন্ডারিং ফিচার শুধুমাত্র URP এবং Vulkan ব্যবহার করা অ্যাপের জন্য কাজ করে। Unity-র জন্য Android XR এক্সটেনশনে ফোভিয়াশন (পুরনো) ফিচারটি বিল্ট-ইন রেন্ডার পাইপলাইন এবং OpenGL ES-কেও সাপোর্ট করে। আমরা সাজেস্ট করি যে সম্ভব হলে Unity-এর ফোভেটেড রেন্ডারিং ফিচার ব্যবহার করুন এবং মনে রাখবেন যে Android XR-এর জন্য তৈরি করার সময় URP এবং Vulkan উভয়ই সাজেস্ট করা হয়।

আনবাউন্ডেড রেফারেন্স স্পেস

N/A

Android XR: আনবাউন্ডেড রেফারেন্স স্পেস

এই ফিচার XRInputSubsystem ট্র্যাকিং অরিজিন মোডকে Unbounded হিসেবে সেট করে। আনবাউন্ডেড থেকে বোঝা যায় যে XRInputSubsystem, ওয়ার্ল্ড অ্যাঙ্করের সাথে সম্পর্কিত সব InputDevice ট্র্যাক করে, যা পরিবর্তন হতে পারে।

এনভায়রনমেন্ট ব্লেন্ড মোড

N/A

এনভায়রনমেন্ট ব্লেন্ড মোড

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

Geospatial (VPS)

N/A

Android XR: Geospatial

XRGeospatialManager-কে ভিজ্যুয়াল পজিশনিং সিস্টেম (VPS) ক্ষমতা অ্যাক্সেস করতে, লোকেশনের উপলভ্যতা চেক করতে, জিওস্পেশিয়াল পোজ গণনা করতে এবং সারফেস ও জিওস্পেশিয়াল অ্যাঙ্করের জন্য প্লেন ট্র্যাকিং কনফিগার করতে দেয়।

Google Cloud Auth

N/A

Android XR: Google Cloud

ক্লাউড-ব্যাকড পরিষেবার জন্য সেশন যাচাইকরণ কনফিগারেশন স্ট্র্যাটেজি (API Key, Keyless এবং যাচাইকরণ টোকেন) প্রদান করে।

মাল্টিমোডাল ফেস

N/A

Android XR (এক্সটেনশন): মাল্টিমোডাল ফেস

কনফিগার করা যায় এমন মাল্টিমোডাল ফেস-ট্র্যাকিং মোডালিটি (XRFaceTrackerMode) সহ Unity ARFace-এর কার্যকারিতা বাড়ায়।

ব্যাটারির স্ট্যাটাস ডিসপ্লে

N/A

ব্যাটারির স্ট্যাটাস ডিসপ্লে

XRBatteryStateDisplayFeature ব্যবহার করে কানেক্ট করা কন্ট্রোলার ও ইনপুট পাথের রানটাইম ব্যাটারি স্ট্যাটাস ও চার্জ লেভেল কোয়েরি করার অনুমতি দেয়।

গ্লোবাল পাসথ্রু ডিমিং

Android XR: AR ক্যামেরা

N/A

Unity-র ARCameraFeature ব্যবহার করে বাস্তব জগতের পাসথ্রু ডিমিং লেভেল কোয়েরি ও সেট করার সুবিধা দেয়।

সিস্টেম প্রপার্টি এনিউমারেশন

N/A

Android XR: সিস্টেম প্রপার্টি

XR_ANDROID_enumerate_system_extension_properties ব্যবহার করে রানটাইম এক্সটেনশন প্রপার্টি ও ডিভাইসের ক্ষমতা গণনা করে।

সাজেস্ট করা সেটিংস

N/A

Android XR: সাজেস্ট করা সেটিংস

XRRecommendedSettingsFeature.TryGetRecommendedSettings ব্যবহার করে রানটাইম এনভায়রনমেন্টের প্রি-লঞ্চ স্টেট (এনভায়রনমেন্ট ব্লেন্ড মোড, পাসথ্রু অস্বচ্ছতা ও অ্যাক্টিভ ইনপুট মোডালিটি সহ) কোয়েরি করার অনুমতি দেয়।

বাউন্ডিং বক্স ডিটেকশন

Android XR: AR বাউন্ডিং বক্স

Spatial Entities (Extensions): Bounding Box

OpenXR স্পেশিয়াল এন্টিটি ফ্রেমওয়ার্ক (SpatialBoundingBoxSubsystem) ব্যবহার করে বাস্তব পরিবেশে ত্রিমাত্রিক অবজেক্টের জন্য বাউন্ডিং বক্স শনাক্তকরণ সংক্রান্ত সহায়তা প্রদান করে।

শেয়ার করা যায় এমন অ্যাঙ্কর

N/A

স্পেশিয়াল এন্টিটি (এক্সটেনশন): শেয়ার করা যায় এমন অ্যাঙ্কর

ARShareableAnchorManager ও XRShareableAnchorSubsystem ব্যবহার করে অ্যাঙ্কর সংক্রান্ত ক্ষমতা বাড়ায়, যার মধ্যে Android XR: জিওস্পেশিয়াল-এর সাথে ব্যবহার করার সময় জিওস্পেশিয়াল অ্যাঙ্কর (TryAttachGeospatialAnchor) ও সারফেস অ্যাঙ্কর (TryAttachSurfaceAnchorAsync) অ্যাটাচ করার সুবিধা অন্তর্ভুক্ত।

স্পেশিয়াল কন্টেনার

N/A

স্পেশিয়াল কন্টেনার

ফুল স্পেস মোডে সিস্টেম-ম্যানেজ করা 3D ভলিউমেট্রিক কন্টেনারে অ্যাপ্লিকেশন কন্টেন্ট রেন্ডার করার অনুমতি দেয়, সাথে XRSpatialContainerFeature-এ API ও কলব্যাক ইভেন্ট থাকে যা কন্টেনারের স্ট্যাটাস, বাউন্ড ও দৃশ্যমানতা কোয়েরি ও অনুরোধ করে।

ইনপুট ও ইন্টার‍্যাকশন

Android XR-এ মাল্টি-মোডাল ন্যাচুরাল ইনপুট কাজ করে।

হ্যান্ড ও আই ট্র্যাকিং ছাড়াও, 6DoF কন্ট্রোলার, মাউস ও ফিজিক্যাল কীবোর্ডের মতো পেরিফেরালও কাজ করে। এর অর্থ হল, Android XR-এর জন্য তৈরি অ্যাপে হ্যান্ড ইন্টার‍্যাকশন কাজ করবে বলে আশা করা হয় এবং সব ডিভাইসে কন্ট্রোলার থাকবে বলে ধরে নেওয়া যায় না।

ইন্টার‍্যাকশন প্রোফাইল

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

  1. প্রোজেক্ট সেটিংস উইন্ডো খুলুন (মেনু: এডিট করুন > প্রোজেক্ট সেটিংস)।
  2. প্লাগ-ইন বিভাগ বড় করতে XR প্লাগ-ইন ম্যানেজমেন্ট বিকল্পে ক্লিক করুন (প্রয়োজন হলে)।
  3. XR প্লাগ-ইনের তালিকা থেকে OpenXR বেছে নিন।
  4. ইন্টার‍্যাকশন প্রোফাইল বিভাগে, প্রোফাইল যোগ করতে + বোতামটি বেছে নিন।
  5. তালিকা থেকে যোগ করার জন্য প্রোফাইল বেছে নিন।

হাতের মাধ্যমে ইন্টার‍্যাকশন

OpenXR প্লাগ-ইন-এর মাধ্যমে হ্যান্ড ইন্টার‍্যাকশন (XR_EXT_hand_interaction) প্রদান করা হয় এবং আপনি হ্যান্ড ইন্টার‍্যাকশন প্রোফাইল চালু করে Unity ইনপুট সিস্টেমে <HandInteraction> ডিভাইস লেআউট দেখাতে পারবেন। OpenXR দ্বারা সংজ্ঞায়িত চারটি অ্যাকশন পোজ দ্বারা সমর্থিত হ্যান্ড ইনপুটের জন্য এই ইন্টার‍্যাকশন প্রোফাইল ব্যবহার করুন: "চিমটি কাটা", "খোঁচা দেওয়া", "লক্ষ্য করা" এবং "ধরা"। আপনার যদি অতিরিক্ত হ্যান্ড ইন্টার‍্যাকশন বা হ্যান্ড ট্র্যাকিং ফাংশনালিটির প্রয়োজন হয়, তাহলে এই পৃষ্ঠায় XR Hands দেখুন।

Eye Gaze ইন্টার‍্যাকশন

আই গেজ ইন্টার‍্যাকশন (XR_EXT_eye_gaze_interaction) OpenXR প্লাগ-ইন প্রদান করে এবং এক্সটেনশন যে আই পোজ ডেটা (পজিশন ও রোটেশন) রিটার্ন করে তা ফিরিয়ে আনতে আপনি এই লেআউট ব্যবহার করতে পারবেন। OpenXR ইনপুট গাইডে আই গেজ ইন্টার‍্যাকশন সম্পর্কে আরও পড়ুন।

কন্ট্রোলার ইন্টার‍্যাকশন

Android XR-এ 6DoF কন্ট্রোলারের জন্য Oculus Touch Controller Profile কাজ করে। এই দুটি প্রোফাইলই OpenXR প্লাগ-ইন প্রদান করে।

মাউস ইন্টার‌্যাকশন

Android XR Mouse Interaction Profile (XR_ANDROID_mouse_interaction) Unity-র জন্য Android XR এক্সটেনশন প্রদান করে। এটি Unity ইনপুট সিস্টেমে <AndroidXRMouse> ডিভাইস লেআউট দেখায়।

পাম পোজ ইন্টার‍্যাকশন

OpenXR প্লাগ-ইন পাম পোজ ইন্টার‍্যাকশন (XR_EXT_palm_pose)-এর জন্য সহায়তা প্রদান করে, যা Unity ইনপুট সিস্টেম-এর মধ্যে <PalmPose> লেআউট দেখায়। পাম পোজ এক্সটেনশন বা প্যাকেজের বিকল্প হিসেবে ব্যবহার করার জন্য নয়, যা আরও জটিল ব্যবহারের ক্ষেত্রে হ্যান্ড ট্র্যাকিং পারফর্ম করে; পরিবর্তে এটি অবতার ভিজ্যুয়ালের মতো অ্যাপ-নির্দিষ্ট ভিজ্যুয়াল কন্টেন্ট প্লেস করতে ব্যবহার করা যেতে পারে। তালুর পোজের মধ্যে তালুর পজিশন ও ওরিয়েন্টেশন, দুটিই অন্তর্ভুক্ত।

XR হ্যান্ডস

XR Hands প্যাকেজ আপনাকে হ্যান্ড ট্র্যাকিং ডেটা অ্যাক্সেস করতে দেয়— XR_EXT_hand_tracking এবং XR_FB_hand_tracking_aim ব্যবহার করে—এবং হ্যান্ড ট্র্যাকিং থেকে ইনপুট পোজ-এ হ্যান্ড জয়েন্ট ডেটা কনভার্ট করার জন্য একটি র‍্যাপার প্রদান করে। XR হ্যান্ডস প্যাকেজের মাধ্যমে প্রদান করা ফিচার ব্যবহার করতে, হ্যান্ড ট্র্যাকিং সাবসিস্টেম এবং মেটা হ্যান্ড ট্র্যাকিং এইম OpenXR ফিচার চালু করুন।

হ্যান্ড ট্র্যাকিং কীভাবে চালু করতে হয় তা দেখানোর উদাহরণ আপনার যদি আরও গ্র্যানুলার হ্যান্ড পোজ বা হ্যান্ড জয়েন্ট ডেটার প্রয়োজন হয় অথবা কাস্টম জেসচার নিয়ে কাজ করতে হয়, তাহলে XR হ্যান্ডস প্যাকেজটি কাজে লাগতে পারে।

আরও বিবরণের জন্য, Unity-এর আপনার প্রোজেক্টে XR হ্যান্ড সেট-আপ করার জন্য ডকুমেন্টেশন দেখুন

ফেস ট্র্যাকিং কনফিডেন্স রিজিয়ন

XR_ANDROID_face_tracking এক্সটেনশন মুখের তিনটি অংশের জন্য কনফিডেন্স ভ্যালু প্রদান করে: উপরের বাঁদিক, উপরের ডানদিক এবং মুখের নিচের অংশ। এই ভ্যালুগুলি ০ (কোনও কনফিডেন্স নেই) থেকে ১ (সর্বাধিক কনফিডেন্স) পর্যন্ত রেঞ্জে থাকে এবং প্রতিটি অঞ্চলের জন্য ফেস ট্র্যাকিংয়ের নির্ভুলতা নির্দেশ করে।

আপনি এই কনফিডেন্স ভ্যালু ব্যবহার করে ধীরে ধীরে ব্লেন্ডশেপ বন্ধ করতে পারেন অথবা সংশ্লিষ্ট মুখের অংশে ভিজ্যুয়াল ফিল্টার (যেমন, ব্লার করা) প্রয়োগ করতে পারেন। একটি বেসিকের জন্য সংশ্লিষ্ট ফেস অঞ্চলে ব্লেন্ডশেপ ডিঅ্যাক্টিভেট করুন।

"মুখের নিচের অংশ" বলতে চোখের নিচে থাকা সবকিছু বোঝায়, যার মধ্যে মুখ, থুতনি, গাল ও নাক অন্তর্ভুক্ত। উপরের দুটি অংশে মুখের বাঁ ও ডানদিকের চোখ ও ভ্রূয়ের অঞ্চল অন্তর্ভুক্ত।

নিম্নলিখিত C# কোড স্নিপেট থেকে বোঝা যায় যে কীভাবে Unity স্ক্রিপ্টে কনফিডেন্স ডেটা অ্যাক্সেস ও ব্যবহার করতে হয়:

using UnityEngine;
using Google.XR.Extensions;

public class FaceTrackingConfidence : MonoBehaviour
{
    void Update()
    {
      if (!XRFaceTrackingFeature.IsFaceTrackingExtensionEnabled.HasValue)
      {
        DebugTextTopCenter.text = "XrInstance hasn't been initialized.";
        return;
      }
      else if (!XRFaceTrackingFeature.IsFaceTrackingExtensionEnabled.Value)
      {
        DebugTextTopCenter.text = "XR_ANDROID_face_tracking is not enabled.";
        return;
      }

      for (int x = 0; x < _faceManager.Face.ConfidenceRegions.Length; x++)
      {
        switch (x)
        {
          case (int)XRFaceConfidenceRegion.Lower:
            regionText = "Bottom";
            break;
          case (int)XRFaceConfidenceRegion.LeftUpper:
            regionText = DebugTextConfidenceLeft;
            break;
          case (int)XRFaceConfidenceRegion.RightUpper:
            regionText = DebugTextConfidenceRight;
            break;
        }
    }
}

আরও তথ্যের জন্য, Unity ডকুমেন্টেশনের জন্য Android XR এক্সটেনশন দেখুন।

হাত রেন্ডার করার পদ্ধতি বেছে নিন

Android XR-এ হাত রেন্ডার করার দুটি উপায় আছে: হ্যান্ড মেশ ও প্রিফ্যাব ভিজ্যুয়ালাইজার।

হ্যান্ড মেশ

Android XR Unity প্যাকেজে হ্যান্ড মেশ ফিচার আছে যা XR_ANDROID_hand_mesh extension-এ অ্যাক্সেস প্রদান করে। Hand Mesh ফিচার ব্যবহারকারীর হাতের জন্য মেশ প্রদান করে। হ্যান্ড মেশে ত্রিভুজের ভার্টিসেস থাকে যা হাতের জ্যামিতি দেখায়। এই ফিচারটি ব্যবহারকারীর হাতের আসল জ্যামিতি দেখানোর জন্য একটি পছন্দমতো মেশ প্রদান করার উদ্দেশ্যে ব্যবহার করা হয়।

XR Hands প্রিফ্যাব

XR Hands প্যাকেজে Hands visualizer নামে একটি স্যাম্পেল আছে, যাতে ব্যবহারকারীর হাতের প্রসঙ্গ-উপযুক্ত উপস্থাপনা রেন্ডার করার জন্য সম্পূর্ণ রিগ করা বাম ও ডান হাত আছে।

সিস্টেম জেসচার

Android XR-এ একটি সিস্টেম জেসচার অন্তর্ভুক্ত থাকে যার মাধ্যমে ব্যবহারকারীরা ফিরে যেতে, লঞ্চার খুলতে বা চালু থাকা অ্যাপের ওভারভিউ পেতে মেনু খুলতে পারেন। ব্যবহারকারী তার প্রধান হাত দিয়ে চিমটি কেটে এই সিস্টেম মেনু অ্যাক্টিভেট করতে পারবেন।

ব্যবহারকারী সিস্টেম নেভিগেশন মেনুর সাথে ইন্টার‍্যাক্ট করার সময়, অ্যাপ্লিকেশনটি শুধুমাত্র হেড ট্র্যাকিং ইভেন্টে প্রতিক্রিয়া জানাবে। XR Hands প্যাকেজ শনাক্ত করতে পারে যে ব্যবহারকারী কখন নির্দিষ্ট অ্যাকশন পারফর্ম করেন, যেমন এই সিস্টেম নেভিগেশন মেনুর সাথে ইন্টার‍্যাক্ট করা। AimFlags, SystemGesture ও DominantHand-এর জন্য চেক করলে, এই সিস্টেম অ্যাকশন কখন করা হয়েছে তা আপনি জানতে পারবেন। AimFlags সম্পর্কে আরও তথ্যের জন্য, Unity-এর Enum MetaAimFlags ডকুমেন্টেশন দেখুন।

XR Interaction Toolkit

XR Interaction Toolkit প্যাকেজ হল VR ও AR অভিজ্ঞতা তৈরি করার জন্য একটি উচ্চ-স্তরের, কম্পোনেন্ট-ভিত্তিক, ইন্টার‍্যাকশন সিস্টেম। এটি এমন একটি ফ্রেমওয়ার্ক প্রদান করে যা Unity ইনপুট ইভেন্ট থেকে 3D এবং UI ইন্টার‍্যাকশন উপলভ্য করে। এটি হ্যাপটিক ফিডব্যাক, ভিজ্যুয়াল ফিডব্যাক ও লোকোমোশন সহ ইন্টার‍্যাকশন টাস্ক সাপোর্ট করে।


OpenXR™ এবং OpenXR লোগো হল The Khronos Group Inc.-এর মালিকানাধীন ট্রেডমার্ক এবং এগুলি চীন, ইউরোপীয় ইউনিয়ন, জাপান ও যুক্তরাজ্যে ট্রেডমার্ক হিসেবে রেজিস্টার করা আছে।