1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu các FRAMEWORK hỗ trợ làm GAME

68 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Các Framework Hỗ Trợ Làm Game 3D Tương Tác, Thực Thể Ảo AR
Tác giả Lương Lý Công Thắng, Hồ Công Thành
Người hướng dẫn ThS. Nguyễn Thị Thanh Trúc
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Đồ Án
Năm xuất bản 2011
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 68
Dung lượng 10,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2: Cơ sở lý thuyết2.1 Công nghệ Augment RealityAugmented Reality là một trải nghiệm mà ở đó trải nghiệm ở thế giới thực sẽ được hòa trộn với các vật thể ở thế giới ảo do máy tính

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1

TÌM HIỂU CÁC FRAMEWORK HỖ TRỢ LÀM GAME

3D TƯƠNG TÁC, THỰC THỂ ẢO AR

Giảng viên hướng dẫn: Ths Nguyễn Thị Thanh Trúc

Sinh viên thực hiện: Lương Lý Công Thắng - 18520357

Hồ Công Thành - 18520359

TP Hồ Chí Minh, tháng 12 năm 2011

Trang 5

Chương 1: Giới thiệu đề tài1.1 Lý do chọn đề tài

Ngành công nghiệp phát triển game đang phát triển cực kỳ mạnh mẽ trên thếgiới, và xu hướng đó đã bắt đầu ở Việt Nam Đặc biệt, những năm gần đây, thịphần game mobile đang gia tăng mạnh, kèm theo đó là xu hướng làm game AR nổibật là Pokemon Go đang phát triển Nhóm em muốn thông qua môn này có thể tìmhiểu thêm về lĩnh vực đang phát triển này

Trang 6

Chương 2: Cơ sở lý thuyết2.1 Công nghệ Augment Reality

Augmented Reality là một trải nghiệm mà ở đó trải nghiệm ở thế giới thực

sẽ được hòa trộn với các vật thể ở thế giới ảo do máy tính tạo ra, người dùng có thểcảm nhận các vật thể ở thế giới ảo thông qua các giác quan như thị giác, xúc giác,

vị giác, thính giác, mùi hương, nhiệt độ, … , đồng thời cho phép người dùng tươngtác với các vật thể ảo bằng các thiết bị hỗ trợ đặc biệt Người dùng sẽ có cảm nhận(nghe, nhìn, ngửi, ) những vật thể ảo do máy tính tạo ra như đang thực sự ở trongthế giới thực, có thể là một chậu cây ở trên bàn hoặc một con khủng long đangchạy trên đường Nói ngắn gọn, Augmented Reality giúp tăng trải nghiệm củangười, xóa nhòa ranh giới thực và ảo

2.1.1 Lịch sử

Tuy các khái niệm AR mới nổi lên gần đây với đại đa số công chúng thôngqua các bộ phim khoa học viễn tưởng hoặc các ứng dụng của AR, nhưng các kháiniệm và các ứng dụng của AR đã có lịch sử hình thành lâu đời cách đây hơn 50năm trước

Năm 1901, Lyman Frank Baum, một nhà văn, đã đưa ra một ý tưởng về

một màn hình điện tử mà có thể hiển thị hình ảnh con người lên thế giới thật, ônggọi nó là thiết bị đánh dấu con người (character marker)

Năm 1968, Ivan Sutherland, một giáo sư về khoa học máy tính, đã tạo ra một cỗ máy tên gọi là The Sword of Damocles, chiếc máy này cho phép thay đổi

hình ảnh đầu ra dựa vào vị trí và góc quay của đầu người đeo

Năm 1975, Myron Krueger đã tạo nên một video cho phép người dùng tương

tác với các vật thể ảo realtime

Năm 1980, Steve Mann, tạo ra một chiếc máy tính có thể đeo được

Năm 1990, từ Augmented Reality mới được định nghĩa lần đầu tiên bởi

Thomas P Caudell, một nhà nghiên cứu cho hãng Boeing

Từ năm 1990 đến nay, Augmented Reality liên tục được phát triển, nhưng chủyếu được sử dụng trong mục đích nghiên cứu, huấn luyện quân đội, và du hành vũ trụ.Mãi tới năm 2000, một game mới được ra đời dựa trên công nghệ AR với tên gọi là

Trang 7

