ARCore สำหรับ Jetpack XR

นำเนื้อหาดิจิทัลมาสู่โลกแห่งความเป็นจริงด้วยความสามารถในการรับรู้
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
9 กันยายน 2026 - 1.0.0-rc01 - -

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ใน ARCore สำหรับ Jetpack XR คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ ที่เก็บ Maven ของ Google

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ แอปหรือโมดูล

ดึงดูด

dependencies {
    implementation "androidx.xr.arcore:arcore:1.0.0-alpha15"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.0.0-alpha15")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยให้ Jetpack ทำงานได้ดีขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของ Issue Tracker

รุ่น 1.0

เวอร์ชัน 1.0.0-rc01

9 กันยายน 2026

androidx.xr.arcore:arcore-*:1.0.0-rc01ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-rc01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta02

12 สิงหาคม 2026

androidx.xr.arcore:arcore-*:1.0.0-beta02ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-beta02 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการทำงานพร้อมกันในความคงทนของ Anchor OpenXR (I15c8b)
  • ใช้ toString() ในชั้นเรียนเพิ่มเติมเพื่อการแก้ไขข้อบกพร่อง (I587e8)

เวอร์ชัน 1.0.0-beta01

15 กรกฎาคม 2026

androidx.xr.arcore:arcore-*:1.0.0-beta01ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-beta01 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • อัปเดตตัวแก้ไขที่ปรับขนาดได้ให้ใช้ ResizePolicy แทนตัวแก้ไข 2 ตัว (I7fb0f, b/496257436, b/519672992)
  • เพิ่มการโอเวอร์โหลดที่ย้ายได้ด้วยพารามิเตอร์ movePolicy และเลิกใช้งาน transformingMovable และ movable (Ic88c1, b/481781189)
  • นำ TrackingState.TRACKING_DEGRADED ออกจากพื้นผิว API สาธารณะและแมปสถานะรันไทม์ที่ประสิทธิภาพลดลงเป็น PAUSED แทน อัปเดต TrackingState เพื่อใช้ enum แทนค่า int สำหรับ Conversion สตริงและ Conversion รันไทม์ (I3eb5b, b/524326338)
  • เปลี่ยน Session.create เป็นฟังก์ชันระงับ (I5d27f)
  • เลิกใช้งาน ProjectedPermissionsResultContract (I141d5, b/515699436)
  • อัปเดต AnchorEntity เป็น AnchorSpace (Ifa95e, b/513619219)

เวอร์ชัน 1.0.0-alpha15

17 มิถุนายน 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha15ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha15 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • นำ HitResult.createAnchor ออกแล้ว นักพัฒนาแอปสามารถสร้าง Anchor ที่แสดงถึง HitResult หาก Trackable ของผลลัพธ์เป็น Anchorable โดยระบุตำแหน่งการตรวจจับไปยังฟังก์ชัน createAnchor ของ Anchorable (Ia851e)
  • นำ AnchorUnsupportedObject ออกแล้ว รันไทม์ ARCore ของ JXR จะไม่แสดงข้อผิดพลาดนี้อีกต่อไป (Ia851e)
  • androidx.xr.arcore.Anchor และ androidx.xr.arcore.ArDevice ตอนนี้ได้ใช้งาน androidx.xr.arcore.Trackable แล้ว (I57b65)
  • ตอนนี้ Depth.left, Depth.right และ Depth.mono จะไม่เป็นค่า Null อีกต่อไป (I1fc5e)
  • ตอนนี้ Face.getUserFace จะไม่เป็นค่าว่าง (I0eac1)
  • ตอนนี้ RenderViewpoint.left, RenderViewpoint.right, RenderViewpoint.mono จะไม่เป็นค่าว่าง (Icf7fa)
  • Hand.left และ Hand.right เป็นแบบไม่เป็น Null (Icef37)
  • เพิ่ม QrCode API (Ia0bbe)

เวอร์ชัน 1.0.0-alpha14

19 พฤษภาคม 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha14ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha14 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • เราจะเลิกใช้งาน GeospatialMode.VPS_AND_GPS เพื่อหันมาใช้ GeospatialMode.SPATIAL แทน และเปิดตัวโหมดการติดตามแบบใหม่ที่ใช้พลังงานต่ำกว่าอย่าง GeospatialMode.INERTIAL ซึ่งใช้เฉพาะ IMU และ GPS (I1e6cd)
  • คลาสข้อยกเว้นของลิงก์ยึดที่กำหนดเอง: AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException และ AnchorUnsupportedObjectException เป็นอินสแตนซ์ RuntimeException แล้วในตอนนี้ ซึ่งไม่ได้มีไว้เพื่อตรวจสอบ (I9356e)
  • เพิ่ม API ArCoreTestRule ซึ่งรวมถึง TestArDevice, TestAugmentableObject, TestDepthMap, TestEye, TestFace, TestGeospatial, TestHand, TestPlane, TestRenderViewpoint และ TestTrackable (I0ad3c)
  • นำ AnchorLoadInvalidUuid, AnchorCreateUnsupportedObject, AnchorCreateUnsupportedLocation และ AnchorCreateNotAuthorized ออก ตอนนี้ข้อผิดพลาดทั้งหมดเหล่านี้เป็นข้อยกเว้นในรันไทม์แล้ว นำ AnchorCreateIllegalState ออก โดยในกรณีส่วนใหญ่ เราได้แทนที่ด้วย AnchorCreateTrackingUnavailable แล้ว เพิ่ม AnchorException และคลาสที่ได้มา AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException และ AnchorUnsupportedObjectException (I4c4dd)

การมีส่วนร่วมจากภายนอก

  • เพิ่ม AugmentedImage API สำหรับการติดตามเครื่องหมายแบบกำหนดเอง (I0cf09)

เวอร์ชัน 1.0.0-alpha13

6 พฤษภาคม 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha13ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha13 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • TrackingState และ VpsAvailabilityResult ได้ย้ายไปอยู่ที่ androidx.xr.arcore package แล้ว และตอนนี้ระบบได้เลิกใช้งานประเภทใน androidx.xr.runtime แล้ว (Ic7930, b/480462213)
  • เปลี่ยนชื่อ Plane.Type เป็น PlaneType แล้ว (I8c90c, b/482675376)
  • เปลี่ยนชื่อ Hand.HandSide เป็น HandSide แล้ว (Ica562, b/482675376)
  • เปลี่ยนชื่อ Plane.Label เป็น PlaneLabel แล้ว (Ic6b67, b/482675376)
  • เปลี่ยนชื่อ Geospatial.Surface เป็น GeospatialSurface แล้ว (I1a8be, b/482675376)
  • เปลี่ยนชื่อ Geospatial.State เป็น GeospatialState แล้ว (I203fa, b/482675376)
  • ย้าย NativeData API ไปยังไลบรารี xr:runtime:runtime (I87954, b/494251500)
  • ตอนนี้ Session.create และ Session.configure ไม่ได้ครอบคลุมทุกกรณีและต้องมีประโยค else ในคำสั่ง when (I9885e, b/495805998, b/495805998)
  • androidx.xr.runtime.FieldOfView เลิกใช้งานแล้ว โปรดใช้ androidx.xr.runtime.math.FieldOfView แทน (Ia01a0, b/480233045)
  • เปลี่ยน Orbiter ให้ใช้ OrbiterAnchorPoint + VolumeOffset หรือ OrbiterPoseProvider แทนตำแหน่ง ออฟเซ็ต offsetType การจัดแนว และระดับความสูง นอกจากนี้ยังนำพารามิเตอร์ shouldRenderInNonSpatial ออกด้วย หากนักพัฒนาแอปไม่ต้องการให้ Orbiter แสดงผลในโหมดที่ไม่ใช่เชิงพื้นที่ นักพัฒนาแอปควรห่อหุ้ม Orbiter ในคำสั่ง if และตรวจสอบ SpatialCapabilities (I9fbb3, b/462428503)
  • เพิ่มตัวปรับแต่งที่เคลื่อนย้ายได้ ตอนนี้ม็อดเหล่านี้ใช้ได้ดีกับ SpatialPanels และ SpatialExternalSurface และจะรองรับ SpatialGltfModels ในเร็วๆ นี้ อย่างไรก็ตาม เราตั้งใจที่จะให้การสนับสนุนฟีเจอร์เหล่านี้อย่างดีสำหรับ SubspaceComposables ทั้งหมด (I9a3cd, b/479530787, b/478935063, b/478935063)
  • นักพัฒนาแอปควรสังเกตArDevice.stateโฟลว์เพื่อตรวจสอบState.trackingStateและปรับการแสดงผลหรือคำเตือนของแอปพลิเคชันตามความเที่ยงตรงของการติดตาม (Ic00f0, b/445466590)
  • เปลี่ยนชื่อค่า enum HandJointType (Ifbc83, b/482670596)
  • เปลี่ยนชื่อค่าคงที่ FaceConfidenceRegion (Ia62d5, b/482670596)
  • เปลี่ยนชื่อค่าคงที่ FaceBlendShapeType (I33b8b, b/482670596)
  • เพิ่ม CreatePoseFromGeospatialPoseErrorInternal และ CreateGeospatialPoseFromPoseErrorInternal แล้ว (I4bcf1, b/482666615)
  • เปลี่ยนชื่อ DeviceTrackingMode.LAST_KNOWN เป็น SPATIAL_LAST_KNOWN (พร้อมการสำรองข้อมูลที่เลิกใช้งานแล้ว) เพิ่ม INERTIAL_LAST_KNOWN สำหรับการติดตาม 3DoF และเพิ่ม TRACKING_DEGRADED ลงใน TrackingState (Ie661c, b/445466590)
  • เลิกใช้งานแล้ว GroupEntity หากต้องการมีเอนทิตีที่มีเฉพาะฟังก์ชันพื้นฐานของเอนทิตี ให้เรียกใช้ Entity.create ซึ่งจะแสดงผลอินเทอร์เฟซเอนทิตี (I4c450, b/473867483)
  • เพิ่ม API ของ XrLog ตั้งค่า XrLog.isEnabledเป็น true เพื่อเปิดใช้การบันทึกใน JetpackXR และใช้ XrLog.Level เพื่อตั้งค่าระดับบันทึก (I76a1f, b/463460895, b/487378441)

การแก้ไขข้อบกพร่อง

  • เพิ่มการรองรับสถานะการติดตามอุปกรณ์ลงในอุปกรณ์ OpenXR (I91485, b/445466590)

เวอร์ชัน 1.0.0-alpha12

25 มีนาคม 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha12ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha12 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • เปลี่ยน Config.augmentedObjectCategories จากรายการเป็นชุด (I25a64, b/487376359)
  • ประเภท androidx.xr.arcore.Eye และ androidx.xr.arcore.Hand (I42438, b/449032900)
  • เพิ่มการโอเวอร์โหลด Session.create เพื่ออนุญาตให้ส่ง Context ของ Android สำหรับการกำหนดขอบเขตทรัพยากร (I7d3fe, b/415805990, b/477386334)
  • เปลี่ยน FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT เป็น FakeRuntimeAnchor.anchorResourceLimit (I90841, b/431992235)
  • ทำให้ TiltGesture API เป็นเวอร์ชันทดลองเนื่องจากอาจมีการเปลี่ยนแปลงหรือนำออกในอนาคต หากต้องการใช้ API นี้ ให้เลือกใช้ @ExperimentalGesturesApi (Ic9858)
  • เพิ่มความสามารถในการตั้งค่าหมวดหมู่สำหรับการติดตาม AugmentedObject ในการกำหนดค่า (I1f6e4, b/480220930)

การแก้ไขข้อบกพร่อง

  • แก้ไขบิลด์ของ Chrome โดยการอัปเดตไฟล์ META-INF/services/ ด้วยตำแหน่งจริงของ PerceptionRuntimeFactory (I7a801, b/481288291)

เวอร์ชัน 1.0.0-alpha11

25 กุมภาพันธ์ 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha11ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha11 มีการเปลี่ยนแปลงเหล่านี้

เวอร์ชัน 1.0.0-alpha10

28 มกราคม 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha10ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha10 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เปิดตัว TiltGesture API ซึ่งมี Flow แบบรีแอกทีฟสำหรับการตรวจหาการเอียงของอุปกรณ์ (ขึ้น/ลง) อย่างเสถียรพร้อมความคืบหน้าในการเปลี่ยนสถานะ (Ic269f, b/448152779)
  • ตอนนี้ ARCore สำหรับ Jetpack XR ใช้กลไกการบันทึกรันไทม์ XR แล้ว ดูข้อมูลเพิ่มเติมที่ androidx.xr.runtime.Log (l52735, b/448697662)

การเปลี่ยนแปลง API

  • Geospatial.createPoseFromGeospatialPose ใช้งานได้ในอุปกรณ์ที่เปิดใช้ OpenXR แล้ว (l362c6)

เวอร์ชัน 1.0.0-alpha09

3 ธันวาคม 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha09ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha09 มีการเปลี่ยนแปลงเหล่านี้

เวอร์ชัน 1.0.0-alpha08

19 พฤศจิกายน 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha08ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha08 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ARCore สำหรับ Jetpack XR รองรับอุปกรณ์ที่ใช้บริการ Google Play สำหรับ AR แล้ว
  • เพิ่ม Geospatial API สำหรับความพร้อมใช้งานของ VPS และการแปลงท่าทาง (I144dc)

เวอร์ชัน 1.0.0-alpha07

22 ตุลาคม 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha07ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha07 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • :xr:arcore:arcore-openxr เพิ่มเป็นทรัพยากร Dependency ในการติดตั้งใช้งาน :xr:arcore:arcore (I47315, b/446999229)

เวอร์ชัน 1.0.0-alpha06

24 กันยายน 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha06ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • การรองรับการทดสอบสำหรับ ARCore ได้ย้ายไปอยู่ที่โมดูล xr:arcore:arcore-testing แล้ว (I25469)
  • เพิ่ม ArDevice และ RenderViewpoint เพื่ออนุญาตให้แอปพลิเคชันดึงท่าทางของอุปกรณ์และการกำหนดค่าการแสดงผลเพื่อวัตถุประสงค์ในการแสดงผล (Ib7e3f)
  • เปลี่ยนชื่อ HandJointType enums ด้วยคำนำหน้า HAND_JOINT_TYPE_ (I3f7cd)
  • ย้าย HandJointType จาก xr:runtime:runtime ไปที่ xr:arcore:arcore แล้ว (Iadb9c, b/409058039)
  • ตอนนี้ Hand.State ได้เปิดเผย java.nio.FloatBuffer ที่มีท่าทางร่วมกันในรูปแบบที่ช่วยให้เข้าถึงแอปพลิเคชันที่มุ่งเน้นประสิทธิภาพได้อย่างง่ายดาย (I55e27)

เวอร์ชัน 1.0.0-alpha05

30 กรกฎาคม 2025

androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 และ androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม getPrimaryHandSide เพื่อให้นักพัฒนาแอปได้รับข้อมูลด้านขวา (I270bd)
  • เพิ่ม API ความพร้อมใช้งานของ VPS สำหรับการตรวจสอบเชิงพื้นที่ (I58573)
  • เพิ่ม ARCore API สำหรับ checkVpsAvailability (Idbded)
  • เพิ่มฟังก์ชันส่วนขยาย stateFlowable ลงใน :xr:arcore:arcore-rxjava3 เพื่อให้นักพัฒนาซอฟต์แวร์ Java ใช้งานได้ (I083aa, b/427247794)

การเปลี่ยนแปลง API

  • เราได้เปลี่ยนชื่อค่าการกำหนดค่า *Mode เพื่อให้สอดคล้องกับลักษณะการทำงานของค่าเหล่านั้น (I6d247, b/414648065)
  • อาร์ติแฟกต์หลักของ ARCore (xr:arcore:arcore) จะมีเฉพาะ API แบบอะซิงโครนัสสไตล์ Kotlin เท่านั้น นักพัฒนาซอฟต์แวร์ Java สามารถใช้ไลบรารี xr:arcore:arcore-rxjava3 เพื่อเข้าถึง API ที่เข้ากันได้ (Ia525e, b/422794329)
  • อาร์ติแฟกต์หลักของ ARCore (xr:scenecore:scenecore) จะมีเฉพาะ API แบบไม่พร้อมกันในรูปแบบ Kotlin เท่านั้น นักพัฒนาซอฟต์แวร์ Java สามารถใช้ไลบรารี xr:arcore:arcore-guava เพื่อเข้าถึง API ที่เข้ากันได้ (Iffcb4, b/422773524)
  • Anchor.persistAsync() เพิ่มลงใน AnchorGuava เพื่อให้นักพัฒนา Java ใช้งาน (I4af1c, b/425984631)
  • Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface) เพิ่มลงใน EarthGuava เพื่อให้นักพัฒนา Java ใช้งาน (I66357, b/425992992)
  • นักพัฒนาแอป Java จะใช้ฟังก์ชันส่วนขยายสำหรับ GltfModel.createAsync ใน GltfModel.kt ระบบจะลบฟังก์ชันแบบอะซิงโครนัสใน GltfModel (I0af60)
  • ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง: -Xjspecify-annotations=strict (นี่คือค่าเริ่มต้นที่เริ่มต้นด้วยคอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (Ia8420, b/326456246)
  • เพิ่มฟังก์ชันส่วนขยาย subscribeAsFlowable ลงใน :xr:arcore:arcore-rxjava3 เพื่อให้นักพัฒนาซอฟต์แวร์ Java ใช้งานได้ (Id3e49, b/427277298)

เวอร์ชัน 1.0.0-alpha04

7 พฤษภาคม 2025

androidx.xr.arcore:arcore:1.0.0-alpha04ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha04 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • โปรเจ็กต์ที่เผยแพร่ด้วย Kotlin 2.0 ต้องใช้ KGP 2.0.0 ขึ้นไป (Idb6b5)
  • ย้าย TrackingState และ HandJointType จาก ARCore ไปยังรันไทม์แล้ว
  • เปลี่ยน Hand.State.isActive (boolean) เป็น Hand.State.trackingState (androidx.xr.runtime.TrackingState) แล้ว
  • Anchor.load จะแสดงผล Anchor.AnchorLoadInvalidUuid หาก UUID ไม่ถูกต้อง

เวอร์ชัน 1.0.0-alpha03

26 กุมภาพันธ์ 2025

androidx.xr.arcore:arcore:1.0.0-alpha03 เปิดตัวโดยไม่มีการเปลี่ยนแปลงที่สำคัญนับตั้งแต่เวอร์ชันอัลฟ่าล่าสุด เวอร์ชัน 1.0.0-alpha03 มีการเปลี่ยนแปลงเหล่านี้

เวอร์ชัน 1.0.0-alpha02

12 กุมภาพันธ์ 2025

androidx.xr.arcore:arcore:1.0.0-alpha02ระบบจะถอนการอ้างสิทธิ์ เวอร์ชัน 1.0.0-alpha02 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับการติดตามการเคลื่อนไหวของมือ ใช้ Hand.left และ Hand.right เพื่อเข้าถึงข้อมูลการติดตาม
  • ตอนนี้ API ที่สร้าง Anchor (Anchor.create, Anchor.load, Plane.createAnchor) จะแสดงผล AnchorCreateResult ทั้งหมดและใช้ AnchorCreateResourcesExhausted อย่างถูกต้อง

แก้ไขข้อบกพร่อง

  • Anchor.detach ไม่ทำให้เกิดข้อขัดข้องร้ายแรงอีกต่อไปเนื่องจากภาวะแข่งขันกับเธรดการอัปเดตเซสชัน
  • Anchor.create มีความเสถียรมากขึ้นเมื่อเรียกใช้ในโปรแกรมจำลอง

เวอร์ชัน 1.0.0-alpha01

12 ธันวาคม 2024

androidx.xr.arcore:arcore-* 1.0.0-alpha01ระบบจะถอนการอ้างสิทธิ์

ฟีเจอร์ของการเปิดตัวครั้งแรก

ไลบรารี ARCore สำหรับ Jetpack XR ได้รับแรงบันดาลใจจากไลบรารี ARCore ที่มีอยู่ จึงมีความสามารถในการผสมผสานเนื้อหาดิจิทัลเข้ากับโลกแห่งความจริง ไลบรารีนี้ประกอบด้วยการติดตามการเคลื่อนไหว สมอแบบถาวร การทดสอบการตรวจจับระนาบ และการระบุระนาบด้วยการติดป้ายกำกับเชิงความหมาย (เช่น พื้น ผนัง และพื้นผิวโต๊ะ) ดูคู่มือนักพัฒนาซอฟต์แวร์ เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ ARCore สำหรับ Jetpack XR

  • Session: ARCore สำหรับ Jetpack XR ใช้ Jetpack XR Runtime เบื้องหลังเพื่อขับเคลื่อนฟังก์ชันการทำงาน คุณจะใช้เซสชันเพื่อโต้ตอบกับ API ของ ARCore สำหรับ Jetpack XR ส่วนใหญ่ ดังนั้นโปรดดูเอกสารประกอบ

  • Plane: ใช้เครื่องบินเพื่อทำความเข้าใจโลกรอบตัว แต่ละระนาบมี Label ที่อธิบายระนาบนั้นในเชิงความหมาย คุณใช้ subscribe เพื่อรับการแจ้งเตือนเกี่ยวกับเครื่องบินที่ตรวจพบล่าสุด หรือ state เพื่อรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงของเครื่องบินที่เฉพาะเจาะจงได้

  • Anchor: ลิงก์ระหว่างออบเจ็กต์เสมือนกับสถานที่ในโลกแห่งความเป็นจริง คุณแนบสมอไปยังตำแหน่งที่เฉพาะเจาะจงในพื้นที่ (โดยใช้ create) หรือTrackable (โดยใช้ createAnchor) ได้

    • คุณนำสมอมาใช้ซ้ำในเซสชันต่างๆ ได้ คุณสามารถใช้ persist เพื่อจัดเก็บ getPersistedAnchorUuids เพื่อแสดงรายการ และ load เพื่อดึงข้อมูล โปรดunpersistเมื่อไม่ได้ใช้งานแล้ว

    • Anchor ทำงานร่วมกันได้ระหว่าง ARCore สำหรับ Jetpack XR และ Jetpack SceneCore คุณสามารถสร้าง AnchorEntity โดยใช้ Anchor หรือหากมี AnchorEntity อยู่แล้ว คุณสามารถใช้ getAnchor เพื่อดึงข้อมูล Anchor ที่รองรับได้

    • เสนอการโต้ตอบของผู้ใช้ที่เป็นธรรมชาติโดยใช้ hitTest HitTest ใช้ Ray เพื่อระบุเนื้อหาที่ตัดกันและสร้าง Anchor จากตำแหน่งนั้น พิจารณาทำการทดสอบการยิงรังสีจาก InputEvent

ปัญหาที่ทราบ

  • อาจมีความล่าช้าระหว่างการเรียก unpersist กับการนำ UUID ออกจากผลลัพธ์ที่ getPersistedAnchorUuids แสดง

  • create จะไม่ตรวจสอบว่าระบบมีทรัพยากรเพียงพอที่จะแสดงผล Anchor ใหม่ การสร้าง Anchor มากเกินไปอาจทำให้เกิดข้อขัดข้อง

  • ขณะนี้ระบบยังไม่รองรับการคงแองเคอร์ที่เคยคงไว้และยกเลิกการคงไว้

  • ระบบรองรับการใช้งานในโปรแกรมจำลอง แต่ลักษณะการทำงานอาจไม่เสถียรเท่ากับการเรียกใช้ในอุปกรณ์จริง โดยเฉพาะการเรียกใช้ create อาจล้มเหลวเนื่องจากข้อผิดพลาดของโค้ดแบบเนทีฟและสิ้นสุดกิจกรรมทันที

  • ในบางกรณี ระบบอาจแสดง RuntimeException อย่างไม่ถูกต้องเมื่อเรียกใช้ persist พร้อมข้อความ "Anchor was not persisted" ในกรณีดังกล่าว ฟังก์ชันจะยังคงทำงานได้สำเร็จและระบบจะบันทึก Anchor ไว้ เราขอแนะนำให้คุณใส่การเรียกใช้ persist ไว้ในบล็อก try เพื่อเป็นการแก้ปัญหาชั่วคราว