Google মানচিত্র প্ল্যাটফর্ম থেকে জিওস্পেশিয়াল ক্রিয়েটর এবং প্লেস এপিআই দিয়ে তৈরি করুন, গুগল ম্যাপ প্ল্যাটফর্ম থেকে জিওস্পেশিয়াল ক্রিয়েটর এবং প্লেস এপিআই দিয়ে তৈরি করুন, গুগল ম্যাপ প্ল্যাটফর্ম থেকে জিওস্পেটিয়াল ক্রিয়েটর এবং প্লেস এপিআই দিয়ে তৈরি করুন

1. আপনি শুরু করার আগে

জিওস্পেশিয়াল ক্রিয়েটর ইন ইউনিটি, Google ম্যাপ প্ল্যাটফর্ম থেকে ARCore এবং ফটোরিয়ালিস্টিক 3D টাইলস দ্বারা চালিত, আপনাকে একটি নির্দিষ্ট অক্ষাংশ এবং দ্রাঘিমাংশের জন্য অগমেন্টেড-রিয়েলিটি (AR) অভিজ্ঞতাগুলি দ্রুত তৈরি করতে এবং কল্পনা করতে দেয়, সমস্তই ইউনিটি এডিটরের মধ্যে। এটি আপনার অ্যাপের জন্য একটি একক জিওলোকেটেড এআর দৃশ্য তৈরি করতে যে সময় লাগে তা অনেকাংশে কমিয়ে দিতে পারে, কিন্তু আপনি যদি বিভিন্ন স্থানে একই ধরনের অভিজ্ঞতা তৈরি করতে চান তাহলে কী হবে? জিওস্পেশিয়াল ক্রিয়েটরে C# API ব্যবহার করে, আপনি এটিও করতে পারেন।

এই কোডল্যাবে, আপনি C# কোড লিখবেন যেটি একটি প্রাথমিক টেমপ্লেট ব্যবহার করে একাধিক ভূ-স্থানিক অভিজ্ঞতা তৈরি করতে Google মানচিত্র প্ল্যাটফর্ম থেকে জিওস্পেশিয়াল ক্রিয়েটর এবং প্লেস এপিআই ব্যবহার করে। ফলস্বরূপ অভিজ্ঞতাগুলি একটি অ্যাপে সংকলিত হওয়ার আগে ইউনিটি এডিটরে অন্বেষণ এবং সূক্ষ্ম সুর করা যেতে পারে।

বইটি সঠিক উচ্চতায় রয়েছে

পূর্বশর্ত

  • AR এর প্রাথমিক জ্ঞান
  • ARCore Geospatial API- এর প্রাথমিক জ্ঞান

আপনি কি শিখবেন

  • একাধিক অবস্থানে একটি ভূ-স্থানীয় অভিজ্ঞতা তৈরি এবং কল্পনা করতে জিওস্পেশিয়াল ক্রিয়েটরে APIগুলি কীভাবে ব্যবহার করবেন।
  • স্থানগুলির অবস্থানগুলি খুঁজতে Google Maps প্ল্যাটফর্ম থেকে Places API কীভাবে ব্যবহার করবেন।
  • কীভাবে আপনার ডিভাইসে এআর অভিজ্ঞতা চালাবেন।

আপনি কি প্রয়োজন হবে

2. আপনার পরিবেশ সেট আপ করুন

Geospatial Creator ব্যবহার করার জন্য, আপনাকে ফটোরিয়ালিস্টিক 3D টাইলস, Google ক্লাউডে ARCore পরিষেবা এবং Google Maps প্ল্যাটফর্ম থেকে Places API অ্যাক্সেস করার অনুমোদন সেট আপ করতে হবে।

একটি Google ক্লাউড প্রকল্প সেট আপ করুন৷

এই কোডল্যাবের জন্য Google এর সার্ভার API গুলি অ্যাক্সেস করার জন্য বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প প্রয়োজন৷ এই কোডল্যাবের জন্য বিলিং সেটআপ প্রয়োজন, কিন্তু যদি কোনো প্রকল্প তার নো-চার্জ পরিষেবার কোটা অতিক্রম করে তবেই আপনাকে চার্জ করা হবে৷

Google ক্লাউডে একটি প্রকল্প সেট আপ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. গুগল ক্লাউড কনসোলে একটি প্রকল্প তৈরি করুন। একটি Google ক্লাউড প্রকল্প তৈরি করুন
  2. প্রকল্পের নাম টেক্সট বক্সে, একটি উপযুক্ত নাম লিখুন, যেমন ARCore Geospatial Project , এবং তারপর যেকোনো অবস্থান বেছে নিন।
  3. তৈরি করুন ক্লিক করুন।
  4. প্রকল্প-নির্বাচক পৃষ্ঠায় Google ক্লাউড কনসোলে , প্রকল্প তৈরি করুন ক্লিক করুন।
  5. বিলিং সক্ষম করুন দেখুন এবং ফটোরিয়ালিস্টিক 3D টাইলসের মূল্য পর্যালোচনা করুন এবং স্থান API (নতুন) এর জন্য মূল্য নির্ধারণ করুন

মানচিত্র টাইলস API সক্ষম করুন৷

ম্যাপ টাইলস এপিআই ফটোরিয়ালিস্টিক 3D টাইলস প্রদান করে, যা ইউনিটি এডিটরে দৃশ্যমান।

ARCore API সক্ষম করুন

Google ক্লাউডে ARCore API আপনাকে লক্ষ্য ডিভাইসে ARCore জিওস্পেশিয়াল API অ্যাক্সেস করতে দেয়।

  • ARCore API সক্ষম করতে, নিম্নলিখিত বোতামটি ক্লিক করুন, এবং তারপর সক্রিয় নির্বাচন করুন:

স্থান API সক্ষম করুন

Google Maps প্ল্যাটফর্ম থেকে Places API আপনাকে 200 মিলিয়নেরও বেশি জায়গার লোকেশন ডেটা পেতে দেয়, যা আপনি কোডল্যাবে ব্যবহার করবেন সংশ্লিষ্ট জায়গাগুলি খুঁজে পেতে৷ এই API স্থানগুলির জন্য অনুসন্ধান ফলাফল এবং ভৌগলিক স্থানাঙ্ক প্রদান করে।

  • Places API সক্ষম করতে, নিম্নলিখিত বোতামে ক্লিক করুন, এবং তারপর সক্রিয় নির্বাচন করুন:

আপনার প্রকল্পের জন্য একটি API কী তৈরি করুন

দূরবর্তী Google ক্লাউড পরিষেবাগুলির সাথে আপনার অ্যাপকে প্রমাণীকরণ করতে API কী প্রমাণীকরণ ব্যবহার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. এপিআই এবং পরিষেবার অধীনে Google ক্লাউড কনসোলে, শংসাপত্র নির্বাচন করুন।
  2. পৃষ্ঠার শীর্ষে, শংসাপত্র তৈরি করুন ক্লিক করুন এবং তারপরে API কী নির্বাচন করুন।
  3. কীটি নোট করুন কারণ পরবর্তী পদক্ষেপের জন্য আপনার এটি প্রয়োজন।

সফটওয়্যার সেট আপ করুন

জিওস্পেশিয়াল ক্রিয়েটর সফ্টওয়্যার দিয়ে শুরু করতে, এই ধাপগুলি অনুসরণ করুন:

  1. এই সংগ্রহস্থল ক্লোন করুন.
  2. ইউনিটি হাব ডাউনলোড করুন এবং ইউনিটি সংস্করণ 2022.3 ইনস্টল করতে এটি ব্যবহার করুন। আপনি Android বা iOS ঐচ্ছিক বিল্ড টুল ইনস্টল করছেন তা নিশ্চিত করুন।
  3. ইউনিটি হাবে, অ্যাড টিপুন > ডিস্ক থেকে প্রকল্প যোগ করুন
  4. হায়ারার্কি প্যানেলে, এআর জিওস্পেশিয়াল ক্রিয়েটর অরিজিন নির্বাচন করুন।
  5. Google মানচিত্র টাইল API কী পাঠ্য বাক্সে, API কী ঢোকান এবং তারপরে Enter টিপুন (অথবা macOS এ return )। ভূ-স্থানীয় সৃষ্টিকর্তার মূলে আপনার API কী সন্নিবেশ করান
  6. এডিট > প্রোজেক্ট সেটিংস > XR প্লাগ-ইন ম্যানেজমেন্ট > ARCore এক্সটেনশনে , Android বা iOS এর জন্য API কী প্রমাণীকরণ ব্যবহার করুন এবং API কী সন্নিবেশ করুন।
  7. ফাইল > বিল্ড সেটিংসে , লক্ষ্য প্ল্যাটফর্মটিকে অ্যান্ড্রয়েড বা আইওএস-এ স্যুইচ করুন।

3. আপনার প্রথম অ্যাঙ্কর তৈরি করুন

