
স্ট্রিটস্কেপ জ্যামিতি 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 একটি বিল্ডিং সম্পর্কে তথ্য রয়েছে:
-
GARStreetscapeGeometry.type
স্ট্রিটস্কেপ জ্যামিতিকে ভূখণ্ড বা বিল্ডিং হিসাবে চিহ্নিত করে। -
GARStreetscapeGeometry.mesh
একটি বহুভুজGARMeshপান যা এই ভূখণ্ড বা ভবনের সাথে মিলে যায়। -
GARStreetscapeGeometry.meshTransform
জ্যামিতির উৎপত্তি বর্ণনা করে।GARMeshএর সমস্ত পয়েন্টGARStreetscapeGeometry.meshTransformদ্বারা রূপান্তরিত করা উচিত। -
GARStreetscapeGeometry.quality
জাল ডেটার গুণমান সরবরাহ করে। সিটিজিএমএল 2.0 স্ট্যান্ডার্ডে বিশদ স্তরগুলি বর্ণনা করা হয়েছে।
বিল্ডিং 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];