বাস্তবসম্মতভাবে একটি দৃশ্যে ভার্চুয়াল বস্তুকে আলোকিত করুন

লাইটিং এস্টিমেশন API বিশদ ডেটা সরবরাহ করে যা আপনাকে ভার্চুয়াল অবজেক্ট রেন্ডার করার সময় বিভিন্ন আলোর সংকেত অনুকরণ করতে দেয়। ARCore তিনটি হালকা অনুমান মোড সমর্থন করে:

  1. অক্ষম
  2. পরিবেষ্টিত তীব্রতা মোড
  3. পরিবেশগত HDR মোড

পূর্বশর্ত

এগিয়ে যাওয়ার আগে নিশ্চিত করুন যে আপনি মৌলিক AR ধারণা এবং কীভাবে একটি ARCore সেশন কনফিগার করবেন তা বুঝতে পেরেছেন।

আলোর অনুমান সক্ষম করুন

আপনার অ্যাপে আলোর অনুমান সক্ষম করতে এই পদক্ষেপগুলি অনুসরণ করুন৷

  1. একটি এআর ফাউন্ডেশন প্রকল্প বা এআরকোর এক্সটেনশন প্রকল্প সেট আপ করুন।
  2. Hierarchy ট্যাবে, XR Session Origin > AR Camera নেভিগেট করুন।

  1. AR Camera Manager উপাদানের অধীনে, Light Estimation নির্বাচন করুন।
  2. Light Estimation ড্রপ-ডাউন মেনুতে, আপনি যে মোড(গুলি) ব্যবহার করতে চান তা নির্বাচন করুন।

পরিবেশগত HDR মোড সক্ষম করুন

এনভায়রনমেন্টাল এইচডিআর মোড নিম্নলিখিত আলোক অনুমান সেটিংস সক্ষম করে:

এই মোড স্বয়ংক্রিয়ভাবে সক্রিয় হয় যখন নিম্নলিখিত মানদণ্ড পূরণ করা হয়:

পরিবেষ্টিত তীব্রতা মোড সক্ষম করুন

যখন ARCameraManager কম্পোনেন্টে অ্যাম্বিয়েন্ট ইনটেনসিটি মোড নির্বাচন করা হয় তখন মৌলিক আলোর অনুমান স্বয়ংক্রিয়ভাবে সক্ষম হয়।

পরিবেষ্টিত তীব্রতা মোড নিম্নলিখিত আলো অনুমান সেটিংস সক্ষম করে:

  • পরিবেষ্টিত রঙ
  • পরিবেষ্টিত তীব্রতা

আপনার দৃশ্যে আলো তথ্য ব্যবহার করুন

একবার আপনি সঠিক আলোর সেটিংস পেয়ে গেলে, আপনি আপনার দৃশ্যের ভার্চুয়াল বস্তুগুলিকে এমনভাবে আলো দিতে পারেন যেন তারা বাস্তব জগতের একটি অংশ।

ARCameraManager কম্পোনেন্ট একটি frameReceived ইভেন্ট বাড়াতে পারে যা আলোক অনুমান সক্ষম থাকা অবস্থায় ফ্রেমের আলোর অবস্থা অনুমান করে। frameReceived থেকে প্রাপ্ত তথ্যগুলি ARCameraFrameEventArgs স্ট্রাকটে ARLightEstimationData হিসাবে সংরক্ষণ করা হয়।

রানটাইমে আলোর পরামিতি পরিবর্তন করতে এই পদক্ষেপগুলি অনুসরণ করুন।

  1. আপনার দৃশ্যে বিদ্যমান দিকনির্দেশক আলো তৈরি বা সংশোধন করুন।
  2. দিকনির্দেশক আলোতে একটি নতুন স্ক্রিপ্ট সংযুক্ত করুন।

    // Sample Lighting Estimation script
    
    Light light;
    void Awake ()
    {
        light = GetComponent<Light>();
    }
    
    void OnEnable()
    {
        if (cameraManager != null)
            cameraManager.frameReceived += FrameChanged;
    }
    
    void OnDisable()
    {
        if (cameraManager != null)
            cameraManager.frameReceived -= FrameChanged;
    }
    
    void FrameChanged(ARCameraFrameEventArgs args)
    {
       // Modify `light` parameters using ARCameraFrameEventArgs.
    }
    
  3. আলোর পরিবর্তনগুলি সনাক্ত করতে এই নতুন স্ক্রিপ্টটি পরিবর্তন করুন৷ এটি কীভাবে করবেন তার উদাহরণের জন্য, ইউনিটির BasicLightEstimation.cs এবং HDRLightEstimation.cs স্ক্রিপ্টগুলি দেখুন।

আপনার দৃশ্যে পরিবেশ অনুসন্ধান ব্যবহার করুন

আপনার দৃশ্যে পরিবেশ অনুসন্ধান সক্রিয় করতে এই পদক্ষেপগুলি অনুসরণ করুন।

  1. আপনার দৃশ্যের ARSessionOrigin এ স্বয়ংক্রিয় বসানো সক্ষম করুন৷
  2. ARSessionOrigin এ একটি AREnvironmentProbeManager উপাদান যোগ করুন।