এই কোডল্যাবে, আপনি একটি এআর অ্যাঙ্কর তৈরি করেন যা একাধিক স্থানে ব্যবহার করা যেতে পারে। আপনি উদাহরণ হিসাবে সান ফ্রান্সিসকো, ক্যালিফোর্নিয়ার পাবলিক লাইব্রেরি ব্যবহার করেন, তবে আপনার কাছাকাছি অবস্থানগুলি ব্যবহার করতে নির্দ্বিধায়৷

ভূ-স্থানিক সৃষ্টিকর্তার উৎপত্তি উপাদান সম্পর্কে

ভূ-স্থানিক সৃষ্টিকর্তার সাথে নির্মিত প্রতিটি ইউনিটি দৃশ্যের জন্য ঠিক একজন ভূ-স্থানীয় সৃষ্টিকর্তার উৎস প্রয়োজন। এই গেম অবজেক্টটি বাস্তব-বিশ্বের অক্ষাংশ, দ্রাঘিমাংশ এবং উচ্চতার মানকে ইউনিটি গেমের স্থানাঙ্কে রূপান্তর করার জন্য রেফারেন্স পয়েন্ট।

নমুনা প্রকল্পে একটি ভূ-স্থানীয় ক্রিয়েটর অরিজিন রয়েছে, যেটি সম্পাদকের Scene ফটোরিয়ালিস্টিক 3D টাইলস রেন্ডার করতে সিসিয়াম ব্যবহার করে এবং বিশ্বের ঠিক কোথায় আপনার AR সামগ্রী প্রদর্শিত হবে তা আপনাকে কল্পনা করতে দেয়৷

মূল সরান

সান ফ্রান্সিসকো প্রধান লাইব্রেরি শাখার অক্ষাংশ এবং দ্রাঘিমাংশে ভূ-স্থানীয় সৃষ্টিকর্তার উত্স সরান৷

স্থানের এপিআই-এর সাথে ভূ-স্থানীয় সৃষ্টিকর্তার বিল্ট-ইন ইন্টিগ্রেশন ব্যবহার করতে স্বয়ংক্রিয়ভাবে সঠিক অবস্থানে মূল স্থানান্তর করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. হায়ারার্কি প্যানেলে, জিওস্পেশিয়াল ক্রিয়েটর অরিজিন গেম অবজেক্ট সিলেক্ট করুন।
  2. পরিদর্শক প্যানেলে, অবস্থানের জন্য অনুসন্ধান করুন ক্লিক করুন।
  3. অনুসন্ধান ডায়ালগে, San Francisco Public Library টাইপ করুন। প্রথম ফলাফল 100 লারকিন স্ট্রিটে হওয়া উচিত।
  4. উদ্ভবের অনুসন্ধান ফলাফল প্রয়োগ করতে বস্তুতে প্রয়োগ করুন ক্লিক করুন। নতুন স্থানাঙ্কে মূলের অক্ষাংশ এবং দ্রাঘিমাংশ আপডেট করা আপনার দেখতে হবে।

ভবনটি দৃশ্যমান

দৃশ্যে একটি ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর যোগ করুন

এখন যেহেতু একটি অরিজিন বিদ্যমান, গেমঅবজেক্ট > XR > AR জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্কর ব্যবহার করে একটি জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্কর যোগ করুন। ডিফল্টরূপে, অ্যাঙ্করটি উৎপত্তির সাথে সহ-অবস্থিত থাকবে।

আমাদের 3D AR কন্টেন্ট স্থাপন করতে এই অ্যাঙ্কর ব্যবহার করুন। নমুনা প্রকল্পের সাথে একটি বইয়ের একটি 3D মডেল অন্তর্ভুক্ত করা হয়েছে।

আপনার দৃশ্যে বইটি রাখতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. প্রজেক্ট প্যানেলে, বইয়ের মডেলটিকে এডিটর ভিউ প্যানে টেনে আনুন।
  2. হায়ারার্কি প্যানেলে, নিশ্চিত করুন যে বইটি আপনার আগে তৈরি করা অ্যাঙ্করের সন্তান। জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্করের যেকোনো চাইল্ড গেম অবজেক্ট অ্যাঙ্করের সাপেক্ষে অবস্থান করা হবে।
  3. হায়ারার্কি প্যানেলে, বইটি নির্বাচন করুন। এর অবস্থানের মান 0, 0, 0 এ সেট করুন।

বই দৃশ্য যোগ করা হয়

এডিটর ভিউতে এই মডেলটি দেখার সময়, এটি স্পষ্ট যে কিছু ভুল আছে: অ্যাঙ্করের ডিফল্ট উচ্চতা লাইব্রেরির ছাদের পৃষ্ঠের নীচে, যখন এটি তার উপরে ভাসতে হবে।

আপনি যখন আনুমানিক WGS84 উচ্চতা খুঁজে বের করতে সম্পাদকে বস্তুটিকে স্থানান্তর করতে পারেন, এই পরিস্থিতিতে ভূ-স্থানিক অ্যাঙ্করগুলিকে একটি ছাদ অ্যাঙ্কর হিসাবে কনফিগার করা পছন্দ করা হয় যাতে তারা উপরের কাঠামোর ছাদের সাথে তুলনা করে তাদের উচ্চতা স্বয়ংক্রিয়ভাবে স্থির থাকে।

  • এটি করার জন্য, অ্যাঙ্করের পরিদর্শক প্যানেলটি খুলুন এবং Altitude Type বৈশিষ্ট্যটিকে Rooftop এ সেট করুন।

পরিদর্শক প্যানেল

এটি করার পরে, নোট করুন যে এডিটর ভিউতে অ্যাঙ্করের উচ্চতা পরিবর্তন হয় না। এর কারণ হল রুফটপ এবং টেরেন অ্যাঙ্করগুলির জন্য অ্যাঙ্করটি সমাধান করার সময় রানটাইমে অ্যাঙ্করের উচ্চতা নির্ধারণ করা হয়। Scene দৃশ্যে ছাদে অ্যাঙ্করটি কল্পনা করতে, আপনি স্ন্যাপ টু টাইল বোতামটি ব্যবহার করতে পারেন। এটি Scene দৃশ্যে টাইলের সাথে মিলিত হওয়ার জন্য অ্যাঙ্করের উচ্চতা সেট করে, রানটাইমে সমাধান করা অ্যাঙ্করের উচ্চতাকে প্রভাবিত করে না।

  • মডেলটিকে লাইব্রেরির ছাদের উপরে ভাসানোর পরিবর্তে এটিতে বিশ্রাম নেওয়ার জন্য, Altitude relative to rooftop পরিবর্তন করে ছাদের উপরে 15 মিটার করুন৷

মডেলটি এখন লাইব্রেরির ওপর দিয়ে ভাসছে সুন্দরভাবে!

বইটি সঠিক উচ্চতায় রয়েছে

আপনার প্রোজেক্টে এখন একটি সম্পূর্ণ জিওস্পেশিয়াল এআর দৃশ্য রয়েছে, যার মধ্যে সমস্ত প্রয়োজনীয় AR সিস্টেম উপাদান, একটি জিওস্পেশিয়াল ক্রিয়েটর অরিজিন এবং একটি সংযুক্ত মডেল সহ একটি অ্যাঙ্কর রয়েছে।

এরপরে, অতিরিক্ত লাইব্রেরি অবস্থানে ডুপ্লিকেট অ্যাঙ্কর তৈরি করুন।

4. Places API দিয়ে নতুন অ্যাঙ্কর অবস্থান খুঁজুন

Google Maps প্ল্যাটফর্ম থেকে Places API আপনাকে 200 মিলিয়নেরও বেশি স্থানের অবস্থানের ডেটা পেতে দেয়৷ এই কোডল্যাবে, আপনি সান ফ্রান্সিসকোতে পাবলিক লাইব্রেরির অন্যান্য শাখা খুঁজে পেতে এই API ব্যবহার করেন এবং পরবর্তী দশটি অনুসন্ধান ফলাফলের জন্য একটি ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর তৈরি করতে সেই ফলাফলগুলি ব্যবহার করেন।

  • শুরু করতে, Assets > Scripts > Editor-এ ক্লিক করুন এবং তারপর ' AnchorDuplicator.cs ' ফাইল খুলুন। এই ফাইলটি কিছু বয়লারপ্লেট কোড প্রদান করে যা আপনাকে Places API দিয়ে শুরু করতে এবং এর ফলাফল পার্স করতে সাহায্য করে।

Places API দিয়ে প্রমাণীকরণ করুন

  1. AnchorDuplicator ক্লাসে নিম্নলিখিত লাইনটি সনাক্ত করুন:
    private const string API_KEY = "<YOUR_API_KEY_HERE>";
    
  2. সেটআপ ধাপে প্রাপ্ত কী দিয়ে <YOUR_API_KEY_HERE> প্রতিস্থাপন করুন।

একটি অনুসন্ধান শব্দের জন্য স্থান API জিজ্ঞাসা করুন

