Tiện ích OpenXR XR_ANDROID_trackables

Chuỗi tên

XR_ANDROID_trackables

Loại phần mở rộng

Tiện ích thực thể

Số điện thoại mở rộng đã đăng ký

456

Bản sửa đổi

1

Phần mở rộng và phần phụ thuộc phiên bản

OpenXR 1.0

Ngày sửa đổi gần đây nhất

2024-09-30

Trạng thái IP

Không có thông báo xác nhận quyền sở hữu đối với tài sản trí tuệ nào.

Cộng tác viên

Spencer Quin, Google

Nihav Jain, Google

John Pursey, Google

Jared Finder, Google

Levana Chen, Google

Kenny Vercaemer, Google

Tổng quan

Tiện ích này cho phép ứng dụng truy cập vào các thiết bị theo dõi từ môi trường thực và tạo neo đính kèm vào một thiết bị theo dõi.

Tiện ích này xác định các đối tượng có thể theo dõi trên mặt phẳng. Các tiện ích khác có thể thêm các loại có thể theo dõi khác. Ví dụ: XR_ANDROID_trackables_object thêm đối tượng có thể theo dõi và XR_ANDROID_depth_texture thêm vùng đệm chiều sâu cho phép truyền tia tới các điểm tuỳ ý trong môi trường.

Đối tượng có thể theo dõi là đối tượng được theo dõi trong môi trường thực tế (xem XrTrackableTypeANDROID):

  • một mặt phẳng (ví dụ: tường, sàn, trần, bàn)
  • một đối tượng (ví dụ: bàn phím, chuột, máy tính xách tay)

Tạo trình theo dõi có thể theo dõi

XrTrackableTrackerANDROID là một tay cầm đại diện cho các tài nguyên cần thiết để khám phá và cập nhật các đối tượng có thể theo dõi của một XrTrackableTypeANDROID nhất định trong môi trường.

XR_DEFINE_HANDLE(XrTrackableTrackerANDROID)

Hàm xrCreateTrackableTrackerANDROID được xác định là:

XrResult xrCreateTrackableTrackerANDROID(
    XrSession                                   session,
    const XrTrackableTrackerCreateInfoANDROID*  createInfo,
    XrTrackableTrackerANDROID*                  trackableTracker);

Nội dung mô tả tham số

Ứng dụng có thể sử dụng hàm xrCreateTrackableTrackerANDROID để tạo trình theo dõi có thể theo dõi.

  • XR_ERROR_FEATURE_UNSUPPORTED sẽ được trả về nếu hệ thống không hỗ trợ đối tượng có thể theo dõi thuộc loại đã chỉ định.
  • XR_ERROR_PERMISSION_INSUFFICIENT sẽ được trả về nếu bạn chưa cấp các quyền cần thiết cho ứng dụng gọi.

Ứng dụng có thể sử dụng tên người dùng của trình theo dõi được trả về trong các lệnh gọi API tiếp theo. Cuối cùng, bạn phải giải phóng tay điều khiển XrTrackableTrackerANDROID bằng cách sử dụng hàm xrDestroyTrackableTrackerANDROID.

Cách sử dụng hợp lệ (ngầm ẩn)

Mã trả về

Thành công

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

Không thành công

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_FEATURE_UNSUPPORTED

Cấu trúc XrTrackableTrackerCreateInfoANDROID được xác định như sau:

typedef struct XrTrackableTrackerCreateInfoANDROID {
    XrStructureType           type;
    void*                     next;
    XrTrackableTypeANDROID    trackableType;
} XrTrackableTrackerCreateInfoANDROID;

Nội dung mô tả thành viên

  • typeXrStructureType của cấu trúc này.
  • nextNULL hoặc con trỏ trỏ đến cấu trúc tiếp theo trong chuỗi cấu trúc. Không có cấu trúc nào như vậy được xác định trong OpenXR cốt lõi hoặc tiện ích này.
  • trackableTypeXrTrackableTypeANDROID mà trình theo dõi sẽ theo dõi.

