Dalam XNA, teknologi spritefont mengerikan. Nuclex melakukan pekerjaan jauh lebih baik, tetapi saya tidak ingin memiliki referensi eksternal, dan saya hampir selesai dengan permainan saya.
Saat menggunakan font seperti Sansation atau Quicksand, itu terlihat mengerikan dalam ukuran font yang lebih kecil. Sangat buruk!
Apakah ada solusi yang diketahui untuk ini? Saya mencoba mengatur ukuran font menjadi sangat tinggi, dan kemudian menurunkannya di spritebatch tanpa hasil.
Jawaban:
XNA memungkinkan Anda mengimpor tekstur sebagai spritefont . Anda mungkin bisa mendapatkan petunjuk yang lebih baik dan anti-aliasing di font Anda jika Anda meletakkan setiap karakter secara manual dalam program pengeditan gambar yang baik, daripada mengandalkan lembar sprite yang dihasilkan XNA.
sumber
Prosesor font sprite XNA menggunakan kompresi DXT3 yang tidak bekerja dengan baik dengan alfa prapultiplied baru di XNA 4.0. Oleh karena itu, tampilan teks terlihat pucat.
Prosesor font sprite Nuclex menghasilkan data yang persis sama, kecuali bahwa internal
Texture2D
yang menyimpan data bitmap font tidak dikompresi - sehingga tidak memiliki masalah kualitas.Karena data dari prosesor Nuclex berada dalam format yang sama,
SpriteFont
pembaca XNA dapat membacanya, dan Anda tidak perlu menyertakan pustaka Nuclex untuk didistribusikan dengan gim Anda.(Ini juga memungkinkan Anda untuk menggunakan format XML yang sama dengan definisi font sprite asli XNA.)
Yang sedang berkata: tidak ada yang salah dengan menggabungkan perpustakaan eksternal dengan game Anda. Ini tidak seperti mereka terinstal di sistem Anda atau apa pun. (Anda bahkan bisa pergi sejauh menggabungkan dua majelis).
Dan hal yang sama berlaku untuk kode (jika Anda khawatir tentang kontrol versi, misalnya). Anda bisa memasukkan
Nuclex.Fonts.Content.TrueTypeImporter.dll
kode sumber Anda. Ini sebenarnya bukan masalah besar.sumber
Anda dapat menggunakan font piksel :
Ketika Anda menggunakan font piksel pada ukuran font yang dirancang untuk (atau kelipatannya secara keseluruhan, misalnya 2x, 3x, 4x) Anda dijamin teks pixel-perfect yang tidak memerlukan anti-aliasing. Ini berarti Anda tidak pernah harus berurusan dengan anti-aliasing yang mengerikan yang membuat font sprite XNA begitu buruk dan Nuclex jauh lebih baik. ( Artikel ini membahas masalah itu dan membandingkannya)
sumber