Places API অনুমোদন সেটআপ সম্পন্ন হলে, আপনি কোড লিখতে পারেন যা একটি POST অনুরোধ শুরু করে।

  • এটি করতে, CreatePlacesRequest পদ্ধতি খুঁজুন এবং নিম্নলিখিত পদ্ধতি সংজ্ঞা ব্যবহার করুন:
    string postBody = "{ \"textQuery\": \"" + searchTerm + "\", " + 
                        "   \"locationBias\": { \"circle\": { " +
                        "      \"center\": { \"latitude\": " + lat + ", \"longitude\": " + lon + " }, " +
                        "      \"radius\": 10000 }" +
                        "   }" +
                        "}";
    
    string url = "https://places.googleapis.com/v1/places:searchText";
    
    UnityWebRequest request = UnityWebRequest.Post(url, postBody, "application/json");
    request.SetRequestHeader("X-Goog-Api-Key", apiKey);
    request.SetRequestHeader("X-Goog-FieldMask", "places.displayName,places.location");
    
    return request;
    
    এখন, যখন CreatePlacesRequest পদ্ধতিটি কল করা হয়, তখন একটি অনুরোধ করা হয় যা lat এবং lon কেন্দ্রিক একটি বৃত্তে searchTerm অনুসন্ধান করে।

আপনার কাজ পরীক্ষা করুন

আপনি চালিয়ে যাওয়ার আগে, আপনাকে যাচাই করতে হবে যে Places API-এ কলগুলি সফল হয়েছে৷

  1. ইউনিটি এডিটরে ফাংশন চালান:
    1. Google AR কোডল্যাবে , Run Places Request-এ ক্লিক করুন।
    2. ইউনিটি কনসোল খুলুন। আপনি ফলাফল প্রদর্শিত দেখতে হবে. স্থানগুলি কনসোলে প্রদর্শিত হবে৷

5. প্রোগ্রামগতভাবে জায়গায় অ্যাঙ্কর যোগ করুন

এখন যেহেতু আপনি যাচাই করেছেন যে Places API ফলাফলগুলি খুঁজে পায়, ফলাফল দ্বারা নির্দিষ্ট প্রতিটি অবস্থানে নতুন ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর তৈরি করুন৷

একটি মেনু আইটেম তৈরি করুন

  1. AnchorDuplicator ক্লাসে, CreateNewAnchorsFromPlaces পদ্ধতিটি খুঁজুন এবং নিম্নলিখিত পদ্ধতির সংজ্ঞাটি ব্যবহার করুন:
    if (_places == null)
    {
        Debug.LogError("Cannot create anchors: Places has not been initialized.");
        return;
    }
    
    // You start with only one anchor in the scene, which you want to copy:
    var prototypeAnchorObject = GameObject
        .FindObjectOfType<ARGeospatialCreatorAnchor>()
        .gameObject;
    
    foreach (var place in _places)
    {
        var newAnchorObject = GameObject.Instantiate(prototypeAnchorObject);
        var anchor = newAnchorObject.GetComponent<ARGeospatialCreatorAnchor>();
        anchor.Latitude = place.location.latitude;
        anchor.Longitude = place.location.longitude;
    
        newAnchorObject.name = place.displayName.text;
    }
    
    এই মেনু আইটেমটি পূর্বে শুরু হওয়া একটি অনুরোধ চেক করে এবং অ্যাঙ্কর তৈরির জন্য একটি প্রোটোটাইপ হিসাবে আপনার দৃশ্যে প্রথম ARGeospatialCreatorAnchor ব্যবহার করে, স্থান প্রতি এপিআই ফলাফলে একটি।
  2. অ্যাঙ্করগুলি তৈরি করতে Google AR Codelab-Places রেসপন্স মেনু আইটেম থেকে নতুন নতুন অ্যাঙ্কর তৈরি করুন ব্যবহার করুন।
  3. আপনি একাধিক অ্যাঙ্করকে হায়ারার্কি প্যানে দেখতে পাবেন।

অ্যাঙ্করের অবস্থান যাচাই করুন

আপনি অ্যাপটি চালানোর আগে সমস্ত সম্পদ সঠিক স্থানে নোঙ্গর করা হয়েছে তা যাচাই করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. হায়ারার্কি প্যানে একটি যোগ করা অ্যাঙ্করে ক্লিক করুন।
  2. F চাপুন।
  3. Scene দৃশ্যে অ্যাঙ্কর পরিদর্শন করুন।
  4. যদি একটি নোঙ্গর সঠিক অবস্থানে না থাকে, তাহলে Snap to Tile এ ক্লিক করুন, অথবা Latitude , Longitude , বা Editor Override Altitude মান ম্যানুয়ালি পরিবর্তন করুন৷

6. এআর-এ সম্পদ দেখুন

আপনার ARCore-সমর্থিত Android বা iOS ডিভাইসে AR-তে সম্পদ দেখতে, এই ধাপগুলি অনুসরণ করুন:

  1. File > Build Settings এ ক্লিক করুন এবং তারপর Android বা iOS বিল্ড প্ল্যাটফর্ম নির্বাচন করুন।
  2. স্যুইচ প্ল্যাটফর্মে ক্লিক করুন।
  3. নিশ্চিত করুন যে আপনার ডেভেলপমেন্ট ডিভাইস কানেক্ট করা আছে এবং ডেভেলপমেন্টের জন্য কনফিগার করা আছে।
  4. Build and run এ ক্লিক করুন।
  5. অ্যাপটি আপনার ডিভাইসে চলে তা নিশ্চিত করুন।
  6. যেখানে আপনি বিষয়বস্তু অ্যাঙ্কর করেছেন সেখানে যান। আপনি উদাহরণগুলি পরিবর্তন না করলে, অবস্থানগুলি সান ফ্রান্সিসকোতে পাবলিক লাইব্রেরি।

AR অভিজ্ঞতা দেখুন

7. উপসংহার

অভিনন্দন! আপনি একটি ইউনিটি অ্যাপ লিখেছেন যা একটি প্রাথমিক টেমপ্লেট ব্যবহার করে একাধিক ভূ-স্থানিক অভিজ্ঞতা তৈরি করতে জিওস্পেশিয়াল ক্রিয়েটর এবং Google ম্যাপ প্ল্যাটফর্ম প্লেস এপিআই ব্যবহার করে। আমরা আশা করি আপনি এই জ্ঞান ব্যবহার করে আপনার জিওস্পেশিয়াল ক্রিয়েটর সামগ্রীর নাগালের প্রসারিত করতে পারবেন!

আরও জানুন

,

1. আপনি শুরু করার আগে

জিওস্পেশিয়াল ক্রিয়েটর ইন ইউনিটি, Google ম্যাপ প্ল্যাটফর্ম থেকে ARCore এবং ফটোরিয়ালিস্টিক 3D টাইলস দ্বারা চালিত, আপনাকে একটি নির্দিষ্ট অক্ষাংশ এবং দ্রাঘিমাংশের জন্য অগমেন্টেড-রিয়েলিটি (AR) অভিজ্ঞতাগুলি দ্রুত তৈরি করতে এবং কল্পনা করতে দেয়, সমস্তই ইউনিটি এডিটরের মধ্যে। এটি আপনার অ্যাপের জন্য একটি একক জিওলোকেটেড এআর দৃশ্য তৈরি করতে যে সময় লাগে তা অনেকাংশে কমিয়ে দিতে পারে, কিন্তু আপনি যদি বিভিন্ন স্থানে একই ধরনের অভিজ্ঞতা তৈরি করতে চান তাহলে কী হবে? জিওস্পেশিয়াল ক্রিয়েটরে C# API ব্যবহার করে, আপনি এটিও করতে পারেন।

এই কোডল্যাবে, আপনি C# কোড লিখবেন যেটি একটি প্রাথমিক টেমপ্লেট ব্যবহার করে একাধিক ভূ-স্থানিক অভিজ্ঞতা তৈরি করতে Google মানচিত্র প্ল্যাটফর্ম থেকে জিওস্পেশিয়াল ক্রিয়েটর এবং প্লেস এপিআই ব্যবহার করে। ফলস্বরূপ অভিজ্ঞতাগুলি একটি অ্যাপে সংকলিত হওয়ার আগে ইউনিটি এডিটরে অন্বেষণ এবং সূক্ষ্ম সুর করা যেতে পারে।

বইটি সঠিক উচ্চতায় রয়েছে

পূর্বশর্ত

  • AR এর প্রাথমিক জ্ঞান
  • ARCore Geospatial API- এর প্রাথমিক জ্ঞান

আপনি কি শিখবেন

  • একাধিক অবস্থানে একটি ভূ-স্থানীয় অভিজ্ঞতা তৈরি এবং কল্পনা করতে জিওস্পেশিয়াল ক্রিয়েটরে APIগুলি কীভাবে ব্যবহার করবেন।
  • স্থানগুলির অবস্থানগুলি খুঁজতে Google Maps প্ল্যাটফর্ম থেকে Places API কীভাবে ব্যবহার করবেন।
  • কীভাবে আপনার ডিভাইসে এআর অভিজ্ঞতা চালাবেন।

আপনি কি প্রয়োজন হবে

2. আপনার পরিবেশ সেট আপ করুন