Cấu trúc XrTrackableTrackerCreateInfoANDROID cung cấp các tuỳ chọn tạo cho XrTrackableTrackerANDROID khi được truyền đến xrCreateTrackableTrackerANDROID.

Tiện ích có thể xác định các cấu trúc có thể đính kèm vào next để cho phép thêm cấu hình cho các trình theo dõi có thể theo dõi.

Cách sử dụng hợp lệ (ngầm ẩn)

Enum XrTrackableTypeANDROID được xác định là:

typedef enum XrTrackableTypeANDROID {
    XR_TRACKABLE_TYPE_NOT_VALID_ANDROID = 0,
    XR_TRACKABLE_TYPE_PLANE_ANDROID = 1,
    XR_TRACKABLE_TYPE_DEPTH_ANDROID = 1000463000,
    XR_TRACKABLE_TYPE_OBJECT_ANDROID = 1000466000
} XrTrackableTypeANDROID;

Hàm xrDestroyTrackableTrackerANDROID được xác định là:

XrResult xrDestroyTrackableTrackerANDROID(
    XrTrackableTrackerANDROID                   trackableTracker);

Nội dung mô tả tham số

Hàm xrDestroyTrackableTrackerANDROID huỷ bỏ trình theo dõi có thể theo dõi.

Nếu không có XrTrackableTrackerANDROID hợp lệ nào khác được tạo bằng cùng một XrTrackableTypeANDROID, thì hệ thống có thể tắt các dịch vụ theo dõi cần thiết cho loại đối tượng có thể theo dõi đó để tiết kiệm tài nguyên hệ thống.

Cách sử dụng hợp lệ (ngầm ẩn)

Độ an toàn cho luồng

  • Quyền truy cập vào trackableTracker và mọi tay điều khiển con phải được đồng bộ hoá bên ngoài

Mã trả về

Thành công

  • XR_SUCCESS

Không thành công

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID

Lấy tất cả đối tượng có thể theo dõi

Nguyên tử XrTrackableANDROID được xác định là:

XR_DEFINE_ATOM(XrTrackableANDROID)

XrTrackableANDROID được dùng để biểu thị một đối tượng có thể theo dõi và chỉ hợp lệ trong vòng đời của XrTrackableTrackerANDROID liên kết.

Hàm xrGetAllTrackablesANDROID được xác định là:

XrResult xrGetAllTrackablesANDROID(
    XrTrackableTrackerANDROID                   trackableTracker,
    uint32_t                                    trackableCapacityInput,
    uint32_t*                                   trackableCountOutput,
    XrTrackableANDROID*                         trackables);

Nội dung mô tả tham số

  • trackableTrackerXrTrackableTrackerANDROID để truy vấn.

  • trackableCapacityInput là dung lượng của mảng trackables hoặc 0 để cho biết yêu cầu truy xuất dung lượng cần thiết.

  • trackableCountOutput là con trỏ đến số lượng trackables đã ghi hoặc con trỏ đến dung lượng cần thiết trong trường hợp trackables không đủ.

  • trackables là con trỏ trỏ đến một mảng XrTrackableANDROID. Giá trị này có thểNULL nếu trackableCapacityInput là 0.

  • Hãy xem phần Tham số kích thước bộ nhớ đệm để biết nội dung mô tả chi tiết về cách truy xuất kích thước trackables bắt buộc.

xrGetAllTrackablesANDROID điền một mảng XrTrackableANDROID đại diện cho các đối tượng có thể theo dõi được tìm thấy trong môi trường. XrTrackableTypeANDROID của trackables được trả về phải khớp với XrTrackableTypeANDROID của trackableTracker.

Lấy máy bay có thể theo dõi

Hàm xrGetTrackablePlaneANDROID được xác định là:

XrResult xrGetTrackablePlaneANDROID(
    XrTrackableTrackerANDROID                   trackableTracker,
    const XrTrackableGetInfoANDROID*            getInfo,
    XrTrackablePlaneANDROID*                    planeOutput);

Nội dung mô tả tham số

Hàm xrGetTrackablePlaneANDROID trả về thông tin chi tiết về mặt phẳng có thể theo dõi, chẳng hạn như hình học, hướng và trạng thái theo dõi.

