Unity’ye SVG aktarma: UI Toolkit ve sprite hazırlığı
Unity sürümüne ve hedef bileşene göre SVG aktarma yolunu seçin. Yolları hazırlayın, desteklenmeyen efektleri ele alın ve UI Toolkit görsellerini veya sprite’ları kullanılacakları ortamda kontrol edin.
Bu sayfada
- Grafiği düzenlemeden önce içe aktarma yolunu seçin
- İçe aktarıcının yeniden üretebileceği bir SVG hazırlayın
- Grafiğin yollar içerdiğini doğrulayın
- Desteklenmeyen özellikleri bilinçli olarak değiştirin
- Gereksiz karmaşıklığı kaldırın
- Unity 6.3 veya sonrasında UI Toolkit’e içe aktarın
- Sprite Renderer veya uGUI için içe aktarın
- İlk görünür farkın nedenini bulun
- PerfectVector ile bu süreç nasıl işler?
- Sık sorulan sorular
- Kaynaklar
Unity’ye SVG aktarma iki kararla başlar: hangi editör sürümünü kullandığınız ve grafiğin nerede görüneceği. Unity 6.3, UI Toolkit ve Texture2D için SVG içe aktarma özelliği içerir. SVG’yi doğrudan Sprite veya uGUI varlığı olarak içe aktarmak için Vector Graphics paketi kullanılır; daha eski editörlerde paketin eski sürüm serisi kullanılır. Unity bu ayrımı Vector Graphics sürüm kılavuzunda belgeler.
Zaten düzenlenebilir bir SVG’niz varsa dosyayı içe aktarıcı için hazırlayın. Tek kaynağınız PNG veya JPG ise yalnızca vektör şekillere ihtiyaç duyduğunuzda vektörleştirin. Doku veya piksel sanatı sprite’ı raster görüntü olarak kalabilir.
Bütün bir seti işlemeden önce seti temsil eden bir simgeyi test ederek kaynak grafik sorunlarını Unity içe aktarma ve görüntüleme sorunlarından ayırın.
Başka bir motordaki sahne geometrisi için Unreal Engine SVG içe aktarma kontrollerini kullanarak Motion Design kaynak şekillerini, açıklıklarını ve ayrı parçalarını inceleyin.
Grafiği düzenlemeden önce içe aktarma yolunu seçin
Yolu seçmek için hedef bileşeni esas alın. UI Toolkit düzeninde çalışan bir varlık, otomatik olarak Sprite Renderer alanına uygun olmaz.
| Unity editörü | Hedef | Başlangıç yolu |
|---|---|---|
| 6.3 veya sonrası | UI Toolkit | UI Toolkit vektör görseli olarak yerleşik SVG içe aktarma |
| 6.3 veya sonrası | Texture2D kullanan bir bileşen | Doku olarak yerleşik SVG içe aktarma |
| 6.3 veya sonrası | Sprite Renderer veya uGUI SVGImage | Vector Graphics 3.0 ön izleme paketi |
| 6.3 öncesi | Paket tabanlı SVG iş akışı | Uyumlu Vector Graphics 2.0 ön izleme paketi |
Tablo, Unity’nin paket gereksinimlerini esas alır. Projenizin kullandığı editör ve paket sürümlerini sabitleyin. Unity 2018 veya 2.0 ön izleme içe aktarıcısı için talimatlar, güncel bir 6.3 projesinden farklı seçenekleri anlatabilir.

