Mục lục bài viết
Trong Call of Duty Mobile hay PUBG Mobile, nhiều người chơi chuyên vào trận chỉ dùng ngón tay để xoay góc nhìn, nhưng người chơi trình độ cao gần như luôn bật thêm điều khiển con quay hồi chuyển (gyroscope) để ngắm bắn tinh chỉnh. Cảm giác “mượt” hay “nhạy” của gyroscope mà người chơi cảm nhận được thực ra là kết quả cộng hưởng giữa chất lượng cảm biến vật lý và cách phần mềm xử lý dữ liệu từ cảm biến đó, không nghiêng hẳn về một phía.
Cảm biến gyroscope trong điện thoại đo được gì
Con quay hồi chuyển trong điện thoại là cảm biến MEMS siêu nhỏ, đo tốc độ góc xoay quanh ba trục X, Y, Z chứ không đo góc nghiêng tuyệt đối như cảm biến gia tốc. Khi xoay máy để ngắm bắn, gyroscope liên tục gửi dữ liệu tốc độ xoay theo từng mili giây, hệ điều hành tích hợp dữ liệu này theo thời gian để suy ra góc xoay hiện tại. Độ chính xác phụ thuộc tần số lấy mẫu (thường 100-500Hz tùy chip cảm biến) và mức nhiễu nội tại của cảm biến, hai thông số hoàn toàn thuộc phần cứng và khác nhau giữa các dòng chip của Bosch, STMicroelectronics hay InvenSense.
Vì sao cùng bật gyroscope nhưng cảm giác nhạy khác nhau giữa các máy
Cảm biến chất lượng thấp có mức trôi (drift) cao hơn, dữ liệu góc xoay dần lệch khỏi vị trí thực theo thời gian ngay cả khi máy đứng yên, buộc phần mềm phải áp thuật toán lọc bù trôi liên tục. Lọc quá mạnh khiến gyroscope phản ứng chậm với chuyển động nhỏ, tạo cảm giác “lì”; lọc quá yếu thì xuất hiện rung giật khi ngắm. Đây là lý do một số điện thoại tầm trung dùng cảm biến giá rẻ có cảm giác ngắm bắn “không đã tay” dù thông số ghi vẫn là “có hỗ trợ gyroscope” như máy cao cấp.
Vai trò của thuật toán fusion trong game engine
Dữ liệu thô từ gyroscope không được game dùng trực tiếp mà phải qua bước hợp nhất cảm biến (sensor fusion), kết hợp thêm dữ liệu từ accelerometer để cho ra góc xoay ổn định và chính xác hơn dữ liệu gyroscope đơn lẻ. Chất lượng thuật toán fusion nằm ở tầng phần mềm, do hãng chip cảm biến cung cấp sẵn hoặc do studio game tự viết riêng. Đây là lý do cùng một điện thoại nhưng chơi game A thấy gyroscope mượt còn game B lại thấy hơi trễ, khác biệt nằm ở cách mỗi game xử lý cùng luồng dữ liệu thô chứ không phải phần cứng thay đổi.
Độ nhạy điều chỉnh trong game thực ra chỉnh sửa gì
Thanh trượt “độ nhạy gyroscope” trong game không thay đổi bản thân cảm biến mà chỉ điều chỉnh hệ số nhân áp lên dữ liệu góc xoay đã qua fusion trước khi chuyển thành chuyển động camera. Vì vậy dù chỉnh độ nhạy lên cao nhất, máy có gyroscope kém chất lượng vẫn giữ nguyên độ trôi và độ trễ vốn có, chỉ là camera phản ứng mạnh hơn với cùng góc xoay tay, không giải quyết được vấn đề gốc về độ chính xác cảm biến.
Hiểu nhầm thường gặp
“Máy nào ghi hỗ trợ gyroscope 6 trục hay 9 trục thì chắc chắn ngắm bắn mượt hơn.” Số trục cảm biến chỉ cho biết loại dữ liệu được thu thập (có thêm la bàn số hay không), không phản ánh chất lượng lấy mẫu, mức nhiễu của cảm biến hay chất lượng thuật toán fusion mà game engine sử dụng. Hai máy cùng ghi hỗ trợ 6 trục vẫn có thể cho cảm giác ngắm bắn khác hẳn nhau.
Xem thêm
Bài viết này nằm trong nhóm chủ đề Benchmark & chơi game: tổng hợp bài viết. Xem thêm Nút bấm vai ảo trên điện thoại gaming có thực sự hữu ích.
