Rich Text Unity 3D

Dilansir dari dokumentasi Unity, Teks untuk elemen UI dan mesh teks dapat menggabungkan beberapa gaya dan ukuran font. Teks kaya didukung baik untuk Sistem UI dan sistem GUI lama. Kelas Teks, GUIStyle, GUIText dan TextMesh memiliki pengaturan Teks Kaya yang menginstruksikan Unity untuk mencari tag markup di dalam teks. Fungsi Debug.Log juga dapat menggunakan tag markup ini untuk menyempurnakan laporan kesalahan dari kode. Tag tidak ditampilkan tetapi menunjukkan perubahan gaya yang akan diterapkan pada teks.


Format markup Unity 3D

Sistem markup terinspirasi oleh HTML tetapi tidak dimaksudkan untuk sepenuhnya kompatibel dengan HTML standar. Ide dasarnya adalah bahwa bagian teks dapat diapit di dalam sepasang tag yang cocok:-

Ada <b>Pengumuman</b> Penting.

Seperti yang diperlihatkan contoh, tag hanyalah potongan teks di dalam karakter "kurung siku", <dan>.

Anda menempatkan tag pembuka di awal bagian. Teks di dalam tag menunjukkan namanya (yang dalam hal ini hanya b ).

Anda menempatkan tag lain di akhir bagian. Ini adalah tag penutup . Ini memiliki nama yang sama dengan tag pembuka, tetapi namanya diawali dengan /karakter garis miring . Setiap tag pembuka harus memiliki tag penutup yang sesuai. Jika Anda tidak menutup tag pembuka, tag tersebut akan ditampilkan sebagai teks biasa.

Tag tidak ditampilkan kepada pengguna secara langsung tetapi ditafsirkan sebagai instruksi untuk menata gaya teks yang disertakan. b tag yang digunakan dalam contoh di atas berlaku tebal untuk kata "not", sehingga menghasilkan teks sebagai:

Ada Pengumuman Penting

Bagian teks yang diberi markup (termasuk tag yang melingkupinya) disebut sebagai elemen .


Elemen bersarang / Nested elements Unity 3D

Dimungkinkan untuk menerapkan lebih dari satu gaya ke bagian teks dengan "menyarangkan" satu elemen di dalam elemen lainnya

Ada <b><i>Pengumuman</i></b> Penting.

<i>tag digunakan untuk teks miring, sehingga menghasilkan teks sebagai:

Ada Pengumuman Penting

Perhatikan urutan tag penutup, yang kebalikan dari tag pembuka. Alasan untuk ini mungkin lebih jelas ketika Anda mempertimbangkan bahwa tag bagian dalam tidak perlu menjangkau seluruh teks dari elemen terluar

Ada <b>Pengumuman <i>Yang Sangat</i></b> Penting.

Sehingga menghasilkan teks sebagai:

Ada Pengumuman Yang Sangat Penting

Tag parameters Unity 3D

Beberapa tag memiliki efek semua-atau-tidak sama sekali sederhana pada teks tetapi yang lain mungkin memungkinkan variasi. Misalnya, label warna perlu mengetahui warna mana yang akan diterapkan. Informasi seperti ini ditambahkan ke tag dengan menggunakan parameter :

Mobil truk warna <color=green>hijau</color> keren.

Akan menghasilkan ini:

Mobil truk warna hijau keren

Perhatikan bahwa tag penutup tidak menyertakan nilai parameter. Secara opsional, nilai dapat diapit oleh tanda kutip tetapi ini tidak diperlukan.

Parameter tag tidak boleh menyertakan spasi kosong. Sebagai contoh:

Mobil truk warna <color = green>hijau</color> keren.

tidak berfungsi karena spasi di kedua sisi =karakter.


Baca juga:
tutorial lengkap cara menggunakan unity disini

Tag Yang Didukung Unity 3D

Daftar berikut menjelaskan semua tag gaya yang didukung oleh Unity.

