একটি বিদ্যমান Godot XR প্রকল্পে Android XR-এর জন্য সমর্থন যোগ করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
প্রযোজ্য এক্সআর ডিভাইস
এই নির্দেশিকা আপনাকে এই ধরনের এক্সআর ডিভাইসগুলির জন্য অভিজ্ঞতা তৈরি করতে সাহায্য করে।
Godot-এ আপনার যদি আগে থেকেই কোনো XR প্রজেক্ট থাকে, তাহলে নতুন করে আলাদা কোনো প্রজেক্ট শুরু না করেই আপনি Android XR-এর জন্য সাপোর্ট যোগ করতে পারেন। কিছু ধাপ সব প্রজেক্টের জন্যই আবশ্যক, আবার কিছু ধাপ আপনার প্রজেক্টে ব্যবহৃত XR ফিচারগুলোর ওপর নির্ভর করে ঐচ্ছিক। এই ধাপগুলো জুড়ে, আমরা একাধিক ওপেন-সোর্স Godot XR প্রজেক্টের লিঙ্ক দিয়েছি যেগুলো Android XR-এর জন্য সাপোর্ট যোগ করেছে। এর সাথে প্রাসঙ্গিক পুল রিকোয়েস্টগুলোও দেওয়া হয়েছে, যা নির্দিষ্ট ফিচারগুলো চালু করার জন্য প্রয়োজনীয় পরিবর্তনগুলো প্রদর্শন করে।
সকল প্রকল্পের জন্য প্রয়োজনীয় পদক্ষেপ
আপনার প্রজেক্ট যে ধরনের এক্সআর (XR) ফিচারই সাপোর্ট করুক না কেন, নিম্নলিখিত টপিকগুলোর ধাপগুলো সম্পূর্ণ করুন। এরপর, আপনার প্রজেক্টে অতিরিক্ত কাজের প্রয়োজন আছে কিনা তা নির্ধারণ করতে ঐচ্ছিক ধাপগুলোর তালিকায় বর্ণিত ফিচারগুলো পর্যালোচনা করুন।
Godot এবং Godot OpenXR ভেন্ডরস প্লাগইন আপডেট করুন
উদাহরণ থেকে শিখুন
বাস্তব উদাহরণের মাধ্যমে শিখতে পুল রিকোয়েস্টটি দেখুন।
arrow_forward
আপনার প্রজেক্টকে সর্বশেষ প্রয়োজনীয় ভার্সনে আপডেট করতে এবং Android XR-এর জন্য এর সেটিংস কনফিগার করতে এই ধাপগুলো অনুসরণ করুন:
আপনার Godot সংস্করণটি 4.6.2 বা উচ্চতর সংস্করণে আপডেট করুন। আপনার প্রকল্পের জন্য অতিরিক্ত সাহায্যের প্রয়োজন হলে, নতুন সংস্করণে স্থানান্তরের বিষয়ে ডকুমেন্টেশন দেখুন।
Android XR-এর জন্য আপনার প্রোজেক্টের সেটিংস কনফিগার করুন:
Android XR-এর জন্য একটি এক্সপোর্ট প্রিসেট যোগ করুন।
Gradle Build ব্যবহার সক্ষম করুন।
XR Features সেকশনে, XR Mode- এর জন্য OpenXR সিলেক্ট করুন এবং Enable AndroidXR Plugin সিলেক্ট করুন।
হ্যান্ড ট্র্যাকিংয়ের জন্য সমর্থন যোগ করুন
উদাহরণ থেকে শিখুন
বাস্তব উদাহরণের মাধ্যমে শিখতে পুল রিকোয়েস্টটি দেখুন।
arrow_forward
যদিও কন্ট্রোলার উপলব্ধ থাকতে পারে, অ্যান্ড্রয়েড এক্সআর হেডসেট এবং এক্সআর গ্লাসের প্রধান ইনপুট পদ্ধতি হলো হ্যান্ড ট্র্যাকিং। সম্ভব হলে, আপনার গোডোট প্রজেক্টে হ্যান্ড ট্র্যাকিং সাপোর্ট যোগ করা উচিত।
হ্যান্ড ট্র্যাকিংয়ের জন্য সমর্থন যোগ করুন: প্রজেক্ট সেটিংস কনফিগার করুন
প্রথমে, হ্যান্ড ট্র্যাকিং এবং এর সাথে সম্পর্কিত OpenXR এক্সটেনশনগুলো সক্রিয় করতে আপনার প্রোজেক্ট সেটিংস সেট আপ করার জন্য এই ধাপগুলো অনুসরণ করুন।
আপনার প্রোজেক্টের সেটিংস খুলুন এবং General > XR > OpenXR -এ যান।
এক্সটেনশন বিভাগে, হ্যান্ড ট্র্যাকিং এবং হ্যান্ড ইন্টারঅ্যাকশন প্রোফাইল নির্বাচন করুন।
এক্সটেনশন সেকশনের মধ্যে মেটা সাবসেকশনটি খুঁজুন এবং হ্যান্ড ট্র্যাকিং মেশ ও হ্যান্ড ট্র্যাকিং এইম নির্বাচন করুন।
হ্যান্ড ট্র্যাকিংয়ের জন্য সমর্থন যোগ করুন: কন্ট্রোলার নোড যোগ ও কনফিগার করুন
হ্যান্ড ট্র্যাকিংয়ের জন্য বিদ্যমান XRController3D নোডগুলিকে ডায়নামিকভাবে পরিবর্তন করার পরিবর্তে, হ্যান্ড মডেলগুলি ট্র্যাক ও প্রদর্শন করার জন্য এবং সেইসাথে হ্যান্ড ট্র্যাকিং এইম এক্সটেনশন থেকে ইনপুট পরিচালনা করার জন্য কন্ট্রোলার নোড যুক্ত করুন:
আপনার XROrigin3D নোডে আরও তিনটি XRController3D নোড যোগ করুন।
একটির নাম 'HandTrackingLeft' দিন, এবং ট্র্যাকার প্রপার্টিটি /user/hand_tracker/left এ সেট করুন।
অন্য একটি 'HandTrackingRight' নাম দিন, এবং ট্র্যাকার প্রপার্টিটি /user/hand_tracker/right এ সেট করুন।
শেষেরটির নাম 'HandTrackingAimLeft' দিন, এবং ট্র্যাকার প্রপার্টিটি /user/fbhandaim/left এ সেট করুন।
যদি আপনার প্রোজেক্টের মূল XRController3D নোডগুলোর নাম 'XRController3D_left' এবং 'XRController3D_right' হতো, তাহলে আপনার সিনটি দেখতে অনেকটা এইরকম হতো:
HandTrackingLeft এবং HandTrackingRight- এর tracking_changedসিগন্যালটিকে সেইসব স্বতন্ত্র ফাংশনের সাথে সংযুক্ত করুন , যেগুলো সংশ্লিষ্ট কন্ট্রোলার ট্র্যাকারগুলোর (পূর্ববর্তী উদাহরণে XRController3D_left এবং XRController3D_right ) ভিজিবিলিটি আপডেট করে।
উদাহরণস্বরূপ, HandTrackingLeft- এর সিগন্যালের সাথে সংযুক্ত ফাংশনটি দেখতে এইরকম হতে পারে:
হ্যান্ড ট্র্যাকিং কন্ট্রোলার নোডগুলিতে ‘ Show When Tracked ’ প্রপার্টিটি সক্রিয় করুন।
এখন আপনার প্রজেক্টটি, ব্যবহারকারী হ্যান্ড ট্র্যাকিং নাকি কন্ট্রোলার ব্যবহার করছেন তার উপর নির্ভর করে, কন্ট্রোলার মডেল এবং হ্যান্ড ট্র্যাকিং মডেলের মধ্যে দৃশ্যত অদলবদল করতে পারবে।
আপনার হ্যান্ড ট্র্যাকিং কন্ট্রোলার নোডগুলোর চাইল্ড হিসেবে কিছু OpenXRFbHandTrackingMesh নোড যোগ করুন।
মডেলগুলিতে রিয়েল টাইম হ্যান্ড ট্র্যাকিং ডেটা প্রয়োগ করতে, এই OpenXRFbHandTrackingMesh নোডগুলির চাইল্ড হিসেবে XRHandModifier3D নোডগুলি যোগ করুন এবং নিশ্চিত করুন যে সঠিক Hand Tracker প্রপার্টি সেট করা আছে।
হ্যান্ড ট্র্যাকিংয়ের জন্য সমর্থন যোগ করুন: OpenXR অ্যাকশন ম্যাপে একটি হ্যান্ড ইন্টারঅ্যাকশন প্রোফাইল সেট আপ করুন।
হ্যান্ড ট্র্যাকিং সমর্থন যোগ করুন: Android XR-এর জন্য একটি মেনু জেসচার সেট আপ করুন।
সবশেষে, আপনি অ্যান্ড্রয়েড এক্সআর (Android XR)-এর জন্য একটি মেনু জেসচার প্রয়োগ করতে পারেন। এটি প্লেয়ারের বাম হাত মেনু জেসচারটি সম্পাদন করার জন্য সঠিক অবস্থানে থাকলে একটি আইকন দেখায়, এবং ব্যবহারকারী জেসচারটি সম্পাদন করলে মেনুটি প্রদর্শন বা লুকায়। এটি পরিচালনা করার জন্য আপনি পূর্বে যোগ করাHandTrackingAimLeft নোডটি ব্যবহার করবেন।
বাম দিকের ট্র্যাকিং নোডে একটি বিলবোর্ডযুক্ত কোয়াড যোগ করুন, যা আপনার নির্বাচিত একটি আইকন প্রদর্শন করবে (পূর্বে যোগ করা কন্ট্রোলার নোডগুলো থেকে নিচের ছবিতে MenuIcon নোডটি দেখুন)।
HandTrackingAimLeft- এর button_pressed এবং button_released সিগন্যালগুলোকে এই ধরনের ফাংশনের সাথে সংযুক্ত করুন:
আপনার প্রোজেক্টের জন্য প্রয়োজনীয় ধাপগুলো সম্পন্ন করার পর, আপনার অ্যাপের চাহিদা ও সক্ষমতার ওপর নির্ভর করে আপনি সিদ্ধান্ত নেবেন যে নির্দিষ্ট কিছু ফিচারের জন্য অতিরিক্ত কাজ করার প্রয়োজন আছে কি না। এই ঐচ্ছিক ফিচারগুলোর প্রত্যেকটি সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত বিভাগগুলো দেখুন।
পিঞ্চগুলোকে বাটন প্রেস হিসেবে রেজিস্টার করুন
অ্যান্ড্রয়েড এক্সআর-এ, আইটেম নির্বাচন করা, স্ক্রোল করা, উইন্ডো সরানো বা আকার পরিবর্তন করা, এবং ২ডি ও ৩ডি স্পেসে ইউআই এলিমেন্ট বা অবজেক্ট সরানোর মতো অনেক মৌলিক সিস্টেম অ্যাকশনের জন্য পিঞ্চিং ব্যবহার করা হয় । এই প্যাটার্নগুলোর সাথে সামঞ্জস্য রাখতে এবং একটি সামঞ্জস্যপূর্ণ ইউজার এক্সপেরিয়েন্স নিশ্চিত করতে, হ্যান্ড ট্র্যাকিং ব্যবহার করার সময় আপনার অ্যাপের উচিত কন্ট্রোলারের বাটন প্রেসের মতোই পিঞ্চগুলোকে রেজিস্টার করা।
XRController3Dinput_float_changed সিগন্যালগুলিতে থাকা float মানটি নির্দিষ্ট থ্রেশহোল্ডের চেয়ে বেশি না কম, তা যাচাই করে।
pinch_pressed নামের একটি ভার্চুয়াল অ্যাকশন তৈরি করে।
হ্যান্ড ট্র্যাকিংয়ের সাথে একত্রে এক্সআর টুলস ফাংশনগুলো ব্যবহার করুন
অনেক Godot XR প্রজেক্টে Godot XR Tools ব্যবহার করা হয়, যার মধ্যে এই পৃষ্ঠায় লিঙ্ক করা কিছু ওপেন-সোর্স প্রজেক্টও রয়েছে। XR Tools-এর কিছু ফাংশন, যেমন মেনু ইন্টারঅ্যাকশনের জন্য FunctionPointer , কাজ করানোর জন্য আপনার কিছু অতিরিক্ত কোডের প্রয়োজন হবে, যা ব্যবহারকারী হ্যান্ড ট্র্যাকিং-এ সুইচ করলে ফাংশনটির খোঁজা অ্যাকশনটি বদলে দেবে।
উদাহরণস্বরূপ, মেনু ইন্টারঅ্যাকশনের জন্য FunctionPointer ব্যবহার করার সময়, হ্যান্ড ট্র্যাকিংয়ের জন্য XRController3D নোডগুলির tracking_changed সিগন্যালের উপর ভিত্তি করে active_button_action প্রপার্টিটিকে হ্যান্ড-ট্র্যাকিং অ্যাকশনে আপডেট করুন (পূর্ববর্তী হ্যান্ড ট্র্যাকিং সেটআপ ধাপগুলিতে এই নোডগুলি ছিল HandTrackingLeft এবং HandTrackingRight )।
কৃত্রিম চলাচলের সাথে হ্যান্ড ট্র্যাকিং ব্যবহার করুন
আপনার প্রজেক্টে কৃত্রিম চলন ব্যবহার করা হলেও হ্যান্ড ট্র্যাকিং সাপোর্ট দেওয়া সম্ভব। উদাহরণস্বরূপ, আপনি এমন একটি মুভমেন্ট সিস্টেম তৈরি করতে পারেন যা প্লেয়ারদের অঙ্গভঙ্গির মাধ্যমে পথ আঁকতে দেয়, অথবা প্লেয়ারদের গতি বাড়ানোর জন্য হাত উপর-নিচ করার সুযোগ দিতে পারেন, এবং এর সাথে লাফানো, আরোহণ ও গ্লাইড করার জন্য অতিরিক্ত অঙ্গভঙ্গির ব্যবস্থা রাখতে পারেন।
মিউজিয়াম অফ অল থিংস -এ কন্ট্রোলারের থাম্বস্টিক ব্যবহার করে কৃত্রিম চলন ব্যবস্থা রয়েছে। হ্যান্ড ট্র্যাকিং লোকোমোশন বাস্তবায়ন করা হয়েছে "ভার্চুয়াল থাম্বস্টিক" যোগ করার মাধ্যমে, যা প্লেয়ার বাতাসে চিমটি কেটে এবং যেদিকে থাম্বস্টিকটি সরাতে চায় সেদিকে হাত নাড়িয়ে সক্রিয় করে।
পিঞ্চ শনাক্ত হলে একটি XRVirtualThumbstick সিন ইনস্ট্যানশিয়েট করা হয়।
পিঞ্চ চেপে ধরে রাখলে, মূল পিঞ্চ অবস্থান থেকে আপেক্ষিক দূরত্ব ও দিক একটি Vector2 তে রূপান্তরিত হয় এবং ভার্চুয়ালি সাধারণ থাম্বস্টিক ইনপুটে ম্যাপ করা হয়।
এই ইনপুটের ভিজ্যুয়াল ফিডব্যাকও প্লেয়ারকে দুটি বিলবোর্ডযুক্ত কোয়াড মেশের আকারে দেওয়া হয়, যা থাম্বস্টিকের অবস্থান নির্দেশ করে।
সামান্য কিছু পরিবর্তনের মাধ্যমে আপনার বিদ্যমান থাম্বস্টিক-চালিত লোকোমোশন কোডটি কার্যকর করতে আপনি একই ধরনের পদ্ধতি চেষ্টা করতে পারেন। তবে, হ্যান্ড ট্র্যাকিংয়ের জন্য আপনার প্রজেক্টে একটি কাস্টম লোকোমোশন সলিউশনের প্রয়োজন হতে পারে।
পাসথ্রু সমর্থন যোগ করুন
আপনি আপনার অ্যাপে পাসথ্রু সাপোর্ট যোগ করতে পারেন, যাতে আপনার ব্যবহারকারীরা তাদের বাস্তব চারপাশের পরিবেশ দেখতে পারেন।
আপনার অ্যাপের জন্য এটি করতে, নিম্নলিখিত কোড পরিবর্তনগুলি করুন:
OpenXR XRInterface এর environment_blend_modeXR_ENV_BLEND_MODE_ALPHA_BLEND এ সেট করুন।
WorldEnvironment নোডটির background_modeBG_COLOR এ সেট করুন।
WorldEnvironment নোডটির background_color সম্পূর্ণ স্বচ্ছ এমন যেকোনো রঙে সেট করুন।
পাসথ্রু সক্রিয় করার সময়, অ্যান্ড্রয়েড এক্সআর লাইট এস্টিমেশন ওপেনএক্সআর এক্সটেনশনটি ব্যবহার করার কথা বিবেচনা করুন। এই এক্সটেনশনটি ব্যবহারকারীর বাস্তব জগতের পরিবেশের আলোকে আরও ভালোভাবে অনুকরণ করার জন্য WorldEnvironment এবং DirectionalLight3D -এর বৈশিষ্ট্যগুলোকে পরিবর্তন করে, ফলে ভার্চুয়াল অবজেক্টগুলো বাস্তব জগতের আলোর অবস্থার সাথে আরও ভালোভাবে মিশে যায়। আপনি আপনার প্রোজেক্টের সেটিংসে এই এক্সটেনশনটি সক্রিয় করতে পারেন।
আপনার প্রোজেক্টের সেটিংস খুলুন এবং General > XR > OpenXR -এ যান।
Androidxr বিভাগে, Light Estimation নির্বাচন করুন।
আপনার সিন ট্রি-তে একটি OpenXRAndroidLightEstimation নোড যোগ করুন এবং এটিকে আপনার সিনের WorldEnvironment ও DirectionalLight3D সাথে সংযুক্ত করুন।
উদাহরণ: পাসথ্রু এবং লাইট এস্টিমেশন সক্ষম বা নিষ্ক্রিয় করুন
নিম্নলিখিত কোডটি পাসথ্রু এবং লাইট এস্টিমেশন সক্ষম বা অক্ষম করে:
লাইট এস্টিমেশন নিষ্ক্রিয় করার সময়, DirectionalLight3D এর মূল দিকটি ম্যানুয়ালি পুনরুদ্ধার করতে হবে।
পাসথ্রু এবং লাইট এস্টিমেশন ব্যবহার করে তৈরি একটি প্রকল্পের সম্পূর্ণ উদাহরণের জন্য, গিটল্যাবে থাকা 'এক্সপেডিশন টু ব্লোবোটোপিয়া ' দেখুন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2026-05-19 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2026-05-19 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]