যেহেতু আমরা আগের পোস্টে কোয়েস্ট 2 ডিভাইসকে লক্ষ্য করে আমাদের সফলভাবে তৈরি করেছি, এখন আমরা উপস্থিতি প্ল্যাটফর্মের মাধ্যমে মেটা দ্বারা প্রদত্ত ক্ষমতার সবচেয়ে শক্তিশালী সেটগুলির মধ্যে একটি অন্তর্দৃষ্টি পাব৷ প্রথম ইউনিটি প্রকল্প মেটা এর উপস্থিতি প্ল্যাটফর্ম কি? উপস্থিতি প্ল্যাটফর্মটি ভার্চুয়াল বাস্তবতার পরিবেশে ভাগ করা উপস্থিতি এবং মিথস্ক্রিয়ার অনুভূতি তৈরি করার জন্য । এটি ভিআর হেডসেটগুলি ব্যবহার করে নিমজ্জিত ভার্চুয়াল স্পেসে একে অপরের সাথে সংযোগ করতে, যোগাযোগ করতে, জড়িত হতে সক্ষম করে। ডিজাইন করা হয়েছে মেটার উপস্থিতি প্ল্যাটফর্মের বৈশিষ্ট্য এবং ক্ষমতাগুলির মধ্যে রয়েছে: উপস্থিতি প্ল্যাটফর্ম ব্যবহারকারীদের তাদের ডিজিটাল অবতার তৈরি এবং কাস্টমাইজ করতে দেয়, যা তাদের ভার্চুয়াল জগতে প্রতিনিধিত্ব করে। এই অবতারগুলি ব্যবহারকারীদের বাস্তব জীবনের গতিবিধি, অভিব্যক্তি এবং অঙ্গভঙ্গি অনুকরণ করতে পারে, উপস্থিতির অনুভূতি এবং সামাজিক মিথস্ক্রিয়াকে বাড়িয়ে তোলে। অবতার সিস্টেম: ব্যবহারকারীরা ভাগ করা ভার্চুয়াল পরিবেশে বন্ধু এবং অন্যান্য লোকেদের সাথে দেখা করতে এবং যোগাযোগ করতে পারে। তারা একসাথে বিভিন্ন ক্রিয়াকলাপে নিযুক্ত হতে পারে, যেমন গেম খেলা, ভার্চুয়াল ইভেন্টে অংশ নেওয়া, ভিডিও দেখা এবং আরও অনেক কিছু। সামাজিক মিথস্ক্রিয়া: প্ল্যাটফর্মটি স্থানিক অডিও অন্তর্ভুক্ত করে, যার অর্থ ভার্চুয়াল পরিবেশে শব্দটি অবস্থান-ভিত্তিক। এটি একটি আরও বাস্তবসম্মত এবং নিমগ্ন অডিও অভিজ্ঞতা তৈরি করে, কারণ ব্যবহারকারীরা বাস্তব জগতের মতোই নির্দিষ্ট দিক থেকে আসা শব্দ শুনতে পারেন৷ স্থানিক অডিও: উপস্থিতি প্ল্যাটফর্ম হ্যান্ড ট্র্যাকিং প্রযুক্তিকে সমর্থন করে, ব্যবহারকারীদের কন্ট্রোলারের প্রয়োজন ছাড়াই সরাসরি VR-এ তাদের হাত এবং আঙুল ব্যবহার করতে সক্ষম করে। এটি মিথস্ক্রিয়াকে আরও স্বাভাবিক এবং স্বজ্ঞাত করে তোলে। হ্যান্ড ট্র্যাকিং: প্ল্যাটফর্মটি বিভিন্ন ওকুলাস ভিআর হেডসেট জুড়ে কাজ করার জন্য ডিজাইন করা হয়েছে, বিভিন্ন ডিভাইস সহ ব্যবহারকারীদের একে অপরের সাথে নির্বিঘ্নে যোগদান করতে এবং যোগাযোগ করতে দেয়। ক্রস-প্ল্যাটফর্ম সমর্থন: বিকাশকারীদের জন্য, উপস্থিতি প্ল্যাটফর্ম VR অ্যাপ্লিকেশন, গেম এবং অভিজ্ঞতা তৈরি এবং প্রকাশ করার জন্য সরঞ্জাম এবং API সরবরাহ করে, ভার্চুয়াল সামগ্রীর একটি সমৃদ্ধ ইকোসিস্টেম সক্ষম করে৷ সামগ্রী তৈরির সরঞ্জাম: হ্যান্ড ট্র্যাকিং দিয়ে শুরু যেমন আপনি দেখতে পাচ্ছেন যে উপস্থিতি প্ল্যাটফর্ম হল সাব-সিস্টেম/বৈশিষ্ট্যগুলির একটি বিস্তৃত সেট, এবং আমি সেগুলির প্রতিটিকে বিস্তারিতভাবে কভার করব, তবে শুরু করতে - আসুন VR গেম ডেভেলপমেন্টের প্রাথমিক প্রয়োজনীয়তাগুলির মধ্যে একটি হিসাবে হ্যান্ড ট্র্যাকিং থেকে শুরু করি - আমরা সেটআপ করব , অভিজ্ঞতার মত হ্যান্ড ট্র্যাকিং গেম তৈরি এবং লঞ্চ করুন। একটি নিখুঁত সূচনা পয়েন্ট হল অভিজ্ঞতা যা অকুলাস-স্যাম্পল দ্বারা সরবরাহ করা হয়েছে। ইউনিটি-ফার্স্টহ্যান্ড রেপো আবার, অনুগ্রহ করে ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার পড়ুন এবং নিশ্চিত করুন যে বিভিন্ন নির্ভরতা ইনস্টল করা আছে। পূর্ববর্তী পোস্টটি আপনার গিট এলএফএস ইনস্টল করা আছে তা নিশ্চিত করুন, এই কমান্ডটি চালান: git lfs install তারপরে, "কোড" ব্যবহার করে রেপো ক্লোন করুন, Github ডেস্কটপে খুলুন এবং নিম্নলিখিত কমান্ডটি চালান: git clone https://github.com/oculus-samples/Unity-FirstHand.git সমস্ত প্রকৃত প্রকল্প ফাইল সম্পদ → প্রকল্পে রয়েছে। এই ফোল্ডারে ইন্টারঅ্যাকশন SDK বাদ দিয়ে নমুনা চালানোর জন্য সমস্ত স্ক্রিপ্ট এবং সম্পদ রয়েছে। এই প্রকল্পে ইন্টারঅ্যাকশন SDK সহ Oculus SDK-এর v41 অন্তর্ভুক্ত রয়েছে। আপনি [Assets/Oculus/Interaction]{Assets/Oculus/Interaction) এ ইন্টারঅ্যাকশন SDK খুঁজে পেতে পারেন। সমস্ত প্রয়োজনীয় নির্ভরতা ইনস্টল করার পরে এবং কোয়েস্ট ডিভাইসে চালানোর জন্য বিল্ড কনফিগার করার পরে আপনি আপনার সম্পাদকে উপরের মতো কিছু পাবেন। নির্মাণ এবং চালান আপনি যদি ম্যাক ব্যবহার করেন তবে ফাইল → বিল্ড সেটিংসে যান৷ আপনি যদি আমার পূর্ববর্তী পোস্ট থেকে নির্দেশনা অনুসরণ করেন এবং আপনার ডিভাইস সংযুক্ত করেন, তাহলে বিল্ড সেটিংসে আপনাকে যা দেখতে হবে তা নিচে দেওয়া আছে। Build and Run-এ ক্লিক করুন, Unity কে তৈরি করতে কয়েক মিনিট সময় দিন এবং আপনার অ্যাপ সংযুক্ত কোয়েস্ট ডিভাইসে যে বার্তাগুলি স্থাপন করছে তার জন্য অপেক্ষা করুন। কাস্টমাইজেশন এবং পরিবর্তন করা আমি দৃঢ়ভাবে পরামর্শ দিচ্ছি যে আপনি এই উদাহরণের সাথে খেলুন এবং এটি কীভাবে অভ্যন্তরীণভাবে কাজ করে তা শিখতে উপাদান এবং স্ক্রিপ্টগুলি কাস্টমাইজ করার চেষ্টা করুন, এটি আপনার ইউনিটি এডিটরের প্রকল্প বিভাগে যেতে এবং প্রজেক্ট ডিরেক্টরিগুলির শ্রেণিবিন্যাস প্রসারিত করতে সক্ষম হবেন। আমরা LazerProjectile কাস্টমাইজ করব: public class LazerProjectile : ActiveStateObserver { [SerializeField] Transform _target; [SerializeField] GameObject _effect; [SerializeField] float _rayCastDelay = 0.5f; [SerializeField] float _fadeOutTime = 0.1f; [SerializeField] float _delayBetweenShots = 0.5f; [SerializeField] AudioTrigger _chargeUp; [SerializeField, Optional] AudioTrigger _chargeUpComplete; protected override void Update() { base.Update(); Vector3 endPos = Vector3.Lerp(_target.position, transform.position + transform.forward * 20, 5 * Time.deltaTime); _target.position = endPos; } //...... } চলুন রে কাস্ট বিলম্ব বাড়াই এবং প্রতিস্থাপন করে হেডসেটে অ্যাপটি পরীক্ষা করি float _rayCastDelay = 0.1f; প্রতি float _rayCastDelay = 0.5f; এটা যেভাবে কাজ করে! নিজে চেষ্টা করে দেখুন এবং হ্যান্ড ট্র্যাকিং ব্যবহার করে আপনি কী তৈরি করতে চান তা আমাকে জানান।