ARCore SDK ของ Google สำหรับแอป Android ที่ใช้ความเป็นจริงเสริมมาถึงเวอร์ชัน 1.7 ด้วย API ใหม่และการรองรับ Honor View 20, Moto G7, OPPO R17 Pro และอื่นๆ
ARCore SDK ความเป็นจริงเสริมของ Google ได้รับการอัปเดตครั้งใหญ่เป็นเวอร์ชัน 1.7 ในบล็อกโพสต์ Google ระบุว่าเวอร์ชัน 1.7 เน้นไปที่ “องค์ประกอบสร้างสรรค์” เช่น เซลฟี่เติมความเป็นจริง การสร้างตัวละครให้เคลื่อนไหวในแอพ Sceneform AR การรวมองค์ประกอบ ARCore และการเพิ่ม Shared การเข้าถึงกล้อง นอกจากนี้ รายชื่ออุปกรณ์ที่รองรับอย่างเป็นทางการยังได้ขยายไปยังอุปกรณ์ต่างๆ เช่น Honor View 20, Moto G7 series, OPPO R17 Pro และอุปกรณ์อื่นๆ อีกมากมาย
ภาพรวม ARCore 1.7
API ใบหน้าเสริม
ใหม่ API ใบหน้าเสริม ช่วยให้นักพัฒนาซ้อนทับใบหน้าของผู้ใช้ด้วยเอฟเฟกต์ 3D ตัวอย่างเช่น Google กล่าวว่านักพัฒนาสามารถสร้างเอฟเฟกต์ เช่น มาสก์แบบเคลื่อนไหว แว่นตา หมวกเสมือนจริง หรือทำการรีทัชสกินได้ ใช้กล้องหน้าเพื่อสร้างตาข่าย 3 มิติ 468 จุด ซึ่งให้พิกัดและจุดยึดเฉพาะภูมิภาค นักพัฒนาสามารถใช้ Unity หรือ Sceneform เพื่อเริ่มต้นใช้งาน Augmented Faces API
แอนิเมชั่นใน Sceneform
วัตถุที่สร้างใน Sceneform สามารถเพิ่มภาพเคลื่อนไหวเข้าไปได้แล้ว เช่น การเต้นรำ การกระโดด หรือการหมุน
การรวมองค์ประกอบ ARCore
ARCore SDK สำหรับ Unity ได้ผสานรวมองค์ประกอบ ARCore ซึ่งเป็นส่วนประกอบ AR UI ทั่วไปที่ออกแบบมาเพื่อทำให้ขั้นตอนการทำงานของคุณง่ายขึ้น การค้นหาเครื่องบินและการจัดการวัตถุ ซึ่งเพิ่มความคล่องตัวให้กับกระบวนการตรวจจับพื้นผิวและการใช้ท่าทาง จัดการวัตถุเสมือนตามลำดับ เป็นองค์ประกอบ AR UI สององค์ประกอบที่ Google เน้นไว้ในบล็อก โพสต์.
ราคา: ฟรี
4.
การเข้าถึงกล้องที่ใช้ร่วมกัน
การสลับเข้าและออกจากโหมด AR จะราบรื่นยิ่งขึ้นสำหรับผู้ใช้ด้วยการเข้าถึงกล้องที่ใช้ร่วมกันใน SDK ฟีเจอร์นี้ช่วยให้ผู้ใช้หยุดประสบการณ์ AR ชั่วคราว ข้ามไปที่กล้องเพื่อถ่ายภาพ (ตามหลักการแล้วคือของบางอย่างในแอปของคุณ) จากนั้นจึงกลับสู่ประสบการณ์ AR ได้อย่างสง่างาม
ARCore SDK สำหรับ Android 1.7.0 บันทึกการเปลี่ยนแปลง
API และความสามารถใหม่
- ใหม่
Camera.getTrackingFailureReason()
(ชวา) และArCamera_getTrackingFailureReason()
(NDK) วิธีการส่งคืนสาเหตุของความล้มเหลวในการติดตาม AR เมื่อสถานะการติดตามเป็นPAUSED
. - ใหม่
Frame.transformCoordinates2d(…)
(ชวา) และArFrame_transformCoordinates2d(…)
(NDK) วิธีการแปลงรายการพิกัด 2D จากระบบพิกัด 2D หนึ่งไปเป็นระบบพิกัด 2D อื่น - ตัวสร้างเซสชันใหม่
Session(Context, Set
(ชวา) และ) ArSession_createWithFeatures()
(NDK) เปิดใช้งานความสามารถใหม่ๆ โดยเริ่มจาก: -
กล้องหน้าและใบหน้าเสริม
- ขณะนี้แอปสามารถเปิดใช้งาน Augmented Faces ด้วยกล้องหน้า (เซลฟี่) ได้โดยขอ
FRONT_CAMERA
คุณลักษณะเมื่อสร้างเซสชัน - วิธีการใหม่
CameraConfig.getFacingDirection()
(ชวา) และArCameraConfig_getFacingDirection()
(NDK) ให้แอปตรวจสอบว่าใช้กล้องหน้าหรือไม่ - บันทึก: การติดตามการเคลื่อนไหว แองเคอร์ทุกประเภท รูปภาพเสริม และการตรวจจับเครื่องบินจะไม่สามารถใช้งานได้เมื่อใช้กล้องหน้า
- วิธีการใหม่
Config.setAugmentedFaceMode(…)
ให้แอปเปิดใช้งาน Augmented Faces - ใหม่ติดตามได้
AugmentedFace
คลาสเพื่อตรวจจับใบหน้า กำหนดตำแหน่งท่าทาง และสร้างตาข่ายใบหน้า 3 มิติ -
AugmentedFace
(Java) คลาสและชุดของArAugmentedFace_*
วิธีการ (NDK) ช่วยให้ผู้ขอรับสามารถขอท่ากึ่งกลาง ท่าบริเวณ จุดยอด จุดปกติ และดัชนีสามเหลี่ยมของตาข่ายใบหน้า 3 มิติ
- ขณะนี้แอปสามารถเปิดใช้งาน Augmented Faces ด้วยกล้องหน้า (เซลฟี่) ได้โดยขอ
-
การเข้าถึงกล้องที่ใช้ร่วมกัน (จาวาเท่านั้น)
- ขณะนี้แอปสามารถแชร์การควบคุมกล้องกับ ARCore ได้โดยขอ
SHARED_CAMERA
คุณลักษณะเมื่อสร้างเซสชัน คุณสมบัตินี้มีจุดประสงค์หลักเพื่อให้สลับระหว่างโหมดกล้องเท่านั้น (ไม่ใช่ AR) และ ARCore ได้อย่างรวดเร็ว - ใหม่
shared_camera_java
ตัวอย่างที่สาธิตวิธีแชร์การเข้าถึงกล้องด้วย ARCore - ใหม่
SharedCamera
คลาสเพื่อให้แอปสามารถแชร์การเข้าถึง Camera2 API กับ ARCore-
บันทึก:
Frame.getImageMetadata()
พ่นIllegalStateException
เมื่อใช้เซสชั่นกล้องที่ใช้ร่วมกัน ให้สมัครรับการติดต่อกลับจากกล้องโดยตรงโดยใช้แทนSharedCamera.setCaptureCallback(…)
และใช้Frame.getAndroidCameraTimestamp()
เพื่อเชื่อมโยงเฟรมกับข้อมูลเมตา
-
บันทึก:
- วิธีการใหม่
Session.getSharedCamera()
รับวัตถุกล้องที่แชร์สำหรับเซสชัน - วิธีการใหม่
Frame.getAndroidCameraTimestamp()
ส่งคืนการประทับเวลากล้อง Android ของรูปภาพ
- ขณะนี้แอปสามารถแชร์การควบคุมกล้องกับ ARCore ได้โดยขอ
- การเปลี่ยนแปลงเพิ่มเติมเฉพาะ Java เท่านั้น:
- วิธีการใหม่
Session.close()
อนุญาตให้เปิดเผยทรัพยากรที่จัดขึ้นโดยเซสชัน ARCore อย่างชัดเจนเพื่อการควบคุมทรัพยากรที่ดีขึ้น -
PointCloud
ตอนนี้ดำเนินการแล้วCloseable
ทำให้สามารถใช้งานร่วมกับ Java try-with-resources และ Kotlin ได้use
บล็อก
- วิธีการใหม่
การคัดค้าน
-
Frame.transformDisplayUvCoords
(ชวา) และArFrame_transformDisplayUvCoords
(NDK) เลิกใช้งานแล้ว กรุณาใช้frame.transformCoordinates2d(Coordinates2d.VIEW_NORMALIZED, …, Coordinates2d.TEXTURE_NORMALIZED, …)
(ชวา) และArFrame_transformCoordinates2d(…, AR_COORDINATES_2D_VIEW_NORMALIZED, …, AR_COORDINATES_2D_TEXTURE_NORMALIZED, …)
(NDK) แทน
แก้ไขข้อผิดพลาด
-
ฉบับที่ #630:
-
ชวา:
Session.createAnchor()
และTrackable.createAnchor()
ตอนนี้จะโยนอย่างถูกต้องSessionPausedException
และNotTrackingException
เมื่อเหมาะสมแทนFatalException
. -
ค:
ArSession_acquireNewAnchor()
และArTrackable_acquireNewAnchor()
ตอนนี้จะกลับมาอย่างถูกต้องAR_ERROR_SESSION_PAUSED
และAR_ERROR_NOT_TRACKING
เมื่อเหมาะสมแทนAR_ERROR_FATAL
.
-
ชวา:
อ่านเพิ่มเติม
อุปกรณ์ใหม่ที่รองรับ ARCore
ตั้งแต่เรา ล่าสุดนำมา ข่าวสารเกี่ยวกับแพลตฟอร์มความเป็นจริงเสริมของ Google นี่คืออุปกรณ์ที่เพิ่มลงในรายการอุปกรณ์ที่รองรับของ Google
- เกียรติยศดู 20
- หัวเหว่ยโนวา4
- หัวเว่ย Y9 2019
- โมโตโรล่า โมโต G7
- โมโตโรล่า โมโต G7 พลัส
- โมโตโรล่า โมโต G7 พาวเวอร์
- โมโตโรล่าโมโต G7 เล่น
- ออปโป้ R17 โปร
- Vivo NEX รุ่นจอแสดงผลคู่
ให้เกียรติดูฟอรั่ม 20ฟอรัมของ Huawei Nova 4ฟอรัม Moto G7ฟอรัมการเล่น Moto G7ฟอรัม Moto G7 Plusฟอรัมพลังงาน Moto G7
ที่ เกียรติยศดู 20, หัวเว่ย Y9 2019, โมโต G7 พาวเวอร์, และ ออปโป้ R17 โปร เพิ่งเปิดตัวในอินเดียเมื่อไม่นานมานี้ ที่ หัวเหว่ยโนวา4 และ Vivo NEX รุ่นจอแสดงผลคู่ ยังไม่ได้เปิดตัวนอกประเทศจีน
หากคุณจัดการเพื่อดาวน์โหลด Google ARCore 1.7 บนอุปกรณ์ที่รองรับ ลองดูประสบการณ์ความเป็นจริงเสริมบางส่วนที่มีใน Google Play Store ฉันได้เชื่อมโยงแอปง่ายๆ หนึ่งแอปด้านล่างที่ฉันต้องการใช้เพื่อยืนยันว่า ARCore ใช้งานได้
ราคา: ฟรี
3.9.
ที่มา 1: บล็อก Google Developersแหล่งที่มา 2: หน้าเผยแพร่ Google ARCore GitHubแหล่งที่มา 3: อุปกรณ์ที่รองรับ Google ARCore