Pemunculan Acak
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 68 dari 85.
Random.Range(min, max) memilih angka acak, dan nilai yang dapat dikembalikannya bergantung pada tipe angka yang kamu berikan. Untuk float, nilai apa pun dari min hingga max dapat muncul, termasuk kedua batasnya. Untuk int, max tidak disertakan. Jadi, lemparan dadu meminta angka dari 1 hingga 7:
int roll = Random.Range(1, 7); // 1, 2, 3, 4, 5 atau 6
Debug.Log("You rolled " + roll);Versi int tidak menyertakan max agar Random.Range(0, names.Length) selalu menjadi indeks array yang valid. Ini juga berarti Random.Range(-5, 5) hanya memberikan bilangan bulat dari -5 hingga 4, bahkan saat kamu menyimpan hasilnya dalam float. Tulis Random.Range(-5f, 5f) untuk mendapatkan nilai apa pun di antaranya.
Untuk titik dan arah dalam 3D, Unity menyediakan dua vektor acak siap pakai. Random.insideUnitSphere adalah titik acak di dalam bola berjari-jari 1 yang berpusat di (0, 0, 0). Random.onUnitSphere adalah titik acak pada permukaan bola tersebut, sehingga menghasilkan arah acak dengan panjang 1. transform.position + Random.insideUnitSphere * 2f adalah titik yang berjarak hingga 2 unit ke segala arah, termasuk ke atas dan ke bawah.
Tantangan
SedangSetiap klik menjatuhkan peti dari titik acak di atas lantai.
- Di dalam
ifuntuk klik, pilihfloat x = Random.Range(-4f, 4f);danfloat zdengan cara yang sama. - Panggil
Instantiate(cratePrefab, new Vector3(x, 5, z), Quaternion.identity);.
Tekan tombol “Main” dan klik beberapa kali: peti jatuh di tempat yang berbeda. Lalu tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class CrateDropper : MonoBehaviour
{
public GameObject cratePrefab;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
// Jatuhkan peti dari posisi acak: x dan z dari -4 hingga 4, y = 5
}
}
}
Semua pelajaran di Dasar-Dasar Scripting Unity
1Dasar-Dasar C# di Unity
Halo, UnityVariabelDesimal Memerlukan fTeks di ConsoleVariabel yang Menyimpan NilaiIf dan ElseBandingkan AngkaUlasan: Pengumpul Koin7Perulangan dan method
Ulangi dengan forPerulangan di dalam perulanganTulis methodMethod yang Mengembalikan NilaiarrayUlasan: Tangga10Menemukan Benda
Cari Berdasarkan NamaTagCari Berdasarkan TipeReferensi Lebih Baik daripada FindNull di UnityRangkuman: Koin Terdekat13Proyek: Hindari Balok
Karakter PelariBalok dari Langit2Buat Bergerak
Tempatkan KubusBergerak Setiap FrameBerputar Setiap DetikKemudikan dengan TombolRangkuman: Kemudikan Kubus5Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak AntarobjekVector3 adalah StructRangkuman: Pilot Drone8GameObjects dan Komponen
Referensi di InspectorAmbil KomponenKomponen yang HilangTambahkan KomponenRequireComponentTampilkan dan SembunyikanRingkasan: Sakelar Lampu11Prefab dan Pemunculan
Prefab dan InstantiateMunculkan dengan TimerMunculkan dalam GridDaftar ObjekAmbil Kembali Objek TerbaruHancurkanPemunculan AcakUlasan: Kembang Api6Transformasi dan Hierarki
Objek Induk dan AnakKibarkan BenderaSkalaMelihat BendaBergerak Menuju TitikRekap: Bulan yang MengorbitLatihan sendiri: Playground Unity