VR và loại bỏ sự thất vọng


13

Khi kết xuất môi trường VR (chế độ xem âm thanh nổi), các bạn có khuyên bạn chỉ nên thực hiện 2 lần kiểm tra bực bội để xác định những gì sẽ được rút ra trong quá trình loại bỏ bực bội hoặc có một số kiểm tra khác có thể kết hợp cả hai sự thất vọng không?

Câu trả lời:


13

Thật dễ dàng để tạo ra một nỗi thất vọng bao quanh cả hai nỗi đau mắt cá nhân, như thể hiện trong sơ đồ này được tạo bởi Cass Everitt tại Oculus. Bạn chỉ cần đặt đỉnh của sự thất vọng này giữa hai mắt và đằng sau chúng một chút. Bạn cũng có thể tăng khoảng cách gần mặt phẳng để khớp với mặt phẳng gần ban đầu của mắt.

nhập mô tả hình ảnh ở đây

Một sự thất vọng như vậy bao gồm một không gian nhỏ không nằm trong sự kết hợp của hai nỗi thất vọng ban đầu. Có một thể tích nhỏ nằm ngang giữa hai mắt; Ngoài ra, sơ đồ không hiển thị kích thước dọc, nhưng kéo đỉnh bực bội trở lại làm cho nó bao gồm một số không gian bên trên và bên dưới sự thất vọng ban đầu. Tuy nhiên, đối với mục đích loại bỏ thực tế, nó có thể không thành vấn đề. Frustum culling thường là bảo thủ, và không gian thêm chỉ dày vài cm.

Cũng có thể đơn giản là loại bỏ các mặt phẳng trên và dưới cùng (được chia sẻ giữa hai mắt) cùng với các mặt phẳng bên ngoài. Các mặt phẳng này không tạo thành một sự thất vọng, về mặt kỹ thuật, nhưng nếu sử dụng thuật toán loại bỏ "thông thường" kiểm tra trên một mặt phẳng tại một thời điểm, thuật toán sẽ vui vẻ hoạt động trên bất kỳ bộ mặt phẳng nào bạn quan tâm để cung cấp cho nó.

Chia sẻ sự chán nản, lựa chọn LOD, v.v. giữa hai mắt, thay vì thực hiện lại hai lần mỗi khung hình, là một cách tuyệt vời để tối ưu hóa chi phí CPU của kết xuất âm thanh nổi. Đây cũng là điều kiện tiên quyết nếu bạn muốn sử dụng phương thức kết xuất thu hút cả hai mắt trong một lần chạy, chẳng hạn như kết xuất âm thanh nổi được điều khiển .


2
Cảm ơn Nathan đó chính xác là những gì tôi đã theo dõi, bạn đã hỏi sơ đồ này ở đâu, tôi có thể hỏi nó có trong tài liệu công khai nào từ oculus không?
Garry Wallis

2
@GarryWallis Cass đã tweet nó vài tháng trước.
Nathan Reed

5

Tôi đã khái quát kết quả của Everitt nếu cần thiết.

thất vọng chung chung

Như một phần thưởng, một cách để trích xuất0 / phải0 từ ma trận phối cảnh mắt:

left0   = n0 * (Mle13 - 1) / Mle11;
right1  = n1 * (Mre13 + 1) / Mre11;

Nếu bạn có hàng lớn. chuyển vị cho cột chính. cf câu trả lời này


4

Hãy cẩn thận, sử dụng một lần duy nhất để loại bỏ chỉ hoạt động nếu trường nhìn kết hợp của mắt nhỏ hơn 180 độ. Hiện tại có các tai nghe VR với trường nhìn rộng hơn khoảng 200 độ, tức là Pimax 5k +StarVR . Không thể xây dựng một chế độ xem truyền thống hoặc ma trận chiếu đơn cho trường nhìn trên 180 độ.

Các tai nghe này sử dụng màn hình góc cạnh, vì vậy các mặt phẳng chiếu và vectơ chuyển tiếp trong không gian xem không song song. Các phương trình từ các câu trả lời khác ở đây cho rằng chúng song song và sẽ tạo ra kết quả không chính xác khi giả định đó sai.

Một chế độ xem kết hợp duy nhất vẫn có thể hữu ích, nhưng mã của bạn nên được chuẩn bị để xử lý các trường hợp không thể xây dựng được điều này để đảm bảo rằng đó là bằng chứng trong tương lai. Ngoài ra, hãy cân nhắc việc thực hiện loại bỏ trên mỗi chế độ xem mắt hoặc chuyển sang loại thải theo góc có thể biểu thị FOV lớn hơn 180 độ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.