স্ট্রিটস্কেপ জ্যামিতি 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];