ARQuake, đánh dấu bước phát triển AR tới với người dùng phổ thông(https://youtu.be/RiH0IXQQpio) Năm 2001, một công cụ để phát triển các ứng dụng

AR là ARToolkit được công bố dưới dạng mã nguồn mở bởi phòng thí nghiệm HITcủa đại học Washington và tiếp tục được phát triển tới ngày nay Năm 2013, Googlecông bố dự án Google Glass, một chiếc kính AR Năm 2015, Microsoft công bố chiếckính AR của hãng với tên gọi Hololens Microsoft gọi công nghệ này là MixedReality nhưng những tính năng của nó cũng tương tự như AR Từ 2015 đến nay, cóhàng trăm ứng dụng có sử dụng công nghệ AR như công nghệ filter ảnh realtime củaInstagram, Tiktok, hay các ứng dụng mạng xã hội khác, hoặc Game thì nổi bật nhất

là game Pokemon Go, với việc cho phép các pokemon xuất hiện như ngoài đời thật

2.1.2 Các thiết bị dùng cho AR

a) Thiết bị đeo qua đầu (Head-Mounted Display - HMD)

Hình 2.1 Hình minh hoạ một thiết bị đeo qua đầuMột dạng màn hình hiển thị được đeo qua đầu như một dạng nón (ảnh), bêntrong chứa một màn hình hiển thị cho mỗi mắt HMD được sử dụng trong nhiềulĩnh vực, bao gồm gaming, y tế, quân đội, hàng không, giáo dục Mặc dù HMD cóthể sử dụng cho AR gaming, nhưng theo đa phần thị trường hiện nay chỉ cung cấploại HMD cho VR

b) Mắt kính ARHình dạng giống như một chiếc mắt kính mà mọi người hay đeo, nhưngđược trang bị thêm một camera để theo dõi thế giới thực, một thiết bị để xử lý hìnhảnh, và một máy chiếu để hiển thị các hình ảnh tăng cường vào mắt người sử dụngthông qua sự phản xạ trên bề mặt kính

Trang 8

Hình 2.2 Hình minh hoạ kính ARc) Kính áp tròng

Các thành phần và cách thức hoạt động tương tự như một chiếc mắt kính

AR, nhưng được tích hợp vào một chiếc kính áp tròng Công nghệ này được pháttriển lần đầu vào năm 1999 bởi Steve Mann, và nó cần phải kết hợp với một chiếckính AR khác để hoạt động Một bản Prototype chưa hoàn thiện đã được giới thiệu

ở CES 2020 bởi công ty Mojo Vision, thiết bị này có khả năng hoạt động độc lập

mà không cần một chiếc kính AR khác hỗ trợ

Hình 2.3 Kính áp tròng ARd) Thiết bị cầm tay

Một thiết bị hiển thị có kích thước vửa với tay người thiết bị cầm tay hỗ trợ

AR phổ biến nhất hiện nay là chiếc điện thoại di động, nó sử dụng các cảm biến cósẵn của một chiếc điện thoại để đưa các vật thể ảo vào trong thế giới thực, các cảmbiến có thể bao gồm la bàn, GPS, cảm biến gia tốc, cảm biến khoảng cách,

Hiện nay, các thiết bị điện thoại vẫn còn hạn chế về mặt hiệu năng cũng như hạnchế về sự hỗ trợ đến từ các công ty làm thư viện AR như Google hay Apple nên số

Trang 9

lượng các thiết bị có hỗ trợ AR thuần chưa được phổ biến trên thị trường, hiện cókhoảng 80% thiết bị iOS và 35% thiết bị Android có hỗ trợ.

e) Thiết bị chiếuMột cách để đưa các vật thể ảo vào thế giới thật mà không cần các thiết bịnhư HMD, mắt kính, hay điện thoại Thiết bị chiếu sẽ map một đoạn video hoặcmột bức ảnh vào một vật thể ở thế giới thực, điều này có thể hơi ngược với cácthiết bị vừa rồi vì chúng map một vật thể 3d ảo vào mắt chúng ta (một bức ảnh2D) Điều này cho phép các vật thể ảo này là độc lập với người xem, mọi ngườiđều nhìn thấy vật thể ảo này ở cùng một địa điểm, cùng một kích thước

Hình 2.4 Bức ảnh chụp việc map một đoạn video lên một tòa nhà

