ARKit for Apple iOS 11

Với mỗi lần phát hành mới của iOS, Apple dường như đã giới thiệu ít nhất một thư viện hoặc công nghệ mới tạo ra hứng thú thêm cho các nhà phát triển. ARKit là một trong những công nghệ mang lại sự thú vị, nhưng cũng mở ra nhiều con đường mới cho phát triển ứng dụng iOS. Kể từ khi ARKit được công bố, những ứng dụng về tương tác thực tế (AR) vẫn tiếp tục được xây dựng. Có lẽ bạn đã nghe nói về tương tác thực tế (Augmented Reality), nhưng không chắc nó có ý nghĩa gì. Hoặc có thể bạn quan tâm đến Augmented Reality nhưng không chắc chắn ARKit có thể giúp bạn như là một nhà phát triển. Trong bài này, chúng ta sẽ kiểm tra những gì ARKit mang lại và bạn có thể làm gì với nó.

Tương tác thực tế (AR) là gì ?

Augmented Reality (AR) thường bị nhầm lẫn với Virtual Reality (VR) – thực tế ảo. VR là thuật ngữ dùng để miêu tả môi trường được mô phỏng trên máy tính, hiển thị thông qua màn hình máy tính hoặc kính nhìn không gian ba chiều. Trong khi đó AR lại tăng thêm trải nghiệm bằng cách cho chúng ta thấy những vật thể thực nhìn thấy được bằng mắt thường kèm theo đó là hiển thị những thông tin hữu ích về vật thể này được giả lập bằng máy tính. Tóm lại, VR thay thế hoàn toàn thế giới thực bởi một thế giới mô phỏng còn AR chỉ bổ sung thêm các chi tiết vào thế giới thực tại. Ứng dụng của thực tế ảo – virtual reality

Ứng dụng của augmented reality – tương tác thực

Augmented Reality Before ARKit

Augmented Reality không phải là một công nghệ mới. Trên thực tế, nó đã tồn tại dưới nhiều hình thức trước khi Apple cung cấp một SDK cho phát triển ứng dụng iOS. Ví dụ, màn hình hiển thị đứng đầu (HUD) trong một số máy bay hỗ trợ phi công bằng cách hiển thị thông tin chuyến bay quan trọng trên cửa sổ buồng lái. Bằng cách đó, phi công có thể nhìn thấy thông tin mà không cần nhìn xa khung cảnh. Các công nghệ tương tự tồn tại trong xe để hiển thị tốc độ và các dữ liệu khác trên kính chắn gió.

The Current State of AR Apps

ARKit là một thư viện mới khá thú vị để phát triển ứng dụng iOS, nhưng các ứng dụng tương tác thực (AR) đã xuất hiện trên các thiết bị của Apple trong nhiều năm trước. Các thiết bị iOS ban đầu thiếu một số cảm biến cần thiết để làm cho tương tác thực hoạt động tốt, chẳng hạn như la bàn và con quay hồi chuyển. Khi công nghệ AR xuất hiện, các ứng dụng AR đã xuất hiện trên App Store.

Pokémon Go

Chắc hẳn bạn không thể không nghe tới tên tựa game này trong mùa hè năm 2016 . Có lẽ đã từng download từ Apple store và thử chơi nó. Pokémon Go kết hợp thương hiệu trò chơi điện tử phổ biến thứ hai của Nintendo với một giao diện tương tác thực tế (AR). Tương tác thực tế ở đây chính là việc người chơi phải tới địa điểm thực tế trên bản đồ để săn tìm Pokémon.

PeakFinder Earth

PeakFinder Earth hiển thị tên của những ngọn núi gần đó khi bạn xem chúng qua điện thoại của bạn. Nó cũng bao phủ một bức tranh toàn cảnh - cùng với các đường đi của mặt trời và mặt trăng - trên đầu trang của xem. Về cơ bản nó là một phiên bản tương tác thực tế.

Sky View

Xác định những gì ở trên bầu trời từ một bản đồ giấy khi đứng bên ngoài vào ban đêm có thể là khó khăn. Khi nhìn qua điện thoại của bạn thông qua ứng dụng Sky View và nhìn thấy bầu trời đêm được dán nhãn, việc xác định vị trí sẽ trở thành một quá trình đơn giản.

Gymaholic