Geospatial Creator ব্যবহার করার জন্য, আপনাকে ফটোরিয়ালিস্টিক 3D টাইলস, Google ক্লাউডে ARCore পরিষেবা এবং Google Maps প্ল্যাটফর্ম থেকে Places API অ্যাক্সেস করার অনুমোদন সেট আপ করতে হবে।

একটি Google ক্লাউড প্রকল্প সেট আপ করুন৷

এই কোডল্যাবের জন্য Google এর সার্ভার API গুলি অ্যাক্সেস করার জন্য বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প প্রয়োজন৷ এই কোডল্যাবের জন্য বিলিং সেটআপ প্রয়োজন, কিন্তু যদি কোনো প্রকল্প তার নো-চার্জ পরিষেবার কোটা অতিক্রম করে তবেই আপনাকে চার্জ করা হবে৷

Google ক্লাউডে একটি প্রকল্প সেট আপ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. গুগল ক্লাউড কনসোলে একটি প্রকল্প তৈরি করুন। একটি Google ক্লাউড প্রকল্প তৈরি করুন
  2. প্রকল্পের নাম টেক্সট বক্সে, একটি উপযুক্ত নাম লিখুন, যেমন ARCore Geospatial Project , এবং তারপর যেকোনো অবস্থান বেছে নিন।
  3. তৈরি করুন ক্লিক করুন।
  4. প্রকল্প-নির্বাচক পৃষ্ঠায় Google ক্লাউড কনসোলে , প্রকল্প তৈরি করুন ক্লিক করুন।
  5. বিলিং সক্ষম করুন দেখুন এবং ফটোরিয়ালিস্টিক 3D টাইলসের মূল্য পর্যালোচনা করুন এবং স্থান API (নতুন) এর জন্য মূল্য নির্ধারণ করুন

মানচিত্র টাইলস API সক্ষম করুন৷

ম্যাপ টাইলস এপিআই ফটোরিয়ালিস্টিক 3D টাইলস প্রদান করে, যা ইউনিটি এডিটরে দৃশ্যমান।

ARCore API সক্ষম করুন

Google ক্লাউডে ARCore API আপনাকে লক্ষ্য ডিভাইসে ARCore জিওস্পেশিয়াল API অ্যাক্সেস করতে দেয়।

  • ARCore API সক্ষম করতে, নিম্নলিখিত বোতামটি ক্লিক করুন, এবং তারপর সক্রিয় নির্বাচন করুন:

স্থান API সক্ষম করুন

Google Maps প্ল্যাটফর্ম থেকে Places API আপনাকে 200 মিলিয়নেরও বেশি জায়গার লোকেশন ডেটা পেতে দেয়, যা আপনি কোডল্যাবে ব্যবহার করবেন সংশ্লিষ্ট জায়গাগুলি খুঁজে পেতে৷ এই API স্থানগুলির জন্য অনুসন্ধান ফলাফল এবং ভৌগলিক স্থানাঙ্ক প্রদান করে।

  • Places API সক্ষম করতে, নিম্নলিখিত বোতামে ক্লিক করুন, এবং তারপর সক্রিয় নির্বাচন করুন:

আপনার প্রকল্পের জন্য একটি API কী তৈরি করুন

দূরবর্তী Google ক্লাউড পরিষেবাগুলির সাথে আপনার অ্যাপকে প্রমাণীকরণ করতে API কী প্রমাণীকরণ ব্যবহার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. এপিআই এবং পরিষেবার অধীনে Google ক্লাউড কনসোলে, শংসাপত্র নির্বাচন করুন।
  2. পৃষ্ঠার শীর্ষে, শংসাপত্র তৈরি করুন ক্লিক করুন এবং তারপরে API কী নির্বাচন করুন।
  3. কীটি নোট করুন কারণ পরবর্তী পদক্ষেপের জন্য আপনার এটি প্রয়োজন।

সফটওয়্যার সেট আপ করুন

জিওস্পেশিয়াল ক্রিয়েটর সফ্টওয়্যার দিয়ে শুরু করতে, এই ধাপগুলি অনুসরণ করুন:

  1. এই সংগ্রহস্থল ক্লোন করুন.
  2. ইউনিটি হাব ডাউনলোড করুন এবং ইউনিটি সংস্করণ 2022.3 ইনস্টল করতে এটি ব্যবহার করুন। আপনি Android বা iOS ঐচ্ছিক বিল্ড টুল ইনস্টল করছেন তা নিশ্চিত করুন।
  3. ইউনিটি হাবে, অ্যাড টিপুন > ডিস্ক থেকে প্রকল্প যোগ করুন
  4. হায়ারার্কি প্যানেলে, এআর জিওস্পেশিয়াল ক্রিয়েটর অরিজিন নির্বাচন করুন।
  5. Google মানচিত্র টাইল API কী পাঠ্য বাক্সে, API কী ঢোকান এবং তারপরে Enter টিপুন (অথবা macOS এ return )। ভূ-স্থানীয় সৃষ্টিকর্তার মূলে আপনার API কী সন্নিবেশ করান
  6. এডিট > প্রোজেক্ট সেটিংস > XR প্লাগ-ইন ম্যানেজমেন্ট > ARCore এক্সটেনশনে , Android বা iOS এর জন্য API কী প্রমাণীকরণ ব্যবহার করুন এবং API কী সন্নিবেশ করুন।
  7. ফাইল > বিল্ড সেটিংসে , লক্ষ্য প্ল্যাটফর্মটিকে অ্যান্ড্রয়েড বা আইওএস-এ স্যুইচ করুন।

3. আপনার প্রথম অ্যাঙ্কর তৈরি করুন

এই কোডল্যাবে, আপনি একটি এআর অ্যাঙ্কর তৈরি করেন যা একাধিক স্থানে ব্যবহার করা যেতে পারে। আপনি উদাহরণ হিসাবে সান ফ্রান্সিসকো, ক্যালিফোর্নিয়ার পাবলিক লাইব্রেরি ব্যবহার করেন, তবে আপনার কাছাকাছি অবস্থানগুলি ব্যবহার করতে নির্দ্বিধায়৷

ভূ-স্থানিক সৃষ্টিকর্তার উৎপত্তি উপাদান সম্পর্কে

ভূ-স্থানিক সৃষ্টিকর্তার সাথে নির্মিত প্রতিটি ইউনিটি দৃশ্যের জন্য ঠিক একজন ভূ-স্থানীয় সৃষ্টিকর্তার উৎস প্রয়োজন। এই গেম অবজেক্টটি বাস্তব-বিশ্বের অক্ষাংশ, দ্রাঘিমাংশ এবং উচ্চতার মানকে ইউনিটি গেমের স্থানাঙ্কে রূপান্তর করার জন্য রেফারেন্স পয়েন্ট।

নমুনা প্রকল্পে একটি ভূ-স্থানীয় ক্রিয়েটর অরিজিন রয়েছে, যেটি সম্পাদকের Scene ফটোরিয়ালিস্টিক 3D টাইলস রেন্ডার করতে সিসিয়াম ব্যবহার করে এবং বিশ্বের ঠিক কোথায় আপনার AR সামগ্রী প্রদর্শিত হবে তা আপনাকে কল্পনা করতে দেয়৷

মূল সরান

সান ফ্রান্সিসকো প্রধান লাইব্রেরি শাখার অক্ষাংশ এবং দ্রাঘিমাংশে ভূ-স্থানীয় সৃষ্টিকর্তার উত্স সরান৷

স্থানের এপিআই-এর সাথে ভূ-স্থানীয় সৃষ্টিকর্তার বিল্ট-ইন ইন্টিগ্রেশন ব্যবহার করতে স্বয়ংক্রিয়ভাবে সঠিক অবস্থানে মূল স্থানান্তর করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. হায়ারার্কি প্যানেলে, জিওস্পেশিয়াল ক্রিয়েটর অরিজিন গেম অবজেক্ট সিলেক্ট করুন।
  2. পরিদর্শক প্যানেলে, অবস্থানের জন্য অনুসন্ধান করুন ক্লিক করুন।
  3. অনুসন্ধান ডায়ালগে, San Francisco Public Library টাইপ করুন। প্রথম ফলাফল 100 লারকিন স্ট্রিটে হওয়া উচিত।
  4. উদ্ভবের অনুসন্ধান ফলাফল প্রয়োগ করতে বস্তুতে প্রয়োগ করুন ক্লিক করুন। নতুন স্থানাঙ্কে মূলের অক্ষাংশ এবং দ্রাঘিমাংশ আপডেট করা আপনার দেখতে হবে।

ভবনটি দৃশ্যমান

দৃশ্যে একটি ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর যোগ করুন

এখন যেহেতু একটি অরিজিন বিদ্যমান, গেমঅবজেক্ট > XR > AR জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্কর ব্যবহার করে একটি জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্কর যোগ করুন। ডিফল্টরূপে, অ্যাঙ্করটি উৎপত্তির সাথে সহ-অবস্থিত থাকবে।

আমাদের 3D AR কন্টেন্ট স্থাপন করতে এই অ্যাঙ্কর ব্যবহার করুন। নমুনা প্রকল্পের সাথে একটি বইয়ের একটি 3D মডেল অন্তর্ভুক্ত করা হয়েছে।