f) Các thiết bị InputBao gồm các thiết bị cung cấp các thông tin cần thiết về thới giới thực chomáy tính xử lý Các thiết bị này có thể bao gồm camera, thiết bị nhận dạng giọngnói, thiết bị nhận dạng chuyển động cơ thể người, các tay cầm để điều khiển,

2.1.3 Cách thức hoạt động

Quá trình hoạt động của một hệ thống AR thường được chia là 2 phần chính

Gia đoạn đầu tiên: Hệ thống sẽ lấy các bức ảnh từ camera, cũng như cácthông tin nhận được từ các cảm biến Sau khi lấy được thông tin ảnh, hệ thống sẽtiến hành xử lý những bức ảnh đó, có 2 kỹ thuật chính để xử lý ảnh:

Trang 10

1 Marker tracking: ở đây, hệ thống sẽ tìm kiếm những hình ảnh đã được

định trước (marker) trong những bức ảnh đó và đánh dấu chúng và bắt đầu theo dõinhững hình ảnh đó Ví dụ như chúng ta có bức ảnh một bình bông và chúng ta set

up cho hệ thống tìm bức ảnh đó, hệ thống sẽ thông qua camera để tìm kiếm hìnhảnh bình bông đó trong các bức ảnh mà camera gửi tới để đánh dấu

Hình 2.5 Một số mẫu Marker

2 Markerless tracking (Instant tracking): Không sử dụng marker, thay vào

đó, hệ thống sẽ sử dụng các cảm biến để track vị trí , hướng nhìn của người dùng,cũng như detect được môi trường thực tại xung quanh người sử dụng (tường, đất,ánh sáng) Markerless có thể sử dụng các công nghệ nhận diện môi trường xungquanh như SLAM (2.5) để nhận biết môi trường xung quanh

Giai đoạn hai: hệ thống sử dụng các thông tin đã được sử lý ở giai đoạn 1 đểđưa các vật thể ảo vào trong ảnh và hiển thị ra màn hình cho người dùng Ví dụ đốivới marker, thì hệ thống sẽ hiển thị một vật thể là bình bông lên phía trên marker,với markerless thì người dùng có thể chọn đặt vật thể lên mặt đất Ở giai đoạn này,các phương pháp toán học có thể áp dụng để map vật thể vào ảnh bao gồm Phépchiếu, phép transformation, giải tích vector, thuật toán Kalman Filter (dùng để lọcnhiễu), Nonlinear Optimization,

Trang 11

Hình 2.6 Marker tracking

Trang 12

Hình 2.7 Markerless Tracking

2.1.4 Công nghệ SLAM

Công nghệ SLAM được dùng để tái tạo lại thế giới thực từ các bức ảnh màcamera gửi đến dồng thời liên tục theo dõi vị trí của thiết bị trong thế giới thực Sửdụng những thông tin này, các nhà phát triển AR có thể tùy chỉnh ứng dụng củamình dựa vào thế giới xung quanh, đồng thời nó giúp hệ thống điều chỉnh các vậtthể ảo cho phù hợp với vị trí, góc xoay, hướng nhìn của người sử dụng

Công nghệ này sẽ phân tích các bức ảnh để tìm ra các Feature Point FeaturePoint là các điểm mà hệ thống cho là cần chú ý, các điểm đa phần được tìm thấy ởcác cạnh, các góc, các bức ảnh với đặc điểm nhận dạng cao của môi trường Hệ

Trang 13

thống sẽ sử dụng các Feature Point để hiểu môi trường xung quanh, nhận diệnđược các mặt phẳng, các đồ vật, các bức ảnh,

Hình 2.8 Ví dụ về các Feature Point

2.1.5 Một số ứng dụng Game AR

a) Pokemon GO

Hình 2.9 Mô phỏng game Pokemon GO

Pokemon GO ra đời năm 2016, với chức năng cho phép người dùng nhìn cáccon thú pokemon đứng và hoạt động trong thế giới thực Người chơi sẽ vào vaingười chuyên đi bắt các pokemon, đi theo các con đường để tìm kiếm pokemon

Trang 14

Khi phát hiện pokemon, game sẽ chuyển người chơi sang sử dụng camera, lúc nàyngười chơi sẽ sử dụng camera để tìm kiếm các pokemon đang ở gần mình và quăngbóng bắt chúng.

Pokemon GO nhanh chóng nổi tiếng toàn cầu với lối chơi áp dụng công nghệ ARvào game tương đối mới lạ với nhiều người