Thông tin về mặt phẳng được phân giải và tương ứng với không gian cơ sở tại thời điểm gọi xrGetTrackablePlaneANDROID bằng cách sử dụng XrTrackableGetInfoANDROID::time, XrTrackableGetInfoANDROID::baseSpace.

Cách sử dụng hợp lệ (ngầm ẩn)

Mã trả về

Thành công

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

Không thành công

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_TIME_INVALID

Cấu trúc XrTrackableGetInfoANDROID được xác định là:

typedef struct XrTrackableGetInfoANDROID {
    XrStructureType       type;
    void*                 next;
    XrTrackableANDROID    trackable;
    XrSpace               baseSpace;
    XrTime                time;
} XrTrackableGetInfoANDROID;

Nội dung mô tả thành viên

  • typeXrStructureType của cấu trúc này.
  • nextNULL hoặc con trỏ trỏ đến cấu trúc tiếp theo trong chuỗi cấu trúc. Không có cấu trúc nào như vậy được xác định trong OpenXR cốt lõi hoặc tiện ích này.
  • trackable là mặt phẳng XrTrackableANDROID để truy vấn.
  • baseSpace tư thế của mặt phẳng sẽ tương ứng với XrSpace này tại time.
  • timeXrTime tại đó để đánh giá toạ độ tương ứng với baseSpace.

Cấu trúc XrTrackableGetInfoANDROID cung cấp các tuỳ chọn truy vấn khi được truyền đến xrGetTrackablePlaneANDROID. trackable phải tương ứng với trackableTracker dùng trong xrGetTrackablePlaneANDROID.

XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID sẽ được trả về nếu loại có thể theo dõi của trackable không phải là XR_TRACKABLE_TYPE_PLANE_ANDROID.

Cách sử dụng hợp lệ (ngầm ẩn)

Cấu trúc XrTrackablePlaneANDROID được xác định là:

typedef struct XrTrackablePlaneANDROID {
    XrStructureType           type;
    void*                     next;
    XrTrackingStateANDROID    trackingState;
    XrPosef                   centerPose;
    XrExtent2Df               extents;
    XrPlaneTypeANDROID        planeType;
    XrPlaneLabelANDROID       planeLabel;
    XrTrackableANDROID        subsumedByPlane;
    XrTime                    lastUpdatedTime;
    uint32_t                  vertexCapacityInput;
    uint32_t*                 vertexCountOutput;
    XrVector2f*               vertices;
} XrTrackablePlaneANDROID;

Nội dung mô tả thành viên

  • typeXrStructureType của cấu trúc này.
  • nextNULL hoặc con trỏ trỏ đến cấu trúc tiếp theo trong chuỗi cấu trúc. Không có cấu trúc nào như vậy được xác định trong OpenXR cốt lõi hoặc tiện ích này.
  • trackingStateXrTrackingStateANDROID của mặt phẳng.
  • centerPose là một XrPosef xác định vị trí và hướng của mặt phẳng trong khung tham chiếu của XrTrackableGetInfoANDROID::baseSpace tương ứng. Hướng nhận dạng ở đây biểu thị một trục toạ độ với +Y song song với pháp tuyến của mặt phẳng.
  • extents là kích thước XrExtent2Df của mặt phẳng.
  • planeTypeXrPlaneTypeANDROID mà thời gian chạy đã xác định cho mặt phẳng này.
  • planeLabelXrPlaneLabelANDROID mà thời gian chạy đã xác định cho mặt phẳng này.
  • subsumedByPlaneXrTrackableANDROID của mặt phẳng bao hàm mặt phẳng này (XR_NULL_TRACKABLE_ANDROID nếu không có mặt phẳng nào).
  • lastUpdatedTimeXrTime của lần cập nhật gần đây nhất của mặt phẳng.
  • vertexCapacityInput là dung lượng của mảng vertices hoặc 0 để cho biết yêu cầu truy xuất dung lượng cần thiết.
  • vertexCountOutput là con trỏ đến số lượng vertices đã ghi hoặc con trỏ đến dung lượng cần thiết trong trường hợp vertices không đủ.
  • vertices là con trỏ đến một mảng XrVector2f. Giá trị này có thểNULL nếu vertexCapacityInput là 0. Các đỉnh được sắp xếp theo thứ tự ngược chiều kim đồng hồ. Đa giác có thể lõm và không được tự giao nhau.
  • Hãy xem phần Tham số kích thước bộ nhớ đệm để biết nội dung mô tả chi tiết về cách truy xuất kích thước vertices bắt buộc.