Sử dụng Gymaholic để theo dõi thói quen tập luyện trọng lượng của cá nhân. Khi bạn bắt đầu tập bài tập mới, học đúng kĩ thuật là rất quan trọng để giảm nguy cơ chấn thương và tận dụng tối đa từ tập luyện. Trong khi nhiều ứng dụng sẽ cho thấy một bài tập, Gymaholic có thể làm việc với Apple Watch của bạn hoặc một tờ giấy in với một mục tiêu để hiển thị các bài tập thể dục trong câu hỏi trong tương tác thực AR. Không giống như video hoặc biểu đồ tiêu chuẩn, bạn có thể di chuyển và xoay quanh người tập thể hình động 3D và xem bài tập từ mọi góc độ để đảm bảo bạn hiểu được kỹ thuật phù hợp.

Ink Hunter

Việc xăm hình là một quyết định cá nhân và khá là quan trọng với một người. Trước khi thực hiện một hình xăm, tại sao không sử dụng điện thoại của bạn để xem nó sẽ trông như thế nào? Ink Hunter cho phép bạn làm điều đó. Ứng dụng sẽ cho phép bạn tìm kiếm thiết kế hình xăm và sau đó xem những gì nó sẽ giống như trên da của bạn.

PhotoPills

Thời gian trong ngày, mùa của năm và thậm chí cả vị trí của bạn trên hành tinh thường làm cho sự khác biệt giữa một bức ảnh đẹp và tuyệt vời. PhotoPills cung cấp một số công cụ để giúp bạn lập kế hoạch chụp ảnh: nó sẽ phủ lên con đường và vị trí của Mặt Trời, Mặt Trăng và Dải Ngân hà bất cứ lúc nào, quá khứ hoặc tương lai, dựa trên vị trí của bạn. Nhìn thấy ánh mặt trời sẽ chuyển động qua bầu trời trong một mùa nhất định và vị trí. Điều này sẽ làm cho việc lập kế hoạch chụp ảnh hoàn hảo và dễ dàng hơn.

What ARKit Does

Điều làm cho ARKit đặc biệt là nó phản ánh tốt nhất của Apple - nó đã hoạt động!

Với ARKit, việc tạo ra các ứng dụng bổ sung thực tế không còn đòi hỏi một công cụ tùy chỉnh hoặc tìm ra thư viện hoàn hảo. Apple đã xây dựng động cơ để hoạt động trên tất cả các thiết bị hiện có ít nhất một bộ xử lý A9 chạy iOS 11. Nó bao gồm iPhone 6s hoặc mới hơn, bao gồm cả iPhone SE, tất cả các Ưu điểm của iPad và iPad năm 2017.

ARKit sử dụng một quy trình được gọi là đo lường quán tính hình ảnh để xây dựng sự tương ứng giữa thực và ảo trong ứng dụng của bạn. Nó kết hợp các cảm biến chuyển động trong thiết bị với sự phân tích hiện trường thu thập thông qua máy ảnh của thiết bị và tạo ra mô hình độ chính xác cao về vị trí và chuyển động của thiết bị trong thế giới cho bạn. Kết quả là, nó nhận ra các tính năng đáng chú ý trong hình ảnh cảnh, theo dõi sự khác biệt trong các vị trí của các tính năng và so sánh thông tin đó với dữ liệu cảm biến chuyển động trong quá trình chuyển động.

Vì vậy, ARKit không chỉ xác định rằng bạn đang chỉ điện thoại của bạn về phía đông. Nó cũng phân tích và cố gắng để hiểu được cảnh ở phía đông. ARKit có thể tìm thấy các bề mặt thực tế tương ứng với các điểm trong hình ảnh của máy ảnh. Nó có thể phát hiện các bề mặt phẳng (mặc dù không thẳng đứng) và cung cấp thông tin về vị trí và kích thước của các bề mặt này. Ứng dụng của bạn có thể đặt đối tượng ảo vào và tương tác với những điểm và bề mặt này.

Sự tích hợp chặt chẽ với iOS có nghĩa là bạn, với tư cách là nhà phát triển, có thể tận dụng các kỹ năng bạn đã có trong những năm phát triển ứng dụng iOS của mình. Bạn có thể xây dựng các đối tượng ảo bằng cách sử dụng SceneKit và SpriteKit, hoặc bạn có thể sử dụng Metal để phát triển một cảnh ảo với sự kiểm soát gần như hoàn toàn các phần tử trực quan.

What can you do with ARKit?