b) Angry Birds AR: Isle of Pigs

Hình 2.10 Mô phỏng game Angry Bird AR

Angry bird AR với lối chơi thừa hưởng từ dòng game tiền nhiệm, nay kếthợp với công nghệ AR đã làm tăng đáng kể trải nghiệm của người chơi Ngườichơi khi bắt đầu game sẽ được chương trình hướng dẫn chĩa camera vào các bề mặtphẳng, ngay khi chương trình nhận diện được bề mặt phẳng sẽ xin phép người chơiđược đặt các tower ở đó Sau khi đặt tower, người dùng có thể đưa camera xungquanh khu vực để bắn các chú chim nhằm phá hủy các tower và tiêu diệt các chúheo xanh

Lối chơi của game không mới nhưng việc áp dụng công nghệ AR một cáchkhéo léo đã giúp game trở nên thú vị và mới lạ hơn

Trang 15

c) AR Dragon

Hình 2.11 Hình minh hoạ game AR DragonGame này cho phép chúng ta nuôi và chơi với các chú rồng Người chơi sẽtìm một mặt phẳng trống rồi triệu hồi ra các chú rồng của mình, sau khi triệu hồi,người chơi sẽ được vuốt ve, cho ăn, huấn luyện và chơi đùa với các chú rồng củamình Game có đồ họa bắt mắt, dễ thương, sống động nhờ vào công nghệ ARmang lại cảm giác các chú rồng đang ở cạnh chúng ta

Game thích hợp cho các bạn muốn nuôi thú cưng nhưng không có điều kiệnhoặc muốn thử nuôi một chú rồng xem có hợp không trước khi đi mua về nuôi mộtchú rồng thật

2.2 Dòng game giải đố

2.2.1 Định nghĩa và lối chơi

Trò chơi giải đố tập trung vào những thử thách logic và có quy tắc Khônggiống như những thể loại phiêu lưu hay hành động thường bao gồm những câu đố

Trang 16

bên trong các cấp độ, một trò chơi giải đố thực sự tập trung vào yếu tố giải quyếtnhững câu đố như lối chơi chính của nó.

Một trò chơi giải đố không chỉ là một nhóm các câu đố bất kì để giải quyết,

mà thay vào đó thường cung cấp một chuỗi những câu đố liên quan vớ nhau vàthường mang cùng một chủ đề Chủ đề chung này thường liên quan tới một khuônmẫu, kiểu tư duy hoặc hiểu được tiến trình Những trò chơi này thường có các luật

lệ và người chơi phải tìm ra những manh mối để đạt được điều kiện chiến thắng,thường là để mở khoá cấp độ tiếp theo

Game giải đố thường bao gồm những lối chơi sau:

● Sắp xếp, kết nối vật thể theo nhóm, ví dụ như khuôn mẫu, hình dáng,

ký hiệu, màu sắc

● Hiện thực hoá và thao túng vật thể trong không gian

● Ghi nhớ những mẫu hình phức tạp

● Giải quyết những câu đố lặp lại với độ khó tăng dần

● Giải quyết câu đố trong thời gian giới hạn

● Áp dụng những kiến thức thực tế để giải quyết câu đố

● Áp dụng tư duy đột phá (Think outside of the box) để giải quyết vấnđề

2.2.2 Lịch sử

Trò chơi giải đố có nguồn gốc từ việc rèn luyện trí não và những câu đốxuyên suốt lịch sử nhân loại Trò chơi chiến thuật toán học Nim, những trò chơitruyền thống như Hangman đều là những mục tiêu nổi tiếng được chuyển thể thànhmột trò chơi trên máy tính

Trò chơi Space Panic của hãng Universal Entertainment được ra mắt trênmáy game thùng vào năm 1980 là tiền thân của những tựa game giải đố sau nàynhư Lode Runner (1983), Door Door (1983), và Doki Doki Penguin Land (1985).Blockbuster của Alan Griesemer và Stephen Bradshaw (máy Atari 8-bit, 1981) làphiên bản điện tử hoá của trò chơi rubik Snark Hunt (máy Atari 8-bit, 1982) là tròchơi một người chơi áp dụng tư duy loại trừ, là bản clone của board game Black

Trang 17

Box (1970s) Trò chơi giải đố bằng cách đẩy thùng của Sokoban (1982) cũng đượcsao chép và tái sử dụng như thành phần chính trong nhiều trò chơi giải đố thời nay.