আপনার দৃশ্যে বইটি রাখতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. প্রজেক্ট প্যানেলে, বইয়ের মডেলটিকে এডিটর ভিউ প্যানে টেনে আনুন।
  2. হায়ারার্কি প্যানেলে, নিশ্চিত করুন যে বইটি আপনার আগে তৈরি করা অ্যাঙ্করের সন্তান। জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্করের যেকোনো চাইল্ড গেম অবজেক্ট অ্যাঙ্করের সাপেক্ষে অবস্থান করা হবে।
  3. হায়ারার্কি প্যানেলে, বইটি নির্বাচন করুন। এর অবস্থানের মান 0, 0, 0 এ সেট করুন।

বই দৃশ্য যোগ করা হয়

এডিটর ভিউতে এই মডেলটি দেখার সময়, এটি স্পষ্ট যে কিছু ভুল আছে: অ্যাঙ্করের ডিফল্ট উচ্চতা লাইব্রেরির ছাদের পৃষ্ঠের নীচে, যখন এটি তার উপরে ভাসতে হবে।

আপনি যখন আনুমানিক WGS84 উচ্চতা খুঁজে বের করতে সম্পাদকে বস্তুটিকে স্থানান্তর করতে পারেন, এই পরিস্থিতিতে ভূ-স্থানিক অ্যাঙ্করগুলিকে একটি ছাদ অ্যাঙ্কর হিসাবে কনফিগার করা পছন্দ করা হয় যাতে তারা উপরের কাঠামোর ছাদের সাথে তুলনা করে তাদের উচ্চতা স্বয়ংক্রিয়ভাবে স্থির থাকে।

  • এটি করার জন্য, অ্যাঙ্করের পরিদর্শক প্যানেলটি খুলুন এবং Altitude Type বৈশিষ্ট্যটিকে Rooftop এ সেট করুন।

পরিদর্শক প্যানেল

এটি করার পরে, নোট করুন যে এডিটর ভিউতে অ্যাঙ্করের উচ্চতা পরিবর্তন হয় না। এর কারণ হল রুফটপ এবং টেরেন অ্যাঙ্করগুলির জন্য অ্যাঙ্করটি সমাধান করার সময় রানটাইমে অ্যাঙ্করের উচ্চতা নির্ধারণ করা হয়। Scene দৃশ্যে ছাদে অ্যাঙ্করটি কল্পনা করতে, আপনি স্ন্যাপ টু টাইল বোতামটি ব্যবহার করতে পারেন। এটি Scene দৃশ্যে টাইলের সাথে মিলিত হওয়ার জন্য অ্যাঙ্করের উচ্চতা সেট করে, রানটাইমে সমাধান করা অ্যাঙ্করের উচ্চতাকে প্রভাবিত করে না।

  • মডেলটিকে লাইব্রেরির ছাদের উপরে ভাসানোর পরিবর্তে এটিতে বিশ্রাম নেওয়ার জন্য, Altitude relative to rooftop পরিবর্তন করে ছাদের উপরে 15 মিটার করুন৷

মডেলটি এখন লাইব্রেরির ওপর দিয়ে ভাসছে সুন্দরভাবে!

বইটি সঠিক উচ্চতায় রয়েছে

আপনার প্রোজেক্টে এখন একটি সম্পূর্ণ জিওস্পেশিয়াল এআর দৃশ্য রয়েছে, যার মধ্যে সমস্ত প্রয়োজনীয় AR সিস্টেম উপাদান, একটি জিওস্পেশিয়াল ক্রিয়েটর অরিজিন এবং একটি সংযুক্ত মডেল সহ একটি অ্যাঙ্কর রয়েছে।

এরপরে, অতিরিক্ত লাইব্রেরি অবস্থানে ডুপ্লিকেট অ্যাঙ্কর তৈরি করুন।

4. Places API দিয়ে নতুন অ্যাঙ্কর অবস্থান খুঁজুন

Google Maps প্ল্যাটফর্ম থেকে Places API আপনাকে 200 মিলিয়নেরও বেশি স্থানের অবস্থানের ডেটা পেতে দেয়৷ এই কোডল্যাবে, আপনি সান ফ্রান্সিসকোতে পাবলিক লাইব্রেরির অন্যান্য শাখা খুঁজে পেতে এই API ব্যবহার করেন এবং পরবর্তী দশটি অনুসন্ধান ফলাফলের জন্য একটি ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর তৈরি করতে সেই ফলাফলগুলি ব্যবহার করেন।

  • শুরু করতে, Assets > Scripts > Editor-এ ক্লিক করুন এবং তারপর ' AnchorDuplicator.cs ' ফাইল খুলুন। এই ফাইলটি কিছু বয়লারপ্লেট কোড প্রদান করে যা আপনাকে Places API দিয়ে শুরু করতে এবং এর ফলাফল পার্স করতে সাহায্য করে।

Places API দিয়ে প্রমাণীকরণ করুন

  1. AnchorDuplicator ক্লাসে নিম্নলিখিত লাইনটি সনাক্ত করুন:
    private const string API_KEY = "<YOUR_API_KEY_HERE>";
    
  2. সেটআপ ধাপে প্রাপ্ত কী দিয়ে <YOUR_API_KEY_HERE> প্রতিস্থাপন করুন।

একটি অনুসন্ধান শব্দের জন্য স্থান API জিজ্ঞাসা করুন

Places API অনুমোদন সেটআপ সম্পন্ন হলে, আপনি কোড লিখতে পারেন যা একটি POST অনুরোধ শুরু করে।

  • এটি করতে, CreatePlacesRequest পদ্ধতি খুঁজুন এবং নিম্নলিখিত পদ্ধতি সংজ্ঞা ব্যবহার করুন:
    string postBody = "{ \"textQuery\": \"" + searchTerm + "\", " + 
                        "   \"locationBias\": { \"circle\": { " +
                        "      \"center\": { \"latitude\": " + lat + ", \"longitude\": " + lon + " }, " +
                        "      \"radius\": 10000 }" +
                        "   }" +
                        "}";
    
    string url = "https://places.googleapis.com/v1/places:searchText";
    
    UnityWebRequest request = UnityWebRequest.Post(url, postBody, "application/json");
    request.SetRequestHeader("X-Goog-Api-Key", apiKey);
    request.SetRequestHeader("X-Goog-FieldMask", "places.displayName,places.location");
    
    return request;
    
    এখন, যখন CreatePlacesRequest পদ্ধতিটি কল করা হয়, তখন একটি অনুরোধ করা হয় যা lat এবং lon কেন্দ্রিক একটি বৃত্তে searchTerm অনুসন্ধান করে।

আপনার কাজ পরীক্ষা করুন

আপনি চালিয়ে যাওয়ার আগে, আপনাকে যাচাই করতে হবে যে Places API-এ কলগুলি সফল হয়েছে৷

  1. ইউনিটি এডিটরে ফাংশন চালান:
    1. Google AR কোডল্যাবে , Run Places Request-এ ক্লিক করুন।
    2. ইউনিটি কনসোল খুলুন। আপনি ফলাফল প্রদর্শিত দেখতে হবে. স্থানগুলি কনসোলে প্রদর্শিত হবে৷

5. প্রোগ্রামগতভাবে জায়গায় অ্যাঙ্কর যোগ করুন

এখন যেহেতু আপনি যাচাই করেছেন যে Places API ফলাফলগুলি খুঁজে পায়, ফলাফল দ্বারা নির্দিষ্ট প্রতিটি অবস্থানে নতুন ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর তৈরি করুন৷

একটি মেনু আইটেম তৈরি করুন

  1. AnchorDuplicator ক্লাসে, CreateNewAnchorsFromPlaces পদ্ধতিটি খুঁজুন এবং নিম্নলিখিত পদ্ধতির সংজ্ঞাটি ব্যবহার করুন:
    if (_places == null)
    {
        Debug.LogError("Cannot create anchors: Places has not been initialized.");
        return;
    }
    
    // You start with only one anchor in the scene, which you want to copy:
    var prototypeAnchorObject = GameObject
        .FindObjectOfType<ARGeospatialCreatorAnchor>()
        .gameObject;
    
    foreach (var place in _places)
    {
        var newAnchorObject = GameObject.Instantiate(prototypeAnchorObject);
        var anchor = newAnchorObject.GetComponent<ARGeospatialCreatorAnchor>();
        anchor.Latitude = place.location.latitude;
        anchor.Longitude = place.location.longitude;
    
        newAnchorObject.name = place.displayName.text;
    }
    
    এই মেনু আইটেমটি পূর্বে শুরু হওয়া একটি অনুরোধ চেক করে এবং অ্যাঙ্কর তৈরির জন্য একটি প্রোটোটাইপ হিসাবে আপনার দৃশ্যে প্রথম ARGeospatialCreatorAnchor ব্যবহার করে, স্থান প্রতি এপিআই ফলাফলে একটি।
  2. অ্যাঙ্করগুলি তৈরি করতে Google AR Codelab-Places রেসপন্স মেনু আইটেম থেকে নতুন নতুন অ্যাঙ্কর তৈরি করুন ব্যবহার করুন।
  3. আপনি একাধিক অ্যাঙ্করকে হায়ারার্কি প্যানে দেখতে পাবেন।