Bây giờ ngoài việc hiểu thêm một chút về tương tác thực tế (AR) , bạn có thể đang tự hỏi, "Nó thực sự hữu ích cho cái gì?" ARKit đã phát hành vào cuối tháng 9/2017 như là một phần của việc phát hành iOS 11 của Apple. Trong những tháng giữa, các nhà phát triển đã khám phá ra công nghệ và tiến hành xây dựng các demo cho nguồn cảm hứng. Trong khi ARKit chỉ là vài tuần tuổi, các nhà phát triển đã cân nhắc cách sử dụng nó trong nhiều tháng. Có vẻ như có một bản demo ARKit mới trên Twitter mỗi ngày, và một số demo nổi bật là ở dưới đây.

Objects in World

Bản giới thiệu đầu tiên chúng ta thấy ARKit đã sử dụng tương tác thực tế để đo lường không gian vật lý được xem qua điện thoại. Khả năng dịch khoảng cách trên màn hình sang khoảng cách trong thế giới thực cung cấp nền tảng cho các ứng dụng cần đặt các đối tượng một cách chính xác vào chế độ xem. Các nhà phát triển đã mở rộng ứng dụng này với các ứng dụng cho phép người dùng xác định kích thước và bố cục của phòng bằng cách di chuyển điện thoại quanh phòng. Các trình diễn khác đo khoảng cách giữa các đối tượng hoặc dọc theo các đường dẫn bằng cách vẽ các đường kẻ trên một màn hình bằng ngón tay.

Ikea đã trình diễn một ứng dụng cho phép khách hàng xem trước nội thất trong phòng trước khi đi đến cửa hàng. Sẽ tốt hơn nếu bạn biết rằng một chiếc ghế dài sẽ không phù hợp với phòng của bạn trước khi bạn giao nó. Các công ty thiết kế và trang trí nhà có thể sẽ làm tăng khả năng tương tự cho ứng dụng của họ. Điều này sẽ làm cho mua sắm trực tuyến cho các mặt hàng này cảm thấy ít rủi ro hơn.

Games and Fun

Trò chơi đặc biệt có vẻ phù hợp với tính năng này. Đó không phải là một sự trùng hợp ngẫu nhiên mà cả WWDC và các sự kiện ra mắt iPhone của Apple đã cho thấy các trò chơi tương tác thực tế. Mong rằng các nhà phát triển game sẽ nắm lấy ARKit vì các trò chơi phù hợp với công nghệ hình ảnh mới. Thậm chí chỉ cần có một cái nhìn thoáng qua các cuộc trình diễn trong sự kiện của Apple, bạn có thể cho biết có điều gì đó hấp dẫn về việc chơi một trò chơi trong tương tác thực tế. Khả năng di chuyển và tương tác với một trò chơi như thể nó thực sự xảy ra trong thế giới thực mở ra một thể loại hoàn toàn mới của trò chơi. Những trò chơi đầu có khả năng giống với Pokémon Go, hoặc các trò chơi demo tại các sự kiện của Apple như The Machines. Chúng ta sẽ bị hấp dẫn bởi ý tưởng về các trò chơi đưa mọi người vào trong một môi trường ảo được chia sẻ. Thay vì nhìn vào biểu tượng của một bảng trên màn hình, một trò chơi tương tác thực tế có thể hiển thị bảng trên bàn trước mặt bạn. Bạn có thể thấy hình đại diện của những người chơi khác xung quanh bảng với bạn, giống như bạn đang ngồi trong một căn phòng với nhau. Điều này sẽ mang lại trải nghiệm kết nối nhẹ nhàng của nhiều người chơi và làm cho nó trở nên hấp dẫn hơn nhiều. Khái niệm này cũng có thể làm việc cho các trò chơi bài, các trò chơi nhập vai và các trải nghiệm trò chơi chia sẻ khác.

Education

Tương tác thực tế (AR) có rất nhiều tiềm năng để cách mạng hoá giáo dục ở nhiều cấp. Các ứng dụng có khái niệm trừu tượng hoặc quy mô lớn và đặt nó trước mắt của một người nào đó có thể là công cụ mạnh để giúp học sinh hiểu các chủ đề và khái niệm mới. Ví dụ: ARSolarPlay co lại hệ mặt trời để phù hợp trong phòng với bạn. Thay vì một học sinh chỉ nghe về hệ mặt trời thì giờ có thể nhìn thấy nó trong lớp học và di chuyển nó giữa các hành tinh.