Trò chơi Puzzle Panic (1984) trên máy tính Atari 8-bit đặc biệt sử dụng từ

“puzzle” trong tiêu đề của trò chơi Năm 1984 cũng chứng kiến sự ra đới của tròchơi Boulder Dash, với mục tiêu thu thập kim cương trong khi tránh hoặc phá tảng

đá rơi khi đất bị loại bỏ Nó dẫn tới một lượng lớn trò chơi cùng mô tip “rock anddiamonds”

Vào năm 1985, Chain Shot! giới thiệu kiểu chơi xoá bỏ một nhóm ô cùngmàu trên một lưới, khiến những ô còn lại rơi xuống khoảng trống đó Trò chơiNuclear Waste Dump (của Uncle Henry, 1986) tương tự với Tetris

Trang 18

Tetris là một trò chơi điện tử cách mạng hoá và phổ biến hoá dòng game giải

đố Trò chơi được tạo ra bởi nhà thiết kế game Alexey Pajitnov người Xô Viết vàonăm 1984, người được truyền cảm hứng bởi trò chơi Pentomino Trò chơi đạt đượcthành công trung bình khi ra mắt trên Spectrum Holobyte cho MS-DOS năm 1987,Atari Games trên máy game thùng năm 1988 nhưng bán được 30 triệu bản trênGame Boy

Trang 19

Năm 1994 đánh dấu sự gia tăng yêu thích với trò chơi điện tử dựa trên mạtchược Nhật Bản

Khi Minesweeper ra mắt trên Windows 95, những người dùng thông thườngđược khuyến khích sử dụng chuột để chơi những trò chơi giải đố, điều đó dẫn tới

sự ra đời của những tựa game giải đố hiện đại

Trang 20

Năm 2001, PopCap Games ra mắt phiên bản sao chép lại, với những cải tiến

về mặt đồ hoạ, của tựa game trên MS-DOS Shariki, mà một thập kỉ sau đó trởthành lối chơi chính cho nhiều tựa game nổi tiếng, bao gồm Candy Crush Saga vàPuzzle & Dragon (2012)

Theo sau sự ra đời của Portal (2007), nhiều tựa game giải đố áp dụng yếu tốvật lí đã ra đời, định hình cho thể loại này

Trang 22

o Coding: là loại logical game yêu cầu sử dụng các yếu tố lập trình đểqua màn Game tiêu biểu: The Incredible Machine, SpaceChem,Infinifactory,…

● Trial-and-error: thường áp dụng kiểu chơi point-and-click (chỉ và ấn),

thường gần giống với dòng game phiêu lưu, khác với dòng logical, dònggame này yêu cầu suy luận quy nạp để giải quyết vấn đề Yếu tố này cónghĩa là người chơi cần thử nghiệm và thất bại để nghiệm ra quy tắc, cơ chếcủa màn chơi trước khi có thể qua màn, và vì thế chúng thường yêu cầungười chơi đoán mò và thử nghiệm để hiểu hơn về câu đố

Trang 23

● Hidden object game: là dòng game giải đố mà người chơi phải tìm kiếm mộtdanh sách các vật thể được yêu cầu để qua màn, những vật thể này được ẩngiấu trong nhiều câu đố khác.

● Tile-matching: là dòng game mà người chơi điều khiển những ô để khiếnchúng biến mất theo một điều kiện định sẵn, như các game: Chain Shot!,Candy Crush Saga, Tetris,…

Trang 24

● Traditional Puzzle: phiên bản điện tử của những trò chơi giải đố cổ điểnkhác nhau, một số game nổi bật như: Solitaire, Word Puzzle, Sudoku,…

Trang 25

2.3 Finger tracking (theo dõi ngón tay)

Lĩnh vực finger tracking không hề mới, với sự xuất hiện lần đầu vào nhữngnăm 1969 sử dụng để xác định vị trí ngón tay của người dùng và thể hiện trên vậtthể ba chiều Việc sử dụng finger tracking có thể kể tới các thiết bị ngoại vi quenthuộc đã trở thành một phần quan trọng của máy tính ngày nay, chuột và bàn phím.Ngày nay, khi nhắc đến công nghệ finger tracking, chúng ta thường đề cập đến việcgiao tiếp người – máy thông qua cử chỉ và chuyển động của bàn tay Các hệ thốngnày theo dõi vị trí ba chiều và hai chiều của ngón tay, sử dụng tri giác máy tính đểxác định chuyển động và cử chỉ để tương tác

