12/08/2018, 15:11

Hướng dẫn làm VR với Unity

Chào các bạn , hôm nay mình sẽ giới thiệu với các bạn một công nghê khá là mới và thú vị đó là VR . Trước tiên ta tìm hiểu VR là cái gì thì nó là viết tắt của từ Virtual Reality có nghĩa là thực tế ảo có nghĩa là khi trải nghiệm nó ta sẽ nhìn thấy một thế giới ảo do những lập trình viên tạo ra . Để ...

Chào các bạn , hôm nay mình sẽ giới thiệu với các bạn một công nghê khá là mới và thú vị đó là VR . Trước tiên ta tìm hiểu VR là cái gì thì nó là viết tắt của từ Virtual Reality có nghĩa là thực tế ảo có nghĩa là khi trải nghiệm nó ta sẽ nhìn thấy một thế giới ảo do những lập trình viên tạo ra . Để trải nghiệm nó cần có cả phần cứng và phần mềm , phần cứng là kính thực tế ảo cái kính này giờ có hai hãng lớn sản xuất là Oclus và Samsung , phần mềm thì là do các lập trình viên hoạ sĩ đồ hoạ tạo ra môi trường ảo . Nói nhiều khó hiểu quá mình sẽ link một video ở đây để các bạn xem cho dễ hình dung : https://www.youtube.com/watch?v=-30WJwF3Onc Các bạn có thể xem rất nhiều demo trên mạng . Nói chung đây là một công nghệ của tương lai và theo nhiều nhất định nó sẽ thay thế thời đại smartphone , nếu bạn chưa thử cảm nhận thì hãy tới một vài siêu thị điện máy lớn để trải nghiệm sự tuyệt vời của nó .

Trong bài này tôi sẽ hướng dẫn cách sử dụng VR trong lập trình với Unity engine . Bài viết này sẽ có nhiều phần và hôm nay tôi chỉ giới thiệu một cách tổng quan .

Giới thiệu qua một tí :

Unity đã giới thiệu họ hỗ trợ tích hợp cho một số thiết bị VR. Hướng dẫn này tập trung vào các thiết bị VR của oculus đặc biệt là bộ Oculus Rift Development 2 (DK2) và phiên bản dành cho người tiêu dùng của Gear VR (một thiết bị dành cho thiết bị Samsung : galaxy S6, S6 edge + , Note 5)

VR Head Mounted Displays (HMDs) sẽ làm việc với Unity ,chẳng hạng như HTC Vive .

Tiếp theo là hướng dẫn làm thế nào để bật VR trong project Unity lên : Trước tiên hãy chắc chắc là bạn đã cài đặt Oculus runtime : https://developer.oculus.com/downloads/ và sử dụng Unity 5.3 hoặc cao hơn nhé .

Để bật VR lên bạn đi theo đường dẫn sau : Edit > Project Settings> Player > Other Settings > Rendering

Bạn hãy tick vào ô "Virtual Reality Supported"

Hoặc chúng ta có thể bật nó lên bằng code trong quá trình chạy như sau :

using UnityEngine;
using UnityEngine.VR;

public class ToggleVR : MonoBehaviour
{
    //Example of toggling VRSettings
    private void Update ()
    {
        //If V is pressed, toggle VRSettings.enabled
        if (Input.GetKeyDown(KeyCode.V))
        {
            VRSettings.enabled = !VRSettings.enabled;
            Debug.Log("Changed VRSettings.enabled to:"+VRSettings.enabled);
        }
    }
}

Ok giờ ta xem thử VR nó nhìn như thế nào trong Unity nào :

Khi mà VR supported được kích hoạt trong Unity Editor và DK2 được kết nối , bạn ấn nút Play sẽ hiển thị view Game trên DK2 cũng như trong trình editor . Điều này cho phép kiểm tra nhanh hơn và lặp lại nhiều lần , không cần phải xây dựng một bản build cho mỗi thay đổi của bạn trong VR . Lập trình viên đã tạo ra nội dung VR trước đó sẽ nhận thấy chế độ xem từng bên được thay thế bằng một hình ảnh duy nhất .

Cần lưu ý rằng không cần tạo thêm một camera cho mỗi mắt , tất cả camera sẽ render trong VR , ngoại trừ những người có một render texture được giao . Để biết thêm về Render texture bạn xem ở đây : http://docs.unity3d.com/Manual/class-RenderTexture.html?_ga=1.227451544.406482034.1456806285

Tối ưu hoá được tự động áp dụng để làm cho cả hai camera trở nên nhẹ hơn chẳng hạn như loại bỏ và rendering bóng đổ một lần cho cả hai mắt . Bạn có thể tìm hiểu thêm tài liệu ở đây : http://docs.unity3d.com/Manual/VROverview.html?_ga=1.155479230.406482034.1456806285 http://docs.unity3d.com/ScriptReference/30_search.html?q=VR&_ga=1.155479230.406482034.1456806285

Phần cứng và phần mềm được khuyến nghị dùng cho phát triển VR trong Unity

Bởi vì VR là công nghệ mới nên tại thời điểm này có một số hạn chế về phần cứng và phần mềm được nêu dưới đây :

- Về phần cứng

Đạt được tốc độ frame yêu cầu cho HMD là điều cần thiết cho một trải nghiệm VR tốt, và điều này phải phù hợp với tỷ lệ làm mới của bảng điều khiển được sử dụng trong HMD. Trên DK2, tốc độ này phải là 75 khung hình / giây và đối với Gear VR, tốc độ này phải là 60 khung hình / giây. Nếu tốc độ khung hình giảm xuống dưới mức này, nó đặc biệt đáng chú ý đối với người dùng, và thường dẫn đến buồn nôn kiểu như bị choáng             </div>
            
            <div class=

0