Hello Developers,
Tidak terasa perkembangan teknologi semakin maju cepat. Kita dapat melihat meningkatnya kecepatan processing pada smartphone sekarang. Banyaknya inovasi teknologi yang ikut mewarnai kehidupan developer, salah satunya adalah teknologi VR. Banyak variasi dan berbagai bentuk, bahan, kualitas dan fitur. Tetapi karena digunakan didekat mata sehingga teknologi VR menjadi sangat sensitif perihal kualitas, jika kualitasnya buruk maka akan cepat terasa pusing dan mual. Maka oleh karena itu dibutuhkan kualitas yang baik jika ingin nyaman dalam memanfaatkan teknologi VR.
Samsung bekerjasama dengan Oculus mengembangkan sebuah perangkat VR yang bernama Samsung Gear VR, yang didesain khusus untuk kenyamanan dalam bermain game/aplikasi. Saat ini sudah lebih dari 250 game sudah tersedia di Store Oculus dan spesifikasi device yang digunakan pun cukup tinggi sehingga kualitas dalam bermain sangat terjamin.
Samsung Gear VR sudah terdapat teknologi seperti kontrol tap and swipe, juga beberapa tombol untuk memudahkan pengguna untuk bermain. Jadi untuk bisa menghubungkan kontrol tersebut harus menghubungkan usb mini yang terdapat di GearVR ke Device. Device-device yang dapat digunakan hanya smartphone/phablet tertentu saja yang bertujuan menjaga kualitas dan kepuasan dari pemain. Device yang dapat digunakan seperti Samsung S6, Samsung S6 Edge, Samsung S7, Samsung S7 Edge, dan Samsung Note 5 atau lebih baru.
Dalam mengembangkan Game, developer dituntut untuk membuat game yang menarik dan menyenangkan. Tetapi untuk memenuhi hal tersebut, Developer harus mencoba dan merasakan untuk bermain sehingga mendapatkan ide dan inspirasi dari game tersebut. Di tutorial ini akan menjelaskan bagaimana membuat game VR dengan mudah dapat dimainkan di Cardboard maupun di Gear VR. Sehingga kamu dapat mencoba game kamu di device manapun.
Membuat Project VR Sederhana
Buat Project 3D baru
Buka Aplikasi unity dan kemudian buat project 3d baru dengan nama SampleVRUniversal. Kemudian klik Create Project
Kemudian masukkan Object 3D sederhana dengan cara klik kanan pada Hirachy -> 3D Object -> Cube. Atur posisi di 0,0,0 supaya terlihat di kamera.
Kemudian tambahkan pointer. klik kanan pada Main Camera -> 3D Object -> Sphere. atur posisi z dengan nilai 2 dan scale 0.05. Jangan lupa hapus Component Sphere Collider. Lihat seperti gambar dibawah ini:
Setelah itu, masukkan SDK Cardboard ke project. Sebelumnya Anda juga harus mendownload terlebih dahulu
GoogleVRForUnity.unitypackage atau lebih lengkapnya Anda dapat download di
Google VR for Unity. kemudian masukkan package yang telah didownload dengan cara klik menu
Assets >
Import Package >
Custom Package... Kemudian cari file
GoogleVRForUnity.unitypackage yang telah didownload. Untuk mengubah tampilan camera menjadi mode VR cukup drag file
GvrViewerMain ke
Hierarchy. Secara otomatis
Main Camera akan terlihat modus VR ketika terinstal di Android
Menambahkan Script pada Cube
Kemudian membuat script yang sekiranya dapat digunakan baik di Cardboard maupun di GearVR. Tambahkan script pada Cube. klik Add Component > New script. Contoh nama script TeleportUniversal.cs. Kemudian tulis script seperti dibawah ini.
Contoh Script untuk Select object seperti dibawah ini:
void Update () {
RaycastHit hit;
Vector3 posMainCam = Camera.main.transform.position;
Vector3 direction = Camera.main.transform.TransformDirection(Vector3 .forward);
if ( Physics.Raycast(posMainCam, direction, out hit))
{
if (hit.transform.name.Equals( "Cube"))
{
// ketika pointer diatas object yang bernama "Cube"
if ( Input.GetMouseButtonDown(0))
{
// ketika klik/tap Object yang bernama "Cube"
}
}
}
else
{
// Ketika pointer diluar object
}
}
Contoh sederhana yang kita lakukan terhadap object "Cube" adalah yang pertama mengubah warna ketika pointer diatas object.
public void IsSelected(bool selected)
{
GetComponent<Renderer>().material.color = selected ? Color.green : Color.red;
}
Kemudian membuat object Cube berpindah ketika diklik/ditap
public void Teleport()
{
Vector3 direction = Random.onUnitSphere;
float distance = 5 * Random.value + 1.5f;
transform.localPosition = Camera.main.transform.localPosition + direction * distance;
}
Code untuk keluar dari aplikasi
if (Input.GetKeyUp(KeyCode.Escape))
{
Application.Quit();
}
Jadi keseluruhan dapat ditulis seperti ini
using UnityEngine;
public class TeleportUniversal : MonoBehaviour
{
void Update()
{
RaycastHit hit;
Vector3 posMainCam = Camera.main.transform.position;
Vector3 direction = Camera.main.transform.TransformDirection(Vector3 .forward);
if ( Physics.Raycast(posMainCam, direction, out hit))
{
if (hit.transform.name.Equals( "Cube"))
{
// ketika pointer diatas object yang bermana Cube
IsSelected( true);
if ( Input.GetMouseButtonDown(0))
{
// ketika klik Object yang bernama Cube
Teleport();
}
}
}
else
{
// Ketika pointer diluar object
IsSelected( false);
}
if ( Input.GetKeyUp( KeyCode.Escape))
{
Application.Quit();
}
}
public void Teleport()
{
Vector3 direction = Random.onUnitSphere;
float distance = 5 * Random.value + 1.5f;
transform.localPosition = Camera.main.transform.localPosition + direction * distance;
}
public void IsSelected( bool selected)
{
GetComponent< Renderer>().material.color = selected ? Color.green : Color.red;
}
}
Jalankan di Device Andorid
Pastikan device andorid Anda support Gyroscope. Kemudian masuk ke Build Settings yang berada di menu File > Build Settings. Jangan lupa untuk menyimpan Scene dan menambahkannya di list scenes. kemudian switch ke platform Android. Setelah itu buka player settings, atur Default Orientation menjadi Lanscape Left dan isi Bundle Indetifier. Kemudian Klik Build and Run pada jendela Build Settings.
Hasil Screenshot sebagai berikut:
Cara mengujinya dengan arahkan pointer ke arah box merah dan tap layer. Setiap object di tap maka akan berpindah tempat.
Porting Project ke Gear VR
Kita sudah tidak mengubah apapun di project, tetapi hanya mengkondisikan supaya bisa dijalankan di Gear VR. Pertama-tama menghapus object
GvrViewerMain dari
Hierarky. Jika ingin mencoba di device, Buka laman
Oculus Signature File (osig) Generator dan salin ID Device yang ada di Command Prompt ke kolom Device ID pada halaman Osig Generator. Untuk melihat device id Anda dapat mendownload dan menginstall aplikasi ini
Device Id Fetch di android Anda.
Download file Osig tersebut, kemudian buat folder /Assets/Plugins/Android/assets didalam Project View setelah itu letakkan file osig tersebut didalam folder assets yang telah didownload.
Untuk mengoptimalkan rendering texture, gunakan ETC2 (GLES 3.0)
Jangan lupa centang Virtual Reality Support dan minimum API level adalah Kitkat (API 19)
Kemudian klik Build and Run, Hasil screenshot
Ketika sudah dicolokkan dengan Samsung Gear VR maka akan masuk ke permainan.
sumber gambar cover:
http://www.gizmodo.com.au/2016/03/google-is-finally-selling-vr-headsets-directly
https://www.amazon.com/Samsung-Gear-VR-Virtual-Warranty/dp/B016OFYGXQ