2.3.1 Các kiểu tracking:

● Găng tay ghi nhận quán tính: hệ thống này ghi nhận độ xoay của mỗi ngóntay trong không gian ba chiều, áp dụng chúng vào chuỗi động học(kinematic chain) để theo dấu toàn bộ bàn tay người theo thời gian thực màkhông bị tắc nghẽn và hoàn toàn không dây Các găng tay này cần có cácchuỗi cảm biến gắn trên chúng, càng ít cảm biến, chúng cần nhiều dự đoánnội suy hoặc ngoại suy hơn, từ đó khiến độ chính xác giảm xuống Găng tay

có thể bắt được chuyển động theo ba hướng

Trang 26

● Hand skeleton: để ghi nhận chuyển động chính xác hơn, theo dấu độ xoay cóthể kết hợp với phần xương để cho ra kết quả chính xác nhất Việc này thôngthường đòi hỏi kích thước chính xác của cảm biển với từng bàn tay, do đócần được đo đạc thủ công hoặc tự động để dễ dàng phát hiện chuyển động.

● Theo dấu vị trí: xác định vị trí của bàn tay trong một không gian Có ba cách

để thực hiện điều này bao gồm xác định vị trí tay so với cơ thể, xác định vịtrí má ngoài bàn tay thông qua hệ thống ghi hình chuyển động (mocap) vàxác định vị trí má ngoài bàn tay với thiết bị bổ trợ (thường dùng với kínhVR)

● Đánh dấu bằng vật thể: hệ thống đánh dấu các vị trí quan trọng của ngón taytrên ảnh và xác định vị trí, hình dạng lúc đó của bàn tay Thường được sửdụng trong nhận diện cử chỉ 3D, đôi khi người ta dùng vòng tay và nhẫn làmđiểm đánh dấu để dễ dàng xác định hơn

Trang 27

● Không sử dụng vật thể thật: thường dùng trong tương tác với môi trường ảo,nhiều hệ thống này sử dụng diễn giải tuần tự, trong đó một chuỗi hình ảnhtuần tự được ghi nhận và mô hình nó để thể hiện sự thay đổi, từ đó tìm rađược vị trí 3D của nó Tất cả thuộc tính của bàn tay được thể hiện bằngvector trên một không gian có trạng thái, thứ sẽ xác định vị trí và góc quaykhớp ngón tay.

Trang 28

2.3.2 Các công nghệ hỗ trợ

● OpenCV: thư viện hỗ trợ thị giác máy tính nói chung trên nền tảng python,

cung cấp api theo dấu tay và ngón tay

● MediaPipe: thư viện cung cấp tracking của google

● Manomotion: thư viên theo dõi ngón tay hỗ trợ nhận diện theo hình ảnh, có

thể tích hợp vào các ứng dụng AR, VR dễ dàng

Trang 29

2.3.3 Ứng dụng

● Hệ thống cử chỉ tay được theo dấu có thể thay thế nhiều nút bấm phức tạp,

sự kết hợp cử chỉ và chuyển động có thể dễ dàng mô phỏng các hành độngphức tạp như drag-drop, copy paste mà thông thường cần một con chuột vànhiều phím để thực thi

● Tăng cường trải nghiệm trên các thiết bị thực tế ảo khi không cần dùng taycầm hỗ trợ

● Hỗ trợ tương tác điều khiển thiết bị công nghiệp từ xa thông qua thao tác và

Trang 30

3.1.2 Kiến trúc và các nền tảng hỗ trợ

3.1.2.1 Kiến trúc API

Hình 3.25 Kiến trúc Vuforia

Luồng hoạt động của Vuforia Engine bao gồm:

● Cấu hình và tạo Engine

● Cấu hình và tạo Observer

● Phân tích State và lấy ra Observations

● Kết xuất đồ hoạ tăng cường dựa trên Observations

a) Engine: Engine là một đối tượng quản lí vòng đời của vuforia engine, cho

phép khởi tạo, phá huỷ, bắt đầu, tạm dừng trải nghiệm AR Engine có thểđược cấu hình lại theo yêu cầu của người dùng Một số thành phần có thểđược điều chỉnh bao gồm license key (để kết nối tới cloud service của

vuforia cho các xử lí, tính toán hình ảnh thu được), các thông số của cameratuỳ vào mục đích sử dụng hay các thông số khi kết xuất đồ hoạ

