5 si benda .png digunakan untuk tampilan informasi pada objek atau benda
4.2.3 Pembuatan Scene Petunjuk
Penjelasan script diatas newRectl adalah membuat sebuah bangun baru. dan Screen.width * possxBackMU dan Screen.height * possyBackMU adalah untuk mengatur posisi landscape.
4.2.3 Pembuatan Scene Petunjuk
Pembuatan tampilan scene Petunjuk yang di dalamnya berisi tentang bagaimana penggunaan atau cara pemakaian aplikasi ini. Tampilan Scene Petunjuk halaman pertama dapat dilihat pada Gambar 4.46 berikut ini.
Gambar 4.46 Tampilan Pertama petunjuk
Dalam scene Petunjuk tedapat gameobject yang berisi cube untuk pemberian background object, serta panah sebelah kanan dengan script
ScriptScenePetunjuk.cs ini adalah potongan script dari pembutan button panah sbelah kanan dengan dideklarasikan variable public GUIStyle BackMU digunakan untuk mengatur gambar texture yang akan ditampilkan pada posisi fix layar kamera.
commit to user void OnGUI(){
if (GUI.Button(new Rect(Screen.height * possxBackMU, Screen.width * possyBackMU, Screen.width * .3f , Screen.height * .4f),"",BackMU))
Dan animasi panah bergerak menggunakan script jajal.cs. Jajal.cs digunakan untuk menggerakan animasi panah bergerak pada tampilan pertama dan kedua. Tampilan Scene Petunjuk halaman kedua dapat dilihat pada Gambar 4.47 berikut ini.
Gambar 4.47 Tampilan Kedua petunjuk
Dalam scene Petunjuk tampilan kedua tedapat gameobject yang berisi cube untuk pemberian background object, gambar marker animasi panah bergerak menggunakan script jajal.cs dan ScriptScenePetunjuk.cs. Jajal.cs dan ScriptScenePetunjuk.cs digunakan untuk menggerakan animasi panah bergerak. Potongan script jajal.cs dapat dilihat berikut ini.
using UnityEngine; using System.Collections;
public class jajal : MonoBehaviour {
public Vector2 kece; public Vector2 direc;
commit to user public float x1,x2;
// Use this for initialization void Start () {
kece.x = 10; kece.y = 0; }
// Update is called once per frame void Update () {
Vector3 move = new Vector3 (kece.x * direc.x,kece.y * direc.y,0); move *= Time.deltaTime;
transform.Translate(move);
if(transform.position.x>x1 && x1!=80f){ //klo x1 != 80 direc.x = -3; } if(transform.position.x<x2 && x1!=80f){ direc.x = 3; } //=============================================== ======== if(transform.position.x<x1 && x1==80f){ direc.x = 3; } if(transform.position.x>x2 && x1==80f){ direc.x = -3; } //=============================================== ========= if(ScriptScenePetunjuk.indek==1 && x1!= 80f){
commit to user
transform.position = new Vector3(131, -52.65188f, -1.072327f); x1 = 80f; x2 = 130f; } } }
Selanjutnya potongan script ScriptScenePetunjuk.cs dapat dilihat sebagai berikut ini.
public class ScriptScenePetunjuk : MonoBehaviour { //public Texture BackPetunjuk,background;
public GUIStyle BackMU;
GameObject kepala,kepalamini,kembali,informasi; public float possxBackMU;
public float possyBackMU;
public GameObject[] objek; public static int indek;
// Use this for initialization void Start () { indek = 0; kepala = GameObject.Find("kepala").gameObject; kepalamini = GameObject.Find("kepala mini").gameObject; kembali = GameObject.Find("kembali").gameObject; informasi = GameObject.Find("informasi").gameObject; kepala.renderer.enabled = false; kepalamini.renderer.enabled = false; kembali.renderer.enabled = false;
commit to user
informasi.renderer.enabled = false; }
// Update is called once per frame void Update () {
} void OnGUI(){
//GUI.DrawTexture(new
Rect(0,0,Screen.width,Screen.height),BackPetunjuk);
if (GUI.Button(new Rect(Screen.height * possxBackMU, Screen.width * possyBackMU, Screen.width * .3f , Screen.height * .4f),"",BackMU)){
indek++;
StartCoroutine(tunggu()); // munculkan kepala dan tombol } if(Input.GetKeyDown(KeyCode.Mouse1)){ indek--; } //==================================================== ==================== if(indek == 0){ objek[0].gameObject.renderer.enabled = true; objek[1].gameObject.renderer.enabled = false; objek[2].gameObject.renderer.enabled = true;
commit to user } if(indek == 1){ // hp objek[0].gameObject.renderer.enabled = false; objek[1].gameObject.renderer.enabled = true; } if(indek==2){
objek[3].renderer.enabled = true; // info } if(indek==3){ Application.LoadLevel("MenuUtama"); // pindah scene } }
IEnumerator tunggu(){ // membuat method yg untuk dapat memmanggil yield yg digunakan untuk waktu tunggu
objek[2].gameObject.renderer.enabled = false; yield return new WaitForSeconds(3);
kepala.renderer.enabled = true; yield return new WaitForSeconds(1); kepalamini.renderer.enabled = true; yield return new WaitForSeconds(1); kembali.renderer.enabled = true; informasi.renderer.enabled = true;
objek[2].gameObject.renderer.enabled = true; }
commit to user
Selanjutnya Tampilan petunjuk ketiga yang berisi tampilan yang nantinya menampilankan informasi serta object 3D dan tombol lokasi yang nantinya mengarah ke maps di dalam petunjuk ketiga hanya terdapat tombol anak panah di sebelah kanan apabila di klik akan menuju scene menu utama. Berikut potongan
script yang digunakan untuk menuju scene menu utama.
if(indek==3){
Application.LoadLevel("MenuUtama"); // pindah scene
Tampilan petunjuk ketiga dapat dilihat pada Gambar 4.48 berikut ini.
Gambar 4.48 Tampilan petunjuk ketiga 4.2.4 Pembuatan Scene Tracking
Pembuatan scene coba diawali dengan langkah yang sama seperti pembuatan menu scene scene sebelumnya. Pada scene ini tidak menggunakan main camera namun menggunkan AR Camera. Untuk menggunakan AR camera, import SDK dari vuforia yang telah di download. Selanjtnya masukkan AR camera kedalam
hierarchy, lalu hapus main camera. Kemuadia buat C# script pada project, untuk
memunculkan objek pada saat kamera smartphone melakukan scanning marker. Setelah melakukan codding, maka akan muncul image target pada window
hierarchy. Letakkan objek yang akan ditampilkan dan marker yang berupa
SDKdari vuforia kedalam image target. Pembuatan scene tracking dapat dilihat pada Gambar 4.49 berikut ini.
commit to user
Gambar 4.49 Scene tracking
Selanjutnya merupakan potongan script yang digunakan untuk menampilkan tombol saat smartphone melakukan scanning marker.
Dan berikut ini merupakan potongan script yang di gunakan untuk memunculkan tombol.
//Script mengaktifkan data set marker pada AR camera if (mDataSetsToActivate.Contains(dataSetName)) { imageTracker.ActivateDataSet(dataSet);} //Tutup script mengaktifkan data set marker pada AR camera //Script setting data gambar marker
ImageTargetType IEditorImageTargetBehaviour.ImageTargetType { get{ return mImageTargetType; }}// setting rasio
bool IEditorImageTargetBehaviour.SetAspectRatio(float aspectRatio) {if (mTrackable == null)//setting type image target
{ mAspectRatio = aspectRatio; return true; }
return false; }
bool IEditorImageTargetBehaviour.SetImageTargetType(ImageTargetType imageTargetType)// menampilkan objek augmented reality
{ if (mTrackable == null)
{mImageTargetType = imageTargetType; return true; }
commit to user
if (newStatus == TrackableBehaviour.Status.DETECTED || //saat objek marker di temukan
newStatus == TrackableBehaviour.Status.TRACKED)
{ OnTrackingFound();} else { OnTrackingLost(); }// saat objek marker tidak di temukan
private void OnTrackingFound() { // merender objek yang akan ditampilkan Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true); foreach (Renderer component in rendererComponents) {
component.enabled = true;}
private void OnTrackingFound() { // merender objek yang akan ditampilkan Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true); Foreach(Renderer component in rendererComponents) {
component.enabled = false;}