This page is a supplement to the AR Foundation Point clouds manual. The following sections only contain information about APIs where ARCore exhibits unique platform-specific behavior.
Tip
When developing an AR app, refer to both the AR Foundation documentation as well as the required packages for each platform you support.
ARCore's point cloud subsystem only produces one XRPointCloud.
When you use the raycast subsystem to cast a ray at a point in the cloud, the returned pose orientation provides an estimate for the surface that point might represent.
Native pointer
XRPointCloud.nativePtr values returned by this package contain a pointer to the following struct:
This package also provides a header file containing the definitions of various native data structs including UnityXRNativePointCloud. It can be found in the package directory under Includes~/UnityXRNativePtrs.h.
Cast void* pointCloud to an ArPointCloud handle in C++ using the following example code:
// Marhshal the native point cloud data from the XRPointCloud.nativePtr in C#
UnityXRNativePointCloud nativePointCloudData;
ArPointCloud* pointCloudHandle = static_cast<ArPointCloud*>(nativePointCloudData.pointCloud);
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.