Cách sử dụng hợp lệ (ngầm ẩn)

Enum XrTrackingStateANDROID mô tả trạng thái theo dõi của XrTrackableANDROID.

typedef enum XrTrackingStateANDROID {
    XR_TRACKING_STATE_PAUSED_ANDROID = 0,
    XR_TRACKING_STATE_STOPPED_ANDROID = 1,
    XR_TRACKING_STATE_TRACKING_ANDROID = 2
} XrTrackingStateANDROID;

XrTrackingStateANDROID

Nội dung mô tả

XR_TRACKING_STATE_PAUSED_ANDROID

Cho biết tính năng theo dõi đối tượng có thể theo dõi hoặc theo dõi neo đang tạm dừng nhưng có thể tiếp tục trong tương lai.

XR_TRACKING_STATE_STOPPED_ANDROID

Tính năng theo dõi đã dừng trên Đối tượng có thể theo dõi này và sẽ không bao giờ tiếp tục.

XR_TRACKING_STATE_TRACKING_ANDROID

Đối tượng được theo dõi và tư thế của đối tượng là hiện tại.

Enum XrPlaneTypeANDROID là loại của một mặt phẳng XrTrackableANDROID.

typedef enum XrPlaneTypeANDROID {
    XR_PLANE_TYPE_HORIZONTAL_DOWNWARD_FACING_ANDROID = 0,
    XR_PLANE_TYPE_HORIZONTAL_UPWARD_FACING_ANDROID = 1,
    XR_PLANE_TYPE_VERTICAL_ANDROID = 2,
    XR_PLANE_TYPE_ARBITRARY_ANDROID = 3
} XrPlaneTypeANDROID;

Enum XrPlaneLabelANDROID là nhãn cho một mặt phẳng XrTrackableANDROID.

typedef enum XrPlaneLabelANDROID {
    XR_PLANE_LABEL_UNKNOWN_ANDROID = 0,
    XR_PLANE_LABEL_WALL_ANDROID = 1,
    XR_PLANE_LABEL_FLOOR_ANDROID = 2,
    XR_PLANE_LABEL_CEILING_ANDROID = 3,
    XR_PLANE_LABEL_TABLE_ANDROID = 4
} XrPlaneLabelANDROID;

Tạo không gian neo

XrResult xrCreateAnchorSpaceANDROID(
    XrSession                                   session,
    const XrAnchorSpaceCreateInfoANDROID*       createInfo,
    XrSpace*                                    anchorOutput);

Nội dung mô tả tham số

  • sessionXrSession tạo không gian neo.
  • createInfo là con trỏ đến cấu trúc XrAnchorSpaceCreateInfoANDROID chứa các thông số sẽ được dùng để tạo không gian neo.
  • anchorOutput là con trỏ đến một tay cầm trong đó XrSpace đã tạo được trả về.

Tại bất kỳ thời điểm nào, cả vị trí và hướng của neo đều được theo dõi hoặc không được theo dõi. Điều này có nghĩa là bạn phải đặt cả XR_SPACE_LOCATION_POSITION_TRACKED_BITXR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT hoặc xoá cả hai khi ứng dụng gọi xrLocateSpace hoặc xrLocateSpaces cho anchorOutput.

Cuối cùng, ứng dụng phải giải phóng XrSpace được trả về bằng cách sử dụng xrDestroySpace.

  • Phải trả về XR_ERROR_FEATURE_UNSUPPORTED nếu hệ thống không hỗ trợ neo.
  • Phải trả về XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID nếu không hỗ trợ tệp đính kèm neo cụ thể.

Cách sử dụng hợp lệ (ngầm ẩn)