Grafiğinizin yanında küçük bir içe aktarma testi bulundurun
Bir eğri, bir iç delik ve setin gerektirdiği dolgu veya kontur efektlerini içeren bir simge seçin. Orijinal SVG’yi, yalnızca düz dolgulu şekillerden oluşan basit bir sürümle birlikte saklayın. Basit sürüm doğru içe aktarılıyorsa tüm projeyi değiştirmeden önce karmaşık grafiği araştırın.
İçe aktarıcının yeniden üretebileceği bir SVG hazırlayın
Kaynağı bir vektör düzenleyicide açın ve gerçek nesneleri inceleyin. Orijinal ana dosyayı koruyun, ardından Unity’ye teslim için ayrı bir dışa aktarım oluşturun.
Grafiğin yollar içerdiğini doğrulayın
SVG, bir <image> öğesi aracılığıyla bitmap barındırabilir; yalnızca uzantısı grafiğin vektör geometrisi olduğunu kanıtlamaz. W3C gömülü içerik belirtimi bu ayrımı belgeler. Bir düzenleyicide grafiğin bir parçasını seçin ve nesnelerini veya işaretleme kodunu inceleyin. İçerik tek bir görsel dikdörtgeninden oluşuyorsa gömülü raster görüntü teşhisini kullanın.
Orijinal vektör dosyası varsa yeniden dışa aktarın. Bu ana dosyadan dışa aktarılmış bir PNG’yi vektörleştirmek, yeniden oluşturma işi ekler ve silüeti değiştirebilir. Bir simge ailesi için önce tuval, kenar boşlukları ve görsel ağırlık üzerinde anlaşın; arayüz kiti için SVG hazırlama kılavuzu set genelindeki bu kararları ele alır.
Desteklenmeyen özellikleri bilinçli olarak değiştirin
Unity’nin yerleşik içe aktarıcısı SVG 1.1’in bir bölümünü destekler. Belgelenmiş desteklenmeyen özellikler arasında düzenlenebilir metin, piksel maskeleri, filtreler, etkileşim ve animasyon bulunur. Bu nedenle tarayıcı ön izlemesi doğru görünürken Unity sonucu farklı olabilir. Unity’nin SVG sınırlamalarına bakın.
Teslim kopyasını grafiğin ihtiyaçlarına göre hazırlayın:
- Dekoratif yazıları vektör yollarına dönüştürün. Düzenleme veya yerelleştirme gerektiren arayüz etiketlerini arayüzde metin olarak tutun.
- Gerekli gölgeyi veya parlamayı hedefin desteklediği bir efektle yeniden oluşturun ya da grafiği raster görüntü olarak koruyun.
- Maskeleri kırpma yollarından ayrı inceleyin. Yumuşak bir piksel maskesi ile geometrik kırpma farklı yapılardır.
- SVG içine gömülü animasyona güvenmek yerine animasyonu Unity’de planlayın.
Bir filtre desteklenmiyor diye her renk geçişini düz renge çevirmeyin. Tasarımın gerçekten kullandığı efekti test edin. Karmaşık bir rozet başarısız olursa düz dolgulu bir sürüm dışa aktarın ve efektlerini tek tek geri ekleyin. Böylece görünümü değiştiren özelliği ayırabilirsiniz.
Gereksiz karmaşıklığı kaldırın
Simgenin parçası olmayan başıboş noktaları, gizli kopyaları ve arka plan dikdörtgenlerini silin. Belirgin biçimde pürüzlü bir eğriyi yalnızca kaynakla karşılaştırarak basitleştirin. Dosya kısalsa bile temizleme sırasında kapanan küçük bir delik, başarısız bir düzenlemedir.
Tüm oyun grafikleri için yararlı, evrensel bir hedef düğüm sayısı yoktur. Geometrik bir ok ile elle çizilmiş bir karakter farklı miktarda ayrıntı gerektirir. SVG düğüm temizleme kılavuzu, hangi noktaların şekil bilgisi taşıdığına karar vermenize yardımcı olur.
Unity 6.3 veya sonrasında UI Toolkit’e içe aktarın
Silüetini ve efektlerini önceden değerlendirdiğiniz bir teslim SVG’siyle başlayın.
- SVG’yi projenin Assets klasörüne ekleyin ve seçin.
- Inspector’da Generated Asset Type değerini UI Toolkit Vector Image olarak ayarlayın.
- İçe aktarma ayarlarını uygulayın ve ortaya çıkan vektör görselini amaçlanan UI Toolkit öğesinde kullanın.
- Gerçek düzeni, amaçlanan en küçük ve en büyük görüntüleme boyutlarında ön izleyin.
Unity, yerleşik varlık seçimini Work with vector graphics belgesinde açıklar. Kullanan bileşen Texture2D gerektiriyorsa onun yerine bu çıktıyı seçin ve oluşan dokuyu amaçlanan boyutunda inceleyin.
UI Toolkit için önerilen temel üçgenleme ayarlarıyla başlayın. Target Resolution ve Zoom Factor, içe aktarıcının amaçlanan görüntüleme koşulları için eğrilerin bölünmesini yapılandırmasını sağlar. Unity, tatmin edici sonuç veren en düşük hedef çözünürlüğün kullanılmasını önerir. Görsel içe aktarma ayarları bu kontrolleri açıklar.
İki değerlendirmeyi ayrı tutun: SVG’nin doğru şekli tanımlayıp tanımlamadığı ve içe aktarılan varlığın bu şekli iyi gösterip göstermediği. Üçgenlemeyi artırmak, kaynak dışa aktarımında kaybolmuş bir deliği geri getiremez.
Sprite Renderer veya uGUI için içe aktarın
Hedef, paketin Sprite veya uGUI desteğine ihtiyaç duyuyorsa Package Manager aracılığıyla uyumlu com.unity.vectorgraphics paketini kurun. Bileşeniniz için karşılık gelen üretilmiş varlığı seçin ve bileşenin onu kabul ettiğini doğrulayın. Paketin güncel belgeleri, bu içe aktarma türlerini yerleşik UI Toolkit yolundan ayırır.
Sprite Renderer için nesneyi prefab’lara kopyalamadan önce sahne boyutunu ve pivot noktasını doğrulayın. uGUI için projenizin kullandığı SVGImage iş akışını doğrulayın. Grafik gerekli boyutlarda zaten doğru görünüyorsa normal raster sprite iş akışı bir alternatif olmaya devam eder.
Eski 2.0 paketi, sahne birimi başına SVG birimlerini, sprite pivot noktalarını ve üçgenleme kontrollerini belgeler. Ayrıca paketin deneysel olduğunu belirtir ve üretimde kullanılmasını önermez. Bu yolu sürdüren ekipler, paketi eklemeden önce 2.0 paket kılavuzunu projelerinin kısıtlarıyla birlikte değerlendirmelidir.
Mevcut bir projeyi yükseltiyorsanız içe aktarma testini bir kopyada veya sürüm kontrolü altındaki bir dalda yapın. Gerçek prefab’larda ve sahnelerde üretilen varlık türlerini ve referansları karşılaştırın. Başarılı bir küçük resim ön izlemesini tek sürüm geçişi testi olarak kullanmayın; eski bir forum gönderisindeki toplu .meta düzenlemesini de ilgili sorunu yeniden üretmeden uygulamayın.
İlk görünür farkın nedenini bulun
Seti temsil eden her varlık için kısa bir test kaydı tutun: kaynak dosyası, editör ve paket sürümleri, hedef bileşen, beklenen görüntüleme boyutu ve ilk görünür uyumsuzluk.
| Gördüğünüz durum | İlk incelenecek nokta | Yararlı sonraki test |
|---|---|---|
| Varlık bileşenin alanına uymuyor | Üretilen varlık türü ve hedef | Gerçekte kullandığınız bileşen için içe aktarın |
| Yazı, gölge veya hareket eksik | Desteklenmeyen kaynak özelliği | Yazısı vektör yollarına dönüştürülmüş veya dolgulu şekillerden oluşan bir dışa aktarım deneyin |
| Simgede fazladan kenar boşluğu var veya bir kenarda kırpılıyor | Kaynak tuvali ve öğenin boyutlandırılması | Kaynak sınırlarını hedef dikdörtgenle karşılaştırın |
| Eğri büyük boyutta köşeli görünüyor | Üçgenleme ve görüntüleme ölçeği | Amaçlanan çözünürlük veya yakınlaştırma ayarını kademeli olarak artırın |
| Doku büyütülünce bulanık görünüyor | Raster görüntü boyutları ve görüntüleme boyutu | Onu üretilirken hedeflenen boyutta karşılaştırın |
| Sonuç doğru görünüyor, ancak mevcut sahneler bozuluyor | Referanslar, malzemeler ve içe aktarma değişiklikleri | Toplu yeniden içe aktarmadan önce etkilenen bir prefab’ı test edin |
Örneğin bir yıldız rozetinin içe aktarıldığını, ancak ortasındaki deliğin kaybolduğunu düşünün. Önce teslim SVG’sini açın ve deliğin orada bulunduğunu doğrulayın. Varsa Unity’de basitleştirilmiş bir rozet dışa aktarımını karşılaştırın. Delik bu sürümde korunuyorsa orijinal rozetin üst üste binen şekillerini, dolgu yapısını veya maskesini inceleyin. Kaynağı yeniden vektörleştirmek yalnızca yol geometrisinin kendisi yanlışsa yararlıdır.
Kabul edilen varlığı editörün yanı sıra hedef platform derlemesinde de test edin. En küçük boyutta anlaşılır kalıp kalmadığını, renklerin ve saydamlığın eşleşip eşleşmediğini ve yeni bir içe aktarmadan sonra sahne veya prefab referanslarının korunup korunmadığını kaydedin. Performans kararları kendi sahnenizin performans profilini ölçmeyi gerektirir; SVG uzantısı bir performans ölçümü değildir.
PerfectVector ile bu süreç nasıl işler?
Uygun tek kaynağınız raster görüntüyse ve düzenlenebilir şekillere ihtiyaç duyuyorsanız PerfectVector, Unity içe aktarımından önce kullanıma uygundur. Düz renkli bir PNG veya JPG’yi PerfectVector’ın görseli vektöre dönüştürme aracına yükleyin, vektörleştirilmiş silüeti ve delikleri orijinalle karşılaştırın; ardından Unity’ye aktarmadan önce indirdiğiniz SVG’yi bir vektör düzenleyicide inceleyin.
Teslim sürecinin tamamında seti temsil eden aynı simgeyi kullanın. Vektörleştirme sonucunu yalnızca amaçlanan bölgeleri düzenleyebildiğinizde, negatif boşluklar açık kaldığında ve temizleme şekli bozmadığında kabul edin. Ardından yukarıdaki Unity hedef testini uygulayın.
Amaçlanan görünümü koruyorsa fotoğrafı, dokuyu, yumuşak parlamayı veya bilinçli piksel sanatı sprite’ını raster görüntü olarak tutun. Basit bir geometrik simge için elle çizimi kontrol etmek, vektörleştirmeden daha kolay olabilir. PerfectVector, SVG kaynak geometrisini hazırlar; Unity’nin desteklediği özellikleri değiştirmez veya çalışma zamanındaki görüntülemeyi doğrulamaz. Biçimler arasındaki ayrım size yabancıysa bir SVG dosyasının neler içerdiğinden başlayın.
Sık sorulan sorular
Unity 6, Vector Graphics paketine ihtiyaç duyar mı? Yanıt, alt sürüme ve hedefe bağlıdır. Unity 6.3, UI Toolkit ve Texture2D için yerleşik SVG içe aktarma sunar. Sprite ve uGUI içe aktarımları 3.0 ön izleme paketini kullanır. Daha eski Unity sürümleri uyumlu 2.0 ön izleme paketi yolunu kullanır.
Bir PNG’nin uzantısını SVG yapmak vektör sprite oluşturur mu? Hayır. Dosyayı yeniden adlandırmak piksellerini vektörleştirmez. Orijinal vektör kaynağını kullanın, şekilleri çizin veya uygun raster görüntüyü vektörleştirin ve Unity’ye aktarmadan önce oluşan yolları inceleyin.
Vektörleştirme, Unity’nin yanlış içe aktardığı bir SVG’yi düzeltebilir mi? Yalnızca kaynak geometrinin yeniden oluşturulması gerekiyorsa. SVG doğru yollar içeriyor, ancak üretilen varlığın türünün yanlış olması veya desteklenmeyen bir efekt soruna neden oluyorsa önce o içe ya da dışa aktarma kararını düzeltin.
Kaynaklar
- Unity — Vector Graphics 3.0 package guide — Editör sürümlerine göre ayrımı ve yerleşik içe aktarma ile Sprite/uGUI paket yollarını tanımlar.
- Unity — Work with vector graphics — Yerleşik varlık seçeneklerini ve desteklenmeyen SVG özelliklerini belgeler.
- Unity — Image import settings — UI Toolkit vektör görseli ayarlarını ve üçgenleme kontrollerini açıklar.
- Unity — Vector Graphics 2.0 package manual — Eski içe aktarıcıyı, sahne birimi ve pivot kontrollerini ve deneysel durumunu ele alır.
- W3C — SVG embedded content — SVG’nin raster görüntü içeriği barındırabileceğini ortaya koyar.
Unity varlığınız iki boyutlu bir PNG veya JPG görüntüsü olarak başlıyor ve düzenlenebilir yollara ihtiyaç duyuyorsa görselinizi PerfectVector ile dönüştürün. Silüeti, delikleri ve istenmeyen arka plan şekillerini inceleyin; ardından SVG’yi yayımlamayı planladığınız Unity bileşeninde ve görüntüleme boyutlarında test edin.
Bloga daha fazlası

SVGZ ve SVG: Düzenleme ve aktarım için dosya seçimi
Gerçek bir gzip sıkıştırma ve açma örneğiyle SVGZ ile SVG’yi karşılaştırın. Sıkıştırmanın koruduğu içeriği, web başlıklarının farkını ve düzenleyiciye veya alıcıya hangi dosyayı göndereceğinizi öğrenin.

Sharp ile SVG’den PNG’ye: boyut, yoğunluk ve netlik
Sharp ile SVG’leri hedef piksel boyutunda şeffaf PNG’lere dönüştürün. Tekrarlanabilir 1x ve 2x testini, girdi yoğunluğunun ne zaman önemli olduğunu ve PNG büyütmenin neden başarısız olduğunu inceleyin.