Wiki
Doğrulama kuralları
Unreal editöründen check-in sırasında çalıştırılan asset doğrulama denetimleri : 9 yerleşik kural, error / warning / info önem düzeyleri, JSON yapılandırması, dışa aktarma / içe aktarma / sıfırlama, ve bilinmesi gereken sınır.
Giriş
Doğrulama kuralları, Unreal editöründen check-in anında çalıştırılan Unreal asset denetimleridir : adlandırma, doku boyutu, eksik bağımlılıklar vb. İçerik depoya (sunucuda sürümlenen proje) girmeden önce stüdyonun kurallarını otomatik olarak uygulatmaya yararlar. Depo bazında yapılandırılırlar.
Kuralların gerçekte nerede geçerli olduğu
uversion checkin) veya Rider eklentisinden yapılan
bir gönderim, doğrulama politikasını hatasız ve iz bırakmadan tamamen atlar.
Bu sizin tarafınızdaki bir yapılandırma hatası değildir : mevcut çalışma şekli budur. Kurallar Unreal asset'lerini
(.uasset, .umap) hedef alır ve incelenmeleri proje yüklüyken editörün açık olmasını
gerektirir. Bu nedenle bunları editörde çalışan sanatçılar için bir güvenlik önlemi olarak görün,
kimsenin aşamayacağı bir engel olarak değil.
İki pratik sonuç :
- Bir kuralın yalnızca teşvik edilmesi değil garanti edilmesi gerekiyorsa, ek bir denetim öngörün (inceleme, build tarafında doğrulama) : kurallar tek başına bunu sağlamaz.
- Bir kural birinde 'hiç tetiklenmiyorsa', önce nereden gönderdiğini kontrol edin. Masaüstü istemcisinden gönderen bir sanatçı, yapılandırma ne olursa olsun hiçbir doğrulama görmez.
Erişim ve roller
Kurallar sekmesi, süper yöneticiye ve yönettiği depolarda project_admin rolüne açıktır.
Önem düzeyleri
Önem düzeyi, etkin bir kural başarısız olduğunda Unreal editöründe ne olacağına karar verir.
| Önem düzeyi | Unreal editöründen check-in üzerindeki etkisi |
|---|---|
error | Check-in'i engeller : doğrulama penceresi açılır, Proceed düğmesi grileşir ve yalnızca OK tıklanabilir kalır. Asset'i düzeltmek gerekir. |
warning | Göndermeyi engellemez, ama sessizce geçmez : doğrulama penceresi yine de açılır, uyarıları listeler ve kullanıcının devam etmek için Proceed düğmesine tıklaması gerekir. |
info | Tamamen bilgilendirme amaçlı : tek başına pencereyi açmaz ve hiçbir şeyi kesmez. |
9 yerleşik kural
| Kural | Varsayılan | Neyi denetler |
|---|---|---|
blueprint_compilation | error | Blueprint'ler check-in'den önce hatasız derlenir. |
naming_convention | warning | Adlandırma önekleri (Allar UE5 stili) : T_ dokular, M_ materyaller, BP_ blueprint'ler, SM_ statik mesh'ler, WBP_ widget'lar vb. |
max_texture_size | warning | Doku maksimum boyutu : varsayılan 4096 × 4096, 2'nin kuvveti zorunlu. |
material_complexity | warning | Materyal karmaşıklığı : varsayılan olarak en fazla 256 komut, 16 doku örneği. |
import_settings | warning | Uyumlu içe aktarma ayarları (dokular, mesh'ler). |
missing_dependency | error | Eksik bağımlılık yok (varsayılan olarak motor içeriğini yoksayar). |
circular_dependency | error | Döngüsel bağımlılık yok (varsayılan arama derinliği 20). |
unreferenced_asset | info | Referans verilmeyen asset'leri işaretler (varsayılan olarak haritaları ve widget'ları hariç tutar). |
duplicate_asset | warning | Yinelenen asset'leri algılar (varsayılan olarak .umap dosyalarını yoksayar). |
Etkinleştirme ve yapılandırma
1. Rules sekmesini açma
Yönetim panelinde, önce PROJECT satırının seçicisinden depoyu seçin, ardından aynı satırın Rules sekmesini açın : kurallar bir seferde tek bir depoyu hedef alır. 9 kural, her satırda bir tane olmak üzere, genişletme oku, bir anahtar, kural adı, önem düzeyi ve açıklamasıyla birlikte görüntülenir.
2. Kuralı etkinleştirme
Adın solundaki anahtara tıklayın. Kaydetme anında gerçekleşir : bu işlem için bir kaydet düğmesi yoktur. Bu, unutulan adımdır : yeni bir depoda tüm anahtarlar kapalıdır ve kapalı bir kural, önem düzeyi ne olursa olsun kimseye hiçbir şey söylemez.
3. Önem düzeyini seçme
Satırın sağındaki açılır menü Error, Warning ve Info sunar, burada
da anında kaydedilir. Check-in'i gerçekten yalnızca error engeller : bkz. Önem
düzeyleri.
4. Parametreleri ayarlama (JSON)
Kuralı genişletmek için satır başındaki oka tıklayın. Configuration (JSON) alanı
onun parametrelerini içerir ; bunları düzenleyin, ardından Save Config düğmesine tıklayın. Geçersiz
bir JSON, kaydetmeyi engeller ve hata ayrıntısını alanın altında (Invalid JSON: ...) gösterir; kural o
zaman önceki durumunda kalır.
Örnek : bir mobil proje için max_texture_size değerini 2048'e düşürün veya katı biçimde uygulatmak için
naming_convention değerini error yapın.
Dışa aktarma, içe aktarma, sıfırlama
Rules sekmesinin sağ üstündeki araç çubuğunda üç düğme yer alır :
- Export : tüm kuralların durumunu (etkinleştirme, önem düzeyi, yapılandırma) içeren bir
rules.jsondosyası indirir. - Import : bir
rules.jsondosyasını yeniden yükler ve her girişi ilgili kurallara uygular (bilinmeyen anahtarlar yoksayılır). - Reset to Defaults : tüm kuralları varsayılan değerlerine döndürür. Özel yapılandırmalar kaybolur (onay istenir).
Dışa / içe aktarma, bir doğrulama politikasını bir depodan diğerine kopyalamaya veya çevrimdışı olarak sürümlemeye yarar.
Depodaki rules.json
.uversion/rules.json dosyası, depo politikasına yalnızca commit'in yazarı
manage_rules adlı yetkiye (bir 'yetenek', yani bir role bağlı ve sunucunun tamamında geçerli bir yetki)
sahipse uygulanır. Aksi takdirde dosya saklanır ama kurallar değişmez. Bu bir korumadır : bu yolda yazma yetkisi olan
bir katkıcı, bir dosya commit ederek doğrulamayı devre dışı bırakamaz.
Sık karşılaşılan tuzaklar
Unreal editöründe bir check-in engellendi
error düzeyindeki bir kural başarısız oldu : doğrulama penceresi bulguları listeler ve
Proceed düğmesi grileşmiş halde kalır. Asset'i düzeltin veya (kural sizin bağlamınız için fazla
katıysa) önem düzeyini warning seviyesine düşürün ya da devre dışı bırakın.
Sıfırlama ayarlarımı siliyor
Reset to Defaults, özel yapılandırmalarınız için yıkıcıdır. Geri dönebilmek istiyorsanız önce bir Export yapın.
Bir kural hiçbir şey yapmıyor gibi görünüyor
Şu sırayla üç kontrol :
- Kişi nereden gönderiyor? Masaüstü istemcisinden, komut satırından veya Rider eklentisinden hiçbir kural değerlendirilmez (bkz. Kuralların gerçekte nerede geçerli olduğu).
- Kural etkin mi? Yeni bir depoda başlangıçta hepsi devre dışıdır.
- Önem düzeyi doğru mu? Check-in'i yalnızca
errorengeller ;infohiçbir şeyi kesmez.