Mã trả về

Thành công

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

Không thành công

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_POSE_INVALID
  • XR_ERROR_TIME_INVALID
  • XR_ERROR_OUT_OF_MEMORY

Cấu trúc XrAnchorSpaceCreateInfoANDROID được xác định là:

typedef struct XrAnchorSpaceCreateInfoANDROID {
    XrStructureType       type;
    void*                 next;
    XrSpace               space;
    XrTime                time;
    XrPosef               pose;
    XrTrackableANDROID    trackable;
} XrAnchorSpaceCreateInfoANDROID;

Nội dung mô tả thành viên

  • typeXrStructureType của cấu trúc này.
  • nextNULL hoặc con trỏ trỏ đến cấu trúc tiếp theo trong chuỗi cấu trúc. Không có cấu trúc nào như vậy được xác định trong OpenXR cốt lõi hoặc tiện ích này.
  • spaceXrSpace mà trên đó sẽ tạo điểm neo.
  • timeXrTime của việc tạo neo.
  • poseXrPosef của neo.
  • trackableXrTrackableANDROID mà neo sẽ được đính kèm. Có thểXR_NULL_TRACKABLE_ANDROID để tạo một điểm neo không gian.

Cách sử dụng hợp lệ (ngầm ẩn)

Mã ví dụ để lấy tất cả đối tượng có thể theo dõi

Mã ví dụ sau đây minh hoạ cách lấy tất cả đối tượng có thể theo dõi thuộc một loại nhất định.

XrSession session; // previously initialized

// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreateTrackableTrackerANDROID xrCreateTrackableTrackerANDROID; // previously initialized
PFN_xrGetAllTrackablesANDROID xrGetAllTrackablesANDROID; // previously initialized
PFN_xrDestroyTrackableTrackerANDROID xrDestroyTrackableTrackerANDROID; // previously initialized

XrTrackableTrackerCreateInfoANDROID createInfo{XR_TYPE_TRACKABLE_TRACKER_CREATE_INFO_ANDROID};
createInfo.trackableType = XR_TRACKABLE_TYPE_PLANE_ANDROID;
XrTrackableTrackerANDROID planeTrackableTracker;
XrResult result = xrCreateTrackableTrackerANDROID(
  session,
  &createInfo,
  &planeTrackableTracker);
if (result != XR_SUCCESS) { /* Handle failures. */ }

uint32_t trackableCountOutput = 0;
std::vector<XrTrackableANDROID> allPlaneTrackables;

// Query the number of trackables available.
result = xrGetAllTrackablesANDROID(
  planeTrackableTracker,
  0,
  &trackableCountOutput,
  nullptr
);

if (result == XR_SUCCESS) {
  allPlaneTrackables.resize(trackableCountOutput, XR_NULL_HANDLE);

  // Fetch the actual trackable handles in the appropriately resized array.
  result = xrGetAllTrackablesANDROID(
    planeTrackableTracker,
    trackableCountOutput,
    &trackableCountOutput,
    allPlaneTrackables.data());

  if (result == XR_SUCCESS) {
    for (XrTrackableANDROID trackable : allPlaneTrackables) {
      // You now have all trackables of the specified type.
    }
  }
}

// Release trackable tracker.
result = xrDestroyTrackableTrackerANDROID(planeTrackableTracker);

Mã ví dụ để lấy mặt phẳng có thể theo dõi

Mã ví dụ sau đây minh hoạ cách lấy một mặt phẳng có thể theo dõi từ một XrTrackableANDROID hiện có, thu được từ kết quả nhấn XR_ANDROID_raycast hoặc xrGetTrackablesANDROID.

XrTrackableTrackerANDROID planeTracker; // previously created

// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrGetTrackablePlaneANDROID xrGetTrackablePlaneANDROID; // previously initialized

XrTime updateTime; // Time used for the current frame's simulation update.
XrSpace appSpace; // Space created for XR_REFERENCE_SPACE_TYPE_LOCAL.
XrTrackableANDROID planeTrackable; // Acquired from a hit result or getTrackables().