TagKeteranganContohCatatan
bMembuat teks dalam huruf tebal.Ada <b>Pengumuman</b> Penting.-
iMerender teks dalam huruf miring.Ada <i>Pengumuman</i> Penting.
sizeMenyetel ukuran teks sesuai dengan nilai parameter, yang diberikan dalam piksel.Mobil truk itu <size=50>besar</size> dan keren.Meskipun tag ini tersedia untuk Debug.Log, Anda akan menemukan bahwa spasi baris di bilah jendela dan Konsol terlihat aneh jika ukurannya diatur terlalu besar.
colorMengatur warna teks sesuai dengan nilai parameter. Warna dapat ditentukan dalam format HTML tradisional. #rrggbbaa...di mana huruf sesuai dengan pasangan digit heksadesimal yang menunjukkan nilai merah, hijau, biru dan alfa (transparansi) untuk warna. Misalnya, cyan pada opacity penuh akan ditentukan oleh color=#00ffffff...

Anda dapat menentukan nilai heksadesimal dalam huruf besar atau kecil; #FF0000adalah setara dengan #ff0000.
Mobil truk warna <color=green>hijau</color> keren.Pilihan lainnya adalah menggunakan nama warna. Ini lebih mudah dipahami tetapi tentu saja, rentang warna terbatas dan opacity penuh selalu diasumsikan.
<color=cyan> contoh text </color>
materialIni hanya berguna untuk mesh teks dan merender bagian teks dengan materi yang ditentukan oleh parameter. Nilainya adalah indeks ke dalam susunan bahan mesh teks seperti yang ditunjukkan oleh inspektur.ini adalah <material=2>contoh text</material> dari material
quadIni hanya berguna untuk mesh teks dan membuat gambar sejajar dengan teks. Dibutuhkan parameter yang menentukan bahan yang akan digunakan untuk gambar, tinggi gambar dalam piksel, dan empat lainnya yang menunjukkan area persegi panjang dari gambar yang akan ditampilkan. Tidak seperti tag lainnya, quad tidak mengelilingi sepotong teks sehingga tidak ada tag penutup - karakter garis miring ditempatkan di akhir tag awal untuk menunjukkan bahwa itu "menutup sendiri".<quad material=1 size=20 x=0.1 y=0.1 width=0.5 height=0.5>Ini memilih material pada posisi dalam susunan material perender dan menyetel ketinggian gambar menjadi 20 piksel. Area persegi panjang gambar dimulai dari nilai x, y, lebar dan tinggi, yang semuanya diberikan sebagai pecahan dari lebar dan tinggi tekstur yang tidak diskalakan.

Warna yang didukung Unity 3D

Tabel berikut mencantumkan warna yang dapat Anda gunakan namanya sebagai ganti tag heksadesimal dalam <color> tag teks kaya.

Nama WarnaNilai Heksagonal
aqua (sama seperti cyan)#00ffffff
hitam#000000ff
biru#0000ffff
cokelat#a52a2aff
cyan (sama seperti aqua)#00ffffff
biru tua#0000a0ff
fuchsia (sama seperti magenta)#ff00ffff
hijau#008000ff
abu-abu#808080ff
biru muda#add8e6ff
lime#00ff00ff
magenta (sama seperti fuchsia)#ff00ffff
maroon#800000ff
navy#000080ff
olive#808000ff
orange#ffa500ff
ungu#800080ff
merah#ff0000ff
silver#c0c0c0ff
teal#008080ff
putih#ffffffff
kuning#ffff00ff

Editor GUI Unity 3D

Teks kaya dinonaktifkan secara default di sistem GUI editor tetapi dapat diaktifkan secara eksplisit menggunakan GUIStyle khusus.
richTextproperti harus diatur ke benar dan gaya diteruskan ke fungsi GUI dalam pertanyaan:

1GUIStyle style = new GUIStyle ();    
2style.richText = true;    
3GUILayout.Label("<size=30>Some <color=yellow>RICH</color> text</size>",style);

Dictionary Plus+ ©2022