iOS-এ আপনার চারপাশের ভবন এবং ভূখণ্ড ব্যবহার করুন

স্ট্রিটস্কেপ জ্যামিতি API একটি দৃশ্যে ভূখণ্ড, ভবন বা অন্যান্য কাঠামোর জ্যামিতি প্রদান করে। জ্যামিতিটি হিট-টেস্ট API-এর মাধ্যমে আটকানো, রেন্ডারিং বা AR সামগ্রী রাখার জন্য ব্যবহার করা যেতে পারে। স্ট্রিটস্কেপ জ্যামিতি ডেটা Google রাস্তার দৃশ্য চিত্রের মাধ্যমে প্রাপ্ত করা হয়।

নমুনা চেষ্টা করুন

GeospatialExample অ্যাপটি দেখায় কিভাবে স্ট্রিটস্কেপ জ্যামিতি প্রাপ্ত এবং রেন্ডার করা যায়।

Geospatial API সেট আপ করুন

স্ট্রিটস্কেপ জ্যামিতি ব্যবহার করতে, আপনাকে আপনার প্রকল্পে জিওস্পেশিয়াল API সেট আপ করতে হবে। জিওস্পেশিয়াল এপিআই সেট আপ করতে জিওস্পেশিয়াল এপিআই সক্ষম করার নির্দেশাবলী অনুসরণ করুন।

স্ট্রিটস্কেপ জ্যামিতি সক্ষম করুন

GARGeospatialMode GARGeospatialModeEnabled এ সেট করা হলে এবং GARStreetscapeGeometryMode GARStreetscapeGeometryModeEnabled এ সেট করা হলে Geospatial API Streetscape জ্যামিতি ডেটা পায়।

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
configuration.streetscapeGeometryMode = GARStreetscapeGeometryModeEnabled;
[garSession setConfiguration:configuration error:&error];

একটি ARCore সেশনে স্ট্রিটস্কেপ জ্যামিতি পান

সমস্ত GARStreetscapeGeometry বস্তু পেতে GARFrame.streetscapeGeometries ব্যবহার করুন।

GARStreetscapeGeometry বুঝুন

GARStreetscapeGeometry একটি বিল্ডিং সম্পর্কে তথ্য রয়েছে:

বিল্ডিং LOD 1

GARStreetscapeGeometryQualityBuildingLOD_1 বিল্ডিং পায়ের ছাপ একটি সমতল শীর্ষে উপরের দিকে প্রসারিত করে। বিল্ডিং উচ্চতা ভুল হতে পারে.

বিল্ডিং LOD 2

GARStreetscapeGeometryQualityBuildingLOD_2 উচ্চতর বিশ্বস্ততা জ্যামিতি থাকবে। জাল দেয়াল এবং ছাদগুলি বিল্ডিংয়ের আকারের সাথে আরও ঘনিষ্ঠভাবে মিলবে। চিমনি বা ছাদের ভেন্টের মতো ছোট বৈশিষ্ট্যগুলি এখনও জালের বাইরে খোঁচা দিতে পারে।

GARMesh বুঝুন

GARMesh হল একটি বহুভুজ জাল যা স্ট্রিটস্কেপ জ্যামিতির একটি পৃষ্ঠ পুনর্গঠনের প্রতিনিধিত্ব করে। প্রতিটি GARMesh একটি শীর্ষ বাফার এবং সূচক বাফার অন্তর্ভুক্ত করে:

  • GARMesh.vertexCount
    এই জালের শীর্ষবিন্দুর সংখ্যা পুনরুদ্ধার করে।
  • GARMesh.vertices
    GARStreetscapeGeometry.meshTransform এর সাপেক্ষে স্থানাঙ্কে, জাল শীর্ষবিন্দুর সংযুক্ত অবস্থানগুলি পান।
  • GARMesh.triangleCount
    এই জালের মধ্যে সূচকের সংখ্যা পুনরুদ্ধার করে।
  • GARMesh.triangles
    একটি মুখ তৈরি করে এমন শীর্ষবিন্দুগুলির সূচীগুলি পান৷

একটি GARStreetscapeGeometry AR বিষয়বস্তু সংযুক্ত করুন

GARSesssion.createAnchorOnStreetscapeGeometry:transform:error: ব্যবহার করুন GARStreetscapeGeometry.meshTransform কাছে একটি প্রদত্ত ভঙ্গিতে একটি অ্যাঙ্কর তৈরি করতে। এই অ্যাঙ্করটি GARStreetscapeGeometry থেকে এর ট্র্যাকিং অবস্থার উত্তরাধিকারী হবে।

GARStreetscapeGeometry এর বিরুদ্ধে একটি হিট-পরীক্ষা করুন

GARSession.raycastStreetscapeGeometry:direction:error: স্ট্রিটস্কেপ জ্যামিতির বিরুদ্ধে হিট-টেস্ট করতে ব্যবহার করা যেতে পারে। যদি ছেদগুলি পাওয়া যায়, GARStreetscapeGeometryRaycastResult হিট অবস্থান সম্পর্কে পোজ তথ্যের পাশাপাশি GARStreetscapeGeometry এর একটি রেফারেন্স রয়েছে যা হিট হয়েছিল৷ এই স্ট্রিটস্কেপ জ্যামিতিটি GARSesssion.createAnchorOnStreetscapeGeometry:transform:error: এ পাস করা যেতে পারে যাতে এটি সংযুক্ত একটি অ্যাঙ্কর তৈরি করা যায়।

NSArray<GARStreetscapeGeometryRaycastResult *> *results =
    [session raycastStreetscapeGeometry:arRaycastQuery.origin
                              direction:arRaycastQuery.direction
                                  error:&error];
[session createAnchorOnStreetscapeGeometry:results[0].streetscapeGeometry
                                 transform:results[0].worldTransform
                                     error:&error];