Bagian 5 Button Navigasi

Augmented Reality Button Navigasi

Tutorial ini adalah lanjutan dari tutorial Augmented Reality Bagian 4. Jika kamu belum mengetahui Augmented Reality, kamu bisa mempelajari di tutorial sebelumnya pada link berikut ini: Bagian 1 Augmented Reality

Target yang akan sahabat capai pada bagian ini adalah sahabat akan dapat membuat tombol yang fungsinya untuk menavigasi objek AR ke arah kanan, kiri, atas dan bawah.

Baiklah, langsung saja kita tonton videonya di bawah ini.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ARMenu : MonoBehaviour {

	public GUISkin guiSkin;
	private float guiRatio;
	private float sWidth;
	private Vector3 GUIsF;

	public GameObject sphere;
	public float kecepatanRotasi = 50f;
	bool statusRotasi = false;

	public Texture navAtas, navBawah, navKanan, navKiri;

	void Awake(){
		sWidth = Screen.width;
		guiRatio = sWidth / 1920;
		GUIsF = new Vector3 (guiRatio, guiRatio, 1);
	}

	void OnGUI(){
		GUI.skin = guiSkin;
		//Letakkan fungsi disini
		CaptureRotasi();
		Navigasi ();
	}

	void CaptureRotasi(){
		GUI.matrix = Matrix4x4.TRS (new Vector3 (Screen.width - 258 * GUIsF.x, GUIsF.y, 0), Quaternion.identity, GUIsF);

		if (statusRotasi == false) {
			if (GUI.Button (new Rect (-208, 10, 238, 59), "Rotasi")) {
				statusRotasi = true;
			}
		} else {
			if (GUI.Button (new Rect (-208, 10, 238, 59), "Rotasi")) {
				statusRotasi = false;
			}
		}
		//Disini untuk meletakkan fungsi tombol capture

		if (GUI.Button (new Rect (-458, 10, 238, 59), "Capture")) {
			Application.CaptureScreenshot ("C:/Hasil Capture/Capture.png");
		}

		if (GUI.Button(new Rect(40,10,208,59),"Keluar")) {
			Application.Quit ();
		}

	}

	void Update(){
		if (statusRotasi == true) {
			sphere.transform.Rotate (Vector3.up, kecepatanRotasi * Time.deltaTime);
		}
	}
		
	void Navigasi(){
		GUI.matrix = Matrix4x4.TRS (new Vector3 (Screen.width - 258 * GUIsF.x, Screen.height - 89 * GUIsF.y, 0), Quaternion.identity, GUIsF);

		if (GUI.RepeatButton (new Rect (-30, 0, 80, 80), navKiri)) {
			//Navigasi kiri
			sphere.transform.Translate (Vector3.left *kecepatanRotasi *Time.deltaTime);
		}

		if (GUI.RepeatButton (new Rect (60, 0, 80, 80), navBawah)) {
			//Navigasi bawah
			sphere.transform.Translate (Vector3.back *kecepatanRotasi *Time.deltaTime);
		}

		if (GUI.RepeatButton (new Rect (60, -90, 80, 80), navAtas)) {
			//Navigasi atas
			sphere.transform.Translate (Vector3.forward *kecepatanRotasi *Time.deltaTime);
		}

		if (GUI.RepeatButton (new Rect (150, 0, 80, 80), navKanan)) {
			//Navigasi kanan
			sphere.transform.Translate (Vector3.right *kecepatanRotasi *Time.deltaTime);
		}
	}

}

Link untuk mengunduh file texture yang dibutuhkan pada tutorial ini : https://drive.google.com/open?id=1_03zxms5ZhtNToDB1IlB5458l-t8Th9r

Anton Prafanto

Konten developer kodingindonesia.com & staf pengajar tetap di Universitas Mulawarman Samarinda

all author posts