Ngoài lớp học, địa điểm lịch sử và địa điểm giờ đây có thể tăng cường trải nghiệm với ứng dụng AR. Thay vì cho du khách một cuốn sách nhỏ đơn giản tại một di tích lịch sử, điện thoại của mỗi khách truy cập có thể trở thành chìa khoá của họ để hiểu được quá khứ. Các điểm quan tâm bây giờ có thể cung cấp thông tin thị giác và thính giác có liên quan khi bạn ghé thăm một địa điểm quan trọng đặc biệt. Hôm nay, bạn chỉ có thể đọc về một trận chiến diễn ra trong một cánh đồng trước mặt bạn. Với một ứng dụng tương tác thực tế (AR), du khách có thể nghe tường thuật trong khi xem một ảo hóa lại của trận chiến. Hoặc bạn có thể xem một giải trí ảo của núi lửa phun trào khi bạn đứng trên mép của miệng núi lửa!

Mapping and Location

Các ứng dụng điều hướng hiện tại đơn giản chỉ cho bạn để rẽ trái tại giao lộ tiếp theo. Một ứng dụng tương tác thực tế (AR) có thể vẽ đường dẫn cho bạn, hiển thị lần lượt đi quanh góc. Một ứng dụng đi bộ có thể cho bạn thấy mũi tên để đi theo đường mòn mong muốn, hoặc dẫn bạn trở lại đường mòn khi bị mất. Ví dụ: hãy kiểm tra thư viện ARKit-CoreLocation, thể hiện sự kết hợp giữa tương tác thực tế với dữ liệu GPS. Một doanh nghiệp có thể giúp khách hàng điều hướng các cửa hàng của họ tốt hơn bằng một ứng dụng. Bệnh viện và trường đại học đôi khi việc tìm kiếm một số phòng hoặc tầng khá khó khăn. Hãy tưởng tượng một ứng dụng có thể đưa ra đường dẫn đến văn phòng bác sĩ hoặc phòng chờ hoặc khu vực ngay trên màn hình điện thoại của bạn. Nếu bạn từng tách ra khỏi bạn bè trong một buổi hòa nhạc, lễ hội hoặc sự kiện khác lan rộng trên không gian rộng lớn và đông đúc, hãy tưởng tượng một phiên bản Find My Friends hữu ích có thể cho bạn biết vị trí của bạn ở đâu và đường dẫn nào để lấy lại cho họ.

Some Weakness of ARKit for iOS 11

Trở ngại lớn nhất với ARKit là không có khả năng để phát hiện theo phương thẳng đứng. ARKit có thể đặt đối tượng ảo của bạn lên một bảng, nhưng không treo nó lên tường. Nó cũng không xử lý bề mặt phức tạp rất tốt, chẳng hạn như các bức tường cong hoặc các bề mặt không phẳng khác.

Các phân tích thị giác máy tính cung cấp nhiều của "ma thuật" của ARKit cần những hình ảnh khá rõ ràng để làm công việc của mình. Một căn phòng mờ có vài chi tiết có thể không hoạt động tốt ở AR, do đó ý tưởng về ứng dụng nhà bị ma ám mà bạn đã có cho Hallowe'en có thể chỉ cần đợi bản cập nhật sau đó cho ARKit.

Nhận thấy rằng các bề mặt không có kết cấu hoặc tương phản nhiều sẽ mất nhiều thời gian để theo dõi, và một khi được công nhận, không theo dõi với các bề mặt có kết cấu với độ tương phản cao. Bao gồm các bức tường trắng trần. Những bề mặt này cần người dùng di chuyển máy ảnh xung quanh để cung cấp cho thư viện dữ liệu đủ để xử lý. Ngoài ra thư viện không cung cấp phản hồi trong những trường hợp này để bạn có thông báo lại cho người dùng.

Cũng có những lo ngại về việc ứng dụng tương tác thực tế (AR) sẽ ảnh hưởng đến tuổi thọ pin như thế nào. Một ứng dụng bổ sung tương tác thực tế (AR) sẽ được sử dụng máy ảnh, hiển thị đồ họa phức tạp trên màn hình và thực hiện các phép tính phức tạp - tất cả cùng một lúc, có thể là rò rỉ pin. Tuy nhiên chúng ta không cần thiết phải suy nghĩ vì điều này vì điện và bộ sạc di động có giá rẻ.

Summary

Tương tác thực tế (AR) không phải là một công nghệ mới, nhưng ARKit đơn giản hóa nó đủ để bạn có thể mong đợi một làn sóng ứng ứng thú vị mới trong những tháng tới. Nếu muốn bắt đầu tìm hiểu, Apple’s documentation cung cấp một tài liệu tham khảo tốt và tổng quan về thư viện.