অ্যাঙ্করের অবস্থান যাচাই করুন

আপনি অ্যাপটি চালানোর আগে সমস্ত সম্পদ সঠিক স্থানে নোঙ্গর করা হয়েছে তা যাচাই করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. হায়ারার্কি প্যানে একটি যোগ করা অ্যাঙ্করে ক্লিক করুন।
  2. F চাপুন।
  3. Scene দৃশ্যে অ্যাঙ্কর পরিদর্শন করুন।
  4. যদি একটি নোঙ্গর সঠিক অবস্থানে না থাকে, তাহলে Snap to Tile এ ক্লিক করুন, অথবা Latitude , Longitude , বা Editor Override Altitude মান ম্যানুয়ালি পরিবর্তন করুন৷

6. এআর-এ সম্পদ দেখুন

আপনার ARCore-সমর্থিত Android বা iOS ডিভাইসে AR-তে সম্পদ দেখতে, এই ধাপগুলি অনুসরণ করুন:

  1. File > Build Settings এ ক্লিক করুন এবং তারপর Android বা iOS বিল্ড প্ল্যাটফর্ম নির্বাচন করুন।
  2. স্যুইচ প্ল্যাটফর্মে ক্লিক করুন।
  3. নিশ্চিত করুন যে আপনার ডেভেলপমেন্ট ডিভাইস কানেক্ট করা আছে এবং ডেভেলপমেন্টের জন্য কনফিগার করা আছে।
  4. Build and run এ ক্লিক করুন।
  5. অ্যাপটি আপনার ডিভাইসে চলে তা নিশ্চিত করুন।
  6. যেখানে আপনি বিষয়বস্তু অ্যাঙ্কর করেছেন সেখানে যান। আপনি উদাহরণগুলি পরিবর্তন না করলে, অবস্থানগুলি সান ফ্রান্সিসকোতে পাবলিক লাইব্রেরি।

AR অভিজ্ঞতা দেখুন

7. উপসংহার

অভিনন্দন! আপনি একটি ইউনিটি অ্যাপ লিখেছেন যা একটি প্রাথমিক টেমপ্লেট ব্যবহার করে একাধিক ভূ-স্থানিক অভিজ্ঞতা তৈরি করতে জিওস্পেশিয়াল ক্রিয়েটর এবং Google ম্যাপ প্ল্যাটফর্ম প্লেস এপিআই ব্যবহার করে। আমরা আশা করি আপনি এই জ্ঞান ব্যবহার করে আপনার জিওস্পেশিয়াল ক্রিয়েটর সামগ্রীর নাগালের প্রসারিত করতে পারবেন!

আরও জানুন

,

1. আপনি শুরু করার আগে

জিওস্পেশিয়াল ক্রিয়েটর ইন ইউনিটি, Google ম্যাপ প্ল্যাটফর্ম থেকে ARCore এবং ফটোরিয়ালিস্টিক 3D টাইলস দ্বারা চালিত, আপনাকে একটি নির্দিষ্ট অক্ষাংশ এবং দ্রাঘিমাংশের জন্য অগমেন্টেড-রিয়েলিটি (AR) অভিজ্ঞতাগুলি দ্রুত তৈরি করতে এবং কল্পনা করতে দেয়, সমস্তই ইউনিটি এডিটরের মধ্যে। এটি আপনার অ্যাপের জন্য একটি একক জিওলোকেটেড এআর দৃশ্য তৈরি করতে যে সময় লাগে তা অনেকাংশে কমিয়ে দিতে পারে, কিন্তু আপনি যদি বিভিন্ন স্থানে একই ধরনের অভিজ্ঞতা তৈরি করতে চান তাহলে কী হবে? জিওস্পেশিয়াল ক্রিয়েটরে C# API ব্যবহার করে, আপনি এটিও করতে পারেন।

এই কোডল্যাবে, আপনি C# কোড লিখবেন যেটি একটি প্রাথমিক টেমপ্লেট ব্যবহার করে একাধিক ভূ-স্থানিক অভিজ্ঞতা তৈরি করতে Google মানচিত্র প্ল্যাটফর্ম থেকে জিওস্পেশিয়াল ক্রিয়েটর এবং প্লেস এপিআই ব্যবহার করে। ফলস্বরূপ অভিজ্ঞতাগুলি একটি অ্যাপে সংকলিত হওয়ার আগে ইউনিটি এডিটরে অন্বেষণ এবং সূক্ষ্ম সুর করা যেতে পারে।

বইটি সঠিক উচ্চতায় রয়েছে

পূর্বশর্ত

  • AR এর প্রাথমিক জ্ঞান
  • ARCore Geospatial API- এর প্রাথমিক জ্ঞান

আপনি কি শিখবেন

  • একাধিক অবস্থানে একটি ভূ-স্থানীয় অভিজ্ঞতা তৈরি এবং কল্পনা করতে জিওস্পেশিয়াল ক্রিয়েটরে APIগুলি কীভাবে ব্যবহার করবেন।
  • স্থানগুলির অবস্থানগুলি খুঁজতে Google Maps প্ল্যাটফর্ম থেকে Places API কীভাবে ব্যবহার করবেন।
  • কীভাবে আপনার ডিভাইসে এআর অভিজ্ঞতা চালাবেন।

আপনি কি প্রয়োজন হবে

2. আপনার পরিবেশ সেট আপ করুন

Geospatial Creator ব্যবহার করার জন্য, আপনাকে ফটোরিয়ালিস্টিক 3D টাইলস, Google ক্লাউডে ARCore পরিষেবা এবং Google Maps প্ল্যাটফর্ম থেকে Places API অ্যাক্সেস করার অনুমোদন সেট আপ করতে হবে।

একটি Google ক্লাউড প্রকল্প সেট আপ করুন৷

এই কোডল্যাবের জন্য Google এর সার্ভার API গুলি অ্যাক্সেস করার জন্য বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প প্রয়োজন৷ এই কোডল্যাবের জন্য বিলিং সেটআপ প্রয়োজন, কিন্তু যদি কোনো প্রকল্প তার নো-চার্জ পরিষেবার কোটা অতিক্রম করে তবেই আপনাকে চার্জ করা হবে৷

Google ক্লাউডে একটি প্রকল্প সেট আপ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. গুগল ক্লাউড কনসোলে একটি প্রকল্প তৈরি করুন। একটি Google ক্লাউড প্রকল্প তৈরি করুন
  2. প্রকল্পের নাম টেক্সট বক্সে, একটি উপযুক্ত নাম লিখুন, যেমন ARCore Geospatial Project , এবং তারপর যেকোনো অবস্থান বেছে নিন।
  3. তৈরি করুন ক্লিক করুন।
  4. প্রকল্প-নির্বাচক পৃষ্ঠায় Google ক্লাউড কনসোলে , প্রকল্প তৈরি করুন ক্লিক করুন।
  5. বিলিং সক্ষম করুন দেখুন এবং ফটোরিয়ালিস্টিক 3D টাইলসের মূল্য পর্যালোচনা করুন এবং স্থান API (নতুন) এর জন্য মূল্য নির্ধারণ করুন

মানচিত্র টাইলস API সক্ষম করুন৷

ম্যাপ টাইলস এপিআই ফটোরিয়ালিস্টিক 3D টাইলস প্রদান করে, যা ইউনিটি এডিটরে দৃশ্যমান।

ARCore API সক্ষম করুন

Google ক্লাউডে ARCore API আপনাকে লক্ষ্য ডিভাইসে ARCore জিওস্পেশিয়াল API অ্যাক্সেস করতে দেয়।

  • ARCore API সক্ষম করতে, নিম্নলিখিত বোতামটি ক্লিক করুন, এবং তারপর সক্রিয় নির্বাচন করুন:

স্থান API সক্ষম করুন

Google Maps প্ল্যাটফর্ম থেকে Places API আপনাকে 200 মিলিয়নেরও বেশি জায়গার লোকেশন ডেটা পেতে দেয়, যা আপনি কোডল্যাবে ব্যবহার করবেন সংশ্লিষ্ট জায়গাগুলি খুঁজে পেতে৷ এই API স্থানগুলির জন্য অনুসন্ধান ফলাফল এবং ভৌগলিক স্থানাঙ্ক প্রদান করে।

  • Places API সক্ষম করতে, নিম্নলিখিত বোতামে ক্লিক করুন, এবং তারপর সক্রিয় নির্বাচন করুন:

আপনার প্রকল্পের জন্য একটি API কী তৈরি করুন