b) Observer: Observer là một thành phần được tạo ra và giao nhiệm vụ quan

sát các thuộc tính của thế giới thật, thường là các thực thể vật lí đã được gántarget Người dùng sẽ tạo ra một Observer cho mỗi thành phần của thế giới

Trang 31

thật mà ta muốn Vuforia phát hiện, theo dõi và ghi nhận thông tin Mục tiêucủa Observer cũng có thể là một vị trí ảo hay điều kiện ánh sáng Khi

Observer được kích hoạt, người dùng sẽ nhận được Observation thông quacác trạng thái được trả về

c) State: Trạng thái thu thập thông tin được quan sát tại một thời điểm nhất

định, bao gồm thông tin về Observations do Observer cung cấp, đồng thời sửdụng dữ liệu từ camera và trạng thái kết xuất đồ hoạ

d) Observation: bao gồm thông tin được tạo ra bởi Observers tại một thời điểm

xác định Khi người dùng di chuyển và tương tác với màn hình AR,

Observer báo cáo những thay đổi về target mà nó được giao, những báo cáonày chính là observations và được thu thập với State Observation gồm nhiềuthông tin như hình dáng, trạng thái, lưới đồ hoạ,… của vật thể được quan sát

Có hai cách để lấy được thông tin này từ state: hoặc là cập nhật tất cả

Observers và lấy thông tin từ State; hoặc là đăng kí một hàm trả về toàn cục,thu thập thông tin trực tiếp từ State (chỉ nên dùng cho các tiến trình quantrọng)

e) Controller: dùng để điều chỉnh Engine và các cài đặt khác ngay trong

runtime, như điều chỉnh thuộc tính camera (chế độ video, tập trung, đènflash), kiểm soát nền tảng, kiểm soát viêc kết xuất đồ hoạ

3.1.2.2 Các nền tảng hỗ trợ

Vuforia SDK hỗ trợ các đa nền tảng di động và các loại kính kỹ thuật số.Android Studio, Xcode, Visual Studio và Unity đều có thể tích hợp được VuforiaSDK

Android  (1) 6.0 NDK r23+ ARCore 1.18+

Gradle 6.5+

Android SDK Build Tools 29.0.3+

Android Studio 4.0.x+

Unity Editor 2019.4.0+

Trang 32

iOS  (2) 12+ Xcode 12+ ARKit

Device Tracker iOS Devices

● ARKit or VISLAM support via Vuforia Fusion

Android Devices

● Android Version: 6.0 (Marshmallow) or later

● ARCore or VISLAM support via Vuforia Fusion

UWP Devices

● VISLAM support via Vuforia Fusion

● HoloLens 1 and HoloLens 2 do not support Ground Plane. For equivalent functionality, please use SDK provided by OEM

Trang 33

● ARKit support via Vuforia Fusion

Android Devices

● Android Version: 6.0 (Marshmallow) or later

● ARCore support via Vuforia Fusion

UWP Devices

● Support for HoloLens 1 and HoloLens 2 only

Lumin Devices

● Not supported Model Targets iOS Devices

● ARKit or VISLAM support via Vuforia Fusion

Android Devices

● Android Version: 6.0 (Marshmallow) or later

● ARCore or VISLAM support via Vuforia Fusion

Trang 34

Mỗi khung hình từ camera được chụp và phân tích, người lập trình có thể kiểmsoát việc khi nào việc ghi hình bắt đầu và dừng lại Khi xuất hình ảnh ra màn hìnhthiết bị, Vuforia sẽ tìm kiếm frame hiện tại, lấy ra trạng thái camera và kết xuấthình ảnh làm nền.

3.1.3.2 Tracker

Vuforia theo dấu môi trường thông qua camera và các yếu tố khác của thiết

bị nhằm xác định các mặt phẳng, mục tiêu, thông tin toạ độ và tương tác nút ảo Bộtheo dõi này sử dụng các thuật toán thị giác máy tính trên nền tảng cloud củavuforia, nhờ đó không yêu cầu quá cao về hiệu năng của thiết bị đầu cuối hoặc máychủ cá nhân

Ngày đăng: 08/03/2022, 21:37

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w