uVersion
Türkçe
İndir →

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

Doğrulama sunucu tarafından değil, Unreal editörü tarafından yapılır Burada yapılandırılan kurallar, editörden gönderdiğiniz anda Unreal Engine için uVersion eklentisi tarafından indirilir ve çalıştırılır. Sunucunun kendisi ise bir commit kaydederken kuralları asla dikkate almaz. Bunlara güvenmeden önce bilinmesi gereken sonuç : masaüstü istemcisinden, komut satırından (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.

Otomatik tohumlama, ama hepsi devre dışı 9 varsayılan kural, bir deponun oluşturulması sırasında otomatik olarak oluşturulur (ve oluşturulmamışsa, hiç kuralı olmayan bir deponun Rules sekmesi ilk kez açıldığında). Bunlar devre dışı olarak tohumlanır : yeni bir depoda, bir yönetici istediği kuralları etkinleştirene kadar hiçbir doğrulama çalışmaz. Tam bir kümeden başlar, etkinleştirir ve ayarlarsınız.

Ö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üzeyiUnreal editöründen check-in üzerindeki etkisi
errorCheck-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.
warningGö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.
infoTamamen bilgilendirme amaçlı : tek başına pencereyi açmaz ve hiçbir şeyi kesmez.
Unreal editöründeki Pre-Checkin Validation penceresi, bulguların listesi ve Proceed düğmesiyle.

9 yerleşik kural

KuralVarsayılanNeyi denetler
blueprint_compilationerrorBlueprint'ler check-in'den önce hatasız derlenir.
naming_conventionwarningAdlandırma önekleri (Allar UE5 stili) : T_ dokular, M_ materyaller, BP_ blueprint'ler, SM_ statik mesh'ler, WBP_ widget'lar vb.
max_texture_sizewarningDoku maksimum boyutu : varsayılan 4096 × 4096, 2'nin kuvveti zorunlu.
material_complexitywarningMateryal karmaşıklığı : varsayılan olarak en fazla 256 komut, 16 doku örneği.
import_settingswarningUyumlu içe aktarma ayarları (dokular, mesh'ler).
missing_dependencyerrorEksik bağımlılık yok (varsayılan olarak motor içeriğini yoksayar).
circular_dependencyerrorDöngüsel bağımlılık yok (varsayılan arama derinliği 20).
unreferenced_assetinfoReferans verilmeyen asset'leri işaretler (varsayılan olarak haritaları ve widget'ları hariç tutar).
duplicate_assetwarningYinelenen 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.

9 doğrulama kuralının listesi : her satırda ok, etkinleştirme anahtarı, kural adı, önem düzeyi ve sağdaki Error / Warning / Info açılır menüsü.

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.

Configuration (JSON) düzenleyicisinde genişletilmiş bir kural : giriş alanındaki parametre metni ve sağ alttaki Save Config düğmesi.

Ö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.json dosyası indirir.
  • Import : bir rules.json dosyası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

Commit edilmiş bir rules.json herkes tarafından uygulanmaz Commit edilmiş bir .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 :

  1. 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).
  2. Kural etkin mi? Yeni bir depoda başlangıçta hepsi devre dışıdır.
  3. Önem düzeyi doğru mu? Check-in'i yalnızca error engeller ; info hiçbir şeyi kesmez.