XrTrackableGetInfoANDROID planeGetInfo;
planeGetInfo.type = XR_TYPE_TRACKABLE_GET_INFO_ANDROID;
planeGetInfo.next = nullptr;
planeGetInfo.trackable = planeTrackable;
planeGetInfo.space = appSpace;
planeGetInfo.time = updateTime;

XrTrackablePlaneANDROID plane = { XR_TYPE_TRACKABLE_PLANE_ANDROID };
result = xrGetTrackablePlaneANDROID(
  planeTracker,
  &planeGetInfo,
  &plane
);

if (result == XR_SUCCESS) {
  // Plane tracking state, center pose, extents, type now available in plane.
}

Mã ví dụ để tạo không gian neo

Mã ví dụ sau đây minh hoạ cách tạo không gian neo được đính kèm vào một đối tượng có thể theo dõi.

XrSession session; // Created at app startup.
XrTime updateTime; // Time used for the current frame's simulation update.
XrSpace appSpace; // Space created for XR_REFERENCE_SPACE_TYPE_LOCAL.
XrTrackableANDROID planeTrackable; // Acquired from a hit result or getTrackables().

// Create an anchor at (2, 2, 2) world-coordinates.
XrAnchorSpaceCreateInfoANDROID spatialAnchorCreateInfo;
spatialAnchorCreateInfo.type = XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID;
spatialAnchorCreateInfo.next = nullptr;
spatialAnchorCreateInfo.space = appSpace;
spatialAnchorCreateInfo.time = updateTime;
spatialAnchorCreateInfo.pose = { { 0, 0, 0, 1 }, { 2, 2, 2 } };

XrSpace spatialAnchor = XR_NULL_HANDLE;
XrResult result = xrCreateAnchorSpaceANDROID(
  session,
  &spatialAnchorCreateInfo,
  &spatialAnchor
);

// Create an anchor attached to a trackable.
XrTrackablePlane plane = ...;
XrAnchorSpaceCreateInfoANDROID trackableAnchorCreateInfo;
trackableAnchorCreateInfo.type = XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID;
trackableAnchorCreateInfo.next = nullptr;
trackableAnchorCreateInfo.space = appState;
trackableAnchorCreateInfo.pose = plane.centerPose;
trackableAnchorCreateInfo.trackable = planeTrackable;

XrSpace trackableAnchor = XR_NULL_HANDLE;
XrResult result = xrCreateAnchorSpaceANDROID(
  session,
  &trackableAnchorCreateInfo,
  &trackableAnchor
);
while (true) {
  // app update loop
  // ...

  // Get the current location of the anchor's space w.r.t the world.
  XrSpaceLocation anchorLocation = { XR_TYPE_SPACE_LOCATION };
  result = xrLocateSpace(trackableAnchor, appSpace, updateTime, &anchorLocation);

  if (anchor.trackingState == XR_TRACKING_STATE_TRACKING_ANDROID) {
    // Update anchor pose.
    doDrawingForAnchor(anchorLocation.pose);
  } else {
    // ...
  }
}

// Cleanup - destroy the space, detatch the anchor so its no longer tracked by the
// runtime and then release all resources held by it.
xrDestroySpace(spatialAnchor);
xrDestroySpace(trackableAnchor);

Các loại cơ sở mới

Các loại đối tượng mới

Hằng số enum mới

Bổ sung enum XrStructureType:

  • XR_TYPE_TRACKABLE_GET_INFO_ANDROID
  • XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID
  • XR_TYPE_TRACKABLE_PLANE_ANDROID
  • XR_TYPE_TRACKABLE_TRACKER_CREATE_INFO_ANDROID

Bổ sung enum XrObjectType bằng:

  • XR_OBJECT_TYPE_TRACKABLE_TRACKER_ANDROID

Bổ sung enum XrResult bằng:

  • XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID
  • XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID

Enum mới

Cấu trúc mới

Hàm mới

Vấn đề

Nhật ký phiên bản

  • Bản sửa đổi 1, ngày 27 tháng 9 năm 2024 (Kenny Vercaemer)
    • Mô tả ban đầu về tiện ích.