Unity C# Tutorial Indonesia : Basic 23 - Mathf

Pada tutorial kali ini momon akan menjelaskan 3 fungsi Mathf, yaitu Infinity, Clamp dan Lerp.


MULAI

1. Mathf Infinity
Infinity dapat diartikan nilai yang tidak memiliki batas dan biasa ditulis Mathf.Infinity. Infinity sering digunakan pada perintah raycast dimana pada raycast dibuat sebuah laser dengan panjang tak terhingga.

A. Raycast
if(Physics.Raycast(ray, out hit, Mathf.Infinity)){};




2. Mathf Clamp
Digunakan untuk membatasi posisi/ jarak yang dapat ditempuh oleh objek, sebagai contoh momon akan membatasi jarak Vektor X yang dapat dijangkau oleh objek Cube.




1. Tambahkan objek Cube ke hirarki
2. Buat C# Script "MathClamp" dan tambahkan ke objek Cube
3. Buka script dan masukkan script di bawah :

B. MathClamp.cs
using UnityEngine;
using System.Collections;

public class MathClamp : MonoBehaviour {

                void Update(){
                                float h = Input.GetAxisRaw("Horizontal") * 10f * Time.deltaTime;
                                transform.Translate(h, 0.0f, 0.0f);
                               
                                float xMove = Mathf.Clamp(transform.position.x, -5f, 5f);
                                transform.position = new Vector3(xMove, 0f, 0f);
                }

}

Penjelasan : float xMove = Mathf.Clamp(transform.position.x, -5, 5);
Ini artinya variabel xMove akan menerima data/nilai bahwa xMove hanya memiliki jarak pada Vektor X antara -5 sampai 5.




Jalankan game dan coba tekan A untuk bergerak ke arah kiri dan D ke arah kanan, kemudian lihat jarak yang dapat ditempuh oleh Cube pada jendela Inspektor -Transform - Position.




3. Mathf Lerp
Untuk Lerp momon lumayan susah bagaimana menjelaskan secara sederhana dan mudah dipahami, jadi silahkan langsung dicoba implementasinya.

Mathf.Lerp memiliki konsep dan fungsi yang sama seperti Vector3.Lerp dan Quaternion.Lerp.

Buat C# Script baru dan beri nama "MathLerp" dan tambahkan ke objek Cube, ingat sebelumnya terdapat Script "MathClamp" pada objek Cube, disarankan hapus script tersebut. Buka script dan masukkan listing program berikut :

C. MathfLerp.cs
using UnityEngine;
using System.Collections;

public class MathLerp : MonoBehaviour {

                float xMinPos = 0.0f;
                float xMaxPos = 10.0f;

                void Update () {
                                transform.position = new Vector3(Mathf.Lerp(xMinPos, xMaxPos, Time.time), 0f, 0f);
                }

}

Penjelasan : Vector3(Mathf.Lerp(xMinPos, xMaxPos, Time.time), 0f, 0f);
Ini artinya Cube akan bergerak dari posisi awal "xMinPos" ke posisi target "xMaxPos".




Jalankan game dan Cube akan bergerak ke posisi yang sudah ditentukan.





SELESAI



Tag : Basic
Back To Top