দূরবর্তী Google ক্লাউড পরিষেবাগুলির সাথে আপনার অ্যাপকে প্রমাণীকরণ করতে API কী প্রমাণীকরণ ব্যবহার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. এপিআই এবং পরিষেবার অধীনে Google ক্লাউড কনসোলে, শংসাপত্র নির্বাচন করুন।
  2. পৃষ্ঠার শীর্ষে, শংসাপত্র তৈরি করুন ক্লিক করুন এবং তারপরে API কী নির্বাচন করুন।
  3. কীটি নোট করুন কারণ পরবর্তী পদক্ষেপের জন্য আপনার এটি প্রয়োজন।

সফটওয়্যার সেট আপ করুন

জিওস্পেশিয়াল ক্রিয়েটর সফ্টওয়্যার দিয়ে শুরু করতে, এই ধাপগুলি অনুসরণ করুন:

  1. এই সংগ্রহস্থল ক্লোন করুন.
  2. ইউনিটি হাব ডাউনলোড করুন এবং ইউনিটি সংস্করণ 2022.3 ইনস্টল করতে এটি ব্যবহার করুন। আপনি Android বা iOS ঐচ্ছিক বিল্ড টুল ইনস্টল করছেন তা নিশ্চিত করুন।
  3. ইউনিটি হাবে, অ্যাড টিপুন > ডিস্ক থেকে প্রকল্প যোগ করুন
  4. হায়ারার্কি প্যানেলে, এআর জিওস্পেশিয়াল ক্রিয়েটর অরিজিন নির্বাচন করুন।
  5. Google মানচিত্র টাইল API কী পাঠ্য বাক্সে, API কী ঢোকান এবং তারপরে Enter টিপুন (অথবা macOS এ return )। ভূ-স্থানীয় সৃষ্টিকর্তার মূলে আপনার API কী সন্নিবেশ করান
  6. এডিট > প্রোজেক্ট সেটিংস > XR প্লাগ-ইন ম্যানেজমেন্ট > ARCore এক্সটেনশনে , Android বা iOS এর জন্য API কী প্রমাণীকরণ ব্যবহার করুন এবং API কী সন্নিবেশ করুন।
  7. ফাইল > বিল্ড সেটিংসে , লক্ষ্য প্ল্যাটফর্মটিকে অ্যান্ড্রয়েড বা আইওএস-এ স্যুইচ করুন।

3. আপনার প্রথম অ্যাঙ্কর তৈরি করুন

এই কোডল্যাবে, আপনি একটি এআর অ্যাঙ্কর তৈরি করেন যা একাধিক স্থানে ব্যবহার করা যেতে পারে। আপনি উদাহরণ হিসাবে সান ফ্রান্সিসকো, ক্যালিফোর্নিয়ার পাবলিক লাইব্রেরি ব্যবহার করেন, তবে আপনার কাছাকাছি অবস্থানগুলি ব্যবহার করতে নির্দ্বিধায়৷

ভূ-স্থানিক সৃষ্টিকর্তার উৎপত্তি উপাদান সম্পর্কে

ভূ-স্থানিক সৃষ্টিকর্তার সাথে নির্মিত প্রতিটি ইউনিটি দৃশ্যের জন্য ঠিক একজন ভূ-স্থানীয় সৃষ্টিকর্তার উৎস প্রয়োজন। এই গেম অবজেক্টটি বাস্তব-বিশ্বের অক্ষাংশ, দ্রাঘিমাংশ এবং উচ্চতার মানকে ইউনিটি গেমের স্থানাঙ্কে রূপান্তর করার জন্য রেফারেন্স পয়েন্ট।

নমুনা প্রকল্পে একটি ভূ-স্থানীয় ক্রিয়েটর অরিজিন রয়েছে, যেটি সম্পাদকের Scene ফটোরিয়ালিস্টিক 3D টাইলস রেন্ডার করতে সিসিয়াম ব্যবহার করে এবং বিশ্বের ঠিক কোথায় আপনার AR সামগ্রী প্রদর্শিত হবে তা আপনাকে কল্পনা করতে দেয়৷

মূল সরান

সান ফ্রান্সিসকো প্রধান লাইব্রেরি শাখার অক্ষাংশ এবং দ্রাঘিমাংশে ভূ-স্থানীয় সৃষ্টিকর্তার উত্স সরান৷

স্থানের এপিআই-এর সাথে ভূ-স্থানীয় সৃষ্টিকর্তার বিল্ট-ইন ইন্টিগ্রেশন ব্যবহার করতে স্বয়ংক্রিয়ভাবে সঠিক অবস্থানে মূল স্থানান্তর করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. হায়ারার্কি প্যানেলে, জিওস্পেশিয়াল ক্রিয়েটর অরিজিন গেম অবজেক্ট সিলেক্ট করুন।
  2. পরিদর্শক প্যানেলে, অবস্থানের জন্য অনুসন্ধান করুন ক্লিক করুন।
  3. অনুসন্ধান ডায়ালগে, San Francisco Public Library টাইপ করুন। প্রথম ফলাফল 100 লারকিন স্ট্রিটে হওয়া উচিত।
  4. উদ্ভবের অনুসন্ধান ফলাফল প্রয়োগ করতে বস্তুতে প্রয়োগ করুন ক্লিক করুন। নতুন স্থানাঙ্কে মূলের অক্ষাংশ এবং দ্রাঘিমাংশ আপডেট করা আপনার দেখতে হবে।

ভবনটি দৃশ্যমান

দৃশ্যে একটি ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর যোগ করুন

এখন যেহেতু একটি অরিজিন বিদ্যমান, গেমঅবজেক্ট > XR > AR জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্কর ব্যবহার করে একটি জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্কর যোগ করুন। ডিফল্টরূপে, অ্যাঙ্করটি উৎপত্তির সাথে সহ-অবস্থিত থাকবে।

আমাদের 3D AR কন্টেন্ট স্থাপন করতে এই অ্যাঙ্কর ব্যবহার করুন। নমুনা প্রকল্পের সাথে একটি বইয়ের একটি 3D মডেল অন্তর্ভুক্ত করা হয়েছে।

আপনার দৃশ্যে বইটি রাখতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. প্রজেক্ট প্যানেলে, বইয়ের মডেলটিকে এডিটর ভিউ প্যানে টেনে আনুন।
  2. হায়ারার্কি প্যানেলে, নিশ্চিত করুন যে বইটি আপনার আগে তৈরি করা অ্যাঙ্করের সন্তান। জিওস্পেশিয়াল ক্রিয়েটর অ্যাঙ্করের যেকোনো চাইল্ড গেম অবজেক্ট অ্যাঙ্করের সাপেক্ষে অবস্থান করা হবে।
  3. হায়ারার্কি প্যানেলে, বইটি নির্বাচন করুন। এর অবস্থানের মান 0, 0, 0 এ সেট করুন।

বই দৃশ্য যোগ করা হয়

এডিটর ভিউতে এই মডেলটি দেখার সময়, এটি স্পষ্ট যে কিছু ভুল আছে: অ্যাঙ্করের ডিফল্ট উচ্চতা লাইব্রেরির ছাদের পৃষ্ঠের নীচে, যখন এটি তার উপরে ভাসতে হবে।

আপনি যখন আনুমানিক WGS84 উচ্চতা খুঁজে বের করতে সম্পাদকে বস্তুটিকে স্থানান্তর করতে পারেন, এই পরিস্থিতিতে ভূ-স্থানিক অ্যাঙ্করগুলিকে একটি ছাদ অ্যাঙ্কর হিসাবে কনফিগার করা পছন্দ করা হয় যাতে তারা উপরের কাঠামোর ছাদের সাথে তুলনা করে তাদের উচ্চতা স্বয়ংক্রিয়ভাবে স্থির থাকে।

  • এটি করার জন্য, অ্যাঙ্করের পরিদর্শক প্যানেলটি খুলুন এবং Altitude Type বৈশিষ্ট্যটিকে Rooftop এ সেট করুন।

পরিদর্শক প্যানেল

এটি করার পরে, নোট করুন যে এডিটর ভিউতে অ্যাঙ্করের উচ্চতা পরিবর্তন হয় না। এর কারণ হল রুফটপ এবং টেরেন অ্যাঙ্করগুলির জন্য অ্যাঙ্করটি সমাধান করার সময় রানটাইমে অ্যাঙ্করের উচ্চতা নির্ধারণ করা হয়। Scene দৃশ্যে ছাদে অ্যাঙ্করটি কল্পনা করতে, আপনি স্ন্যাপ টু টাইল বোতামটি ব্যবহার করতে পারেন। এটি Scene দৃশ্যে টাইলের সাথে মিলিত হওয়ার জন্য অ্যাঙ্করের উচ্চতা সেট করে, রানটাইমে সমাধান করা অ্যাঙ্করের উচ্চতাকে প্রভাবিত করে না।

  • মডেলটিকে লাইব্রেরির ছাদের উপরে ভাসানোর পরিবর্তে এটিতে বিশ্রাম নেওয়ার জন্য, Altitude relative to rooftop পরিবর্তন করে ছাদের উপরে 15 মিটার করুন৷

মডেলটি এখন লাইব্রেরির ওপর দিয়ে ভাসছে সুন্দরভাবে!

বইটি সঠিক উচ্চতায় রয়েছে

আপনার প্রোজেক্টে এখন একটি সম্পূর্ণ জিওস্পেশিয়াল এআর দৃশ্য রয়েছে, যার মধ্যে সমস্ত প্রয়োজনীয় AR সিস্টেম উপাদান, একটি জিওস্পেশিয়াল ক্রিয়েটর অরিজিন এবং একটি সংযুক্ত মডেল সহ একটি অ্যাঙ্কর রয়েছে।

এরপরে, অতিরিক্ত লাইব্রেরি অবস্থানে ডুপ্লিকেট অ্যাঙ্কর তৈরি করুন।

4. Places API দিয়ে নতুন অ্যাঙ্কর অবস্থান খুঁজুন

Google Maps প্ল্যাটফর্ম থেকে Places API আপনাকে 200 মিলিয়নেরও বেশি স্থানের অবস্থানের ডেটা পেতে দেয়৷ এই কোডল্যাবে, আপনি সান ফ্রান্সিসকোতে পাবলিক লাইব্রেরির অন্যান্য শাখা খুঁজে পেতে এই API ব্যবহার করেন এবং পরবর্তী দশটি অনুসন্ধান ফলাফলের জন্য একটি ভূ-স্থানীয় সৃষ্টিকর্তা অ্যাঙ্কর তৈরি করতে সেই ফলাফলগুলি ব্যবহার করেন।

  • শুরু করতে, Assets > Scripts > Editor-এ ক্লিক করুন এবং তারপর ' AnchorDuplicator.cs ' ফাইল খুলুন। এই ফাইলটি কিছু বয়লারপ্লেট কোড প্রদান করে যা আপনাকে Places API দিয়ে শুরু করতে এবং এর ফলাফল পার্স করতে সাহায্য করে।

Places API দিয়ে প্রমাণীকরণ করুন

  1. AnchorDuplicator ক্লাসে নিম্নলিখিত লাইনটি সনাক্ত করুন:
    private const string API_KEY = "<YOUR_API_KEY_HERE>";
    
  2. সেটআপ ধাপে প্রাপ্ত কী দিয়ে <YOUR_API_KEY_HERE> প্রতিস্থাপন করুন।

একটি অনুসন্ধান শব্দের জন্য স্থান API জিজ্ঞাসা করুন

Places API অনুমোদন সেটআপ সম্পন্ন হলে, আপনি কোড লিখতে পারেন যা একটি POST অনুরোধ শুরু করে।

  • এটি করতে, CreatePlacesRequest পদ্ধতি খুঁজুন এবং নিম্নলিখিত পদ্ধতি সংজ্ঞা ব্যবহার করুন:
    string postBody = "{ \"textQuery\": \"" + searchTerm + "\", " + 
                        "   \"locationBias\": { \"circle\": { " +
                        "      \"center\": { \"latitude\": " + lat + ", \"longitude\": " + lon + " }, " +
                        "      \"radius\": 10000 }" +
                        "   }" +
                        "}";
    
    string url = "https://places.googleapis.com/v1/places:searchText";
    
    UnityWebRequest request = UnityWebRequest.Post(url, postBody, "application/json");
    request.SetRequestHeader("X-Goog-Api-Key", apiKey);
    request.SetRequestHeader("X-Goog-FieldMask", "places.displayName,places.location");
    
    return request;
    
    এখন, যখন CreatePlacesRequest পদ্ধতিটি কল করা হয়, তখন একটি অনুরোধ করা হয় যা lat এবং lon কেন্দ্রিক একটি বৃত্তে searchTerm অনুসন্ধান করে।

আপনার কাজ পরীক্ষা করুন

আপনি চালিয়ে যাওয়ার আগে, আপনাকে যাচাই করতে হবে যে Places API-এ কলগুলি সফল হয়েছে৷

  1. Unity ক্য সম্পাদকটিতে ফাংশনগুলি চালান:
    1. গুগল এআর কোডেল্যাব -এ, রান প্লেস অনুরোধ ক্লিক করুন।
    2. ইউনিটি কনসোলটি খুলুন। আপনার ফলাফল দেখা উচিত। কনসোলে স্থানগুলি উপস্থিত হয়

5 .. প্রোগ্রামে জায়গাগুলিতে অ্যাঙ্কর যুক্ত করুন

এখন আপনি যাচাই করেছেন যে স্থানগুলি এপিআই ফলাফলগুলি খুঁজে পেয়েছে, ফলাফল দ্বারা নির্দিষ্ট প্রতিটি স্থানে নতুন জিওপ্যাসিয়াল স্রষ্টা অ্যাঙ্কর তৈরি করুন।

একটি মেনু আইটেম তৈরি করুন

  1. AnchorDuplicator শ্রেণিতে, CreateNewAnchorsFromPlaces পদ্ধতিটি সন্ধান করুন এবং নিম্নলিখিত পদ্ধতি সংজ্ঞাটি ব্যবহার করুন:
    if (_places == null)
    {
        Debug.LogError("Cannot create anchors: Places has not been initialized.");
        return;
    }
    
    // You start with only one anchor in the scene, which you want to copy:
    var prototypeAnchorObject = GameObject
        .FindObjectOfType<ARGeospatialCreatorAnchor>()
        .gameObject;
    
    foreach (var place in _places)
    {
        var newAnchorObject = GameObject.Instantiate(prototypeAnchorObject);
        var anchor = newAnchorObject.GetComponent<ARGeospatialCreatorAnchor>();
        anchor.Latitude = place.location.latitude;
        anchor.Longitude = place.location.longitude;
    
        newAnchorObject.name = place.displayName.text;
    }
    
    এই মেনু আইটেমটি পূর্বে শুরু হওয়া অনুরোধটি পরীক্ষা করে এবং আপনার দৃশ্যে প্রথম ARGeospatialCreatorAnchor অ্যাঙ্কর তৈরির জন্য প্রোটোটাইপ হিসাবে ব্যবহার করে, জায়গাগুলি এপিআই ফলাফলের জন্য প্রতি স্থান হিসাবে একটি।
  2. অ্যাঙ্করগুলি তৈরি করতে গুগল এআর কোডল্যাব -এ জায়গাগুলি প্রতিক্রিয়া মেনু আইটেম থেকে নতুন তৈরি নতুন অ্যাঙ্করগুলি ব্যবহার করুন।
  3. আপনার একাধিক নোঙ্গর শ্রেণিবিন্যাসের ফলকে উপস্থিত হওয়া উচিত।

অ্যাঙ্কর এর অবস্থানগুলি যাচাই করুন

অ্যাপ্লিকেশনটি চালানোর আগে সমস্ত সম্পদ সঠিক স্থানে নোঙ্গর করা হয়েছে তা যাচাই করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. শ্রেণিবিন্যাসে একটি যুক্ত অ্যাঙ্কর ক্লিক করুন।
  2. টিপুন
  3. Scene দৃশ্যে অ্যাঙ্করটি পরিদর্শন করুন।
  4. যদি কোনও অ্যাঙ্কর সঠিক স্থানে না থাকে তবে টাইলের জন্য স্ন্যাপ ক্লিক করুন বা ম্যানুয়ালি Latitude , Longitude , বা Editor Override Altitude

6 .. এআর এ সম্পদ দেখুন

আপনার আর্কোর-সমর্থিত অ্যান্ড্রয়েড বা আইওএস ডিভাইসে এআর-তে সম্পদ দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ফাইল> সেটিংস তৈরি করুন ক্লিক করুন এবং তারপরে অ্যান্ড্রয়েড বা আইওএস বিল্ড প্ল্যাটফর্মগুলি নির্বাচন করুন।
  2. স্যুইচ প্ল্যাটফর্ম ক্লিক করুন।
  3. আপনার বিকাশ ডিভাইসটি সংযুক্ত এবং বিকাশের জন্য কনফিগার করা হয়েছে তা নিশ্চিত করুন।
  4. বিল্ড এবং চালানো ক্লিক করুন।
  5. নিশ্চিত করুন যে অ্যাপটি আপনার ডিভাইসে চলে।
  6. আপনি যে জায়গাগুলি নোঙ্গর করেছেন সেগুলি দেখুন। আপনি যদি উদাহরণগুলি পরিবর্তন না করেন তবে অবস্থানগুলি সান ফ্রান্সিসকোতে পাবলিক লাইব্রেরি।

এআর অভিজ্ঞতা দেখুন

7. উপসংহার

অভিনন্দন! আপনি একটি unity ক্য অ্যাপ্লিকেশন লিখেছেন যা জিওপ্যাটিয়াল স্রষ্টা এবং গুগল ম্যাপস প্ল্যাটফর্ম ব্যবহার করে প্রাথমিক টেম্পলেট ব্যবহার করে একাধিক ভূ -স্থানিক অভিজ্ঞতা তৈরি করতে এপিআই রাখে। আমরা আশা করি আপনি এই জ্ঞানটি আপনার জিওপ্যাসিয়াল স্রষ্টা সামগ্রীর কাছে পৌঁছাতে প্রসারিত করতে ব্যবহার করতে পারেন!

আরও জানুন