· kaynak dev.to (home feed)
Blender 5.2 LTS ve 5.3 alpha, VRM add-on uzantılarını hariç tutucu sürüm sınırı nedeniyle reddediyor
Dört Blender 5.x sürümü üzerinde yapılan pratik testler, VRM add-on'ının uzantı manifestinin 4.4.0'ın altındaki sürümlerde 5.2 LTS'te ve 5.3 alpha'da tamamen etkinleştirmeyi engellediğini gösterirken, eski add-on zip'i hiçbir sürüm kapısı olmadan kuruluyor.

Hariç tutucu sınır, kapsayıcı değil
Blender 4.2'den bu yana add-on'lar, blender_version_min ve blender_version_max bildiren bir blender_manifest.toml taşıyan zip'ler halinde extension olarak dağıtılıyor. Uyuşmayan değerler dosyaların açılmasını engellemiyor; etkinleştirmeyi engelliyor. Add-on 4.3.0 yüklü Blender 5.2.2 LTS'te konsol, Blender sürümünün maksimum sürümden (5.2.0) küçük olması gerektiğini belirten bir hata kaydederken, Extensions paneli hiçbir şey göstermiyor — VRM girdisi listede basitçe yer almıyor.
Blender kılavuzundaki manifest örneği semantiği açıkça ortaya koyuyor: max alanı, uzantının desteklemediği bir sürümü adlandırır; önceki sürümler desteklenir. Dolayısıyla 5.2.0 bildiren VRM add-on 4.3.0, 4.2'den 5.1.x'e kadar kapsar ve yama numarasından bağımsız olarak 5.2.0'dan itibaren engellenir. Güncel 4.7.1 ise 5.3.0 bildiriyor; bu, 5.2 LTS'ye kadar ulaşır ama 5.3 alpha'da durur.
Otuz iki kombinasyon, iki kurulum yolu
Yazar, Apple Silicon macOS'ta headless testler yaparak add-on sürümleri 3.9.0, 4.3.0, 4.4.0 ve 4.7.1'i Blender 5.0.1, 5.1.2, 5.2.2 LTS ve bir 5.3.0 alpha'ya, her biri iki kez — bir kez extension zip'i, bir kez eski add-on zip'i olarak — hücre başına temiz bir kullanıcı kaynakları diziniyle kurdu; toplam 32 kombinasyon.
Extension yolunda kapı, manifestlerin ima ettiği gibi tam davrandı: 4.3.0, 5.0.1 ve 5.1.2'de etkinleşti ama 5.2.2'de ve alpha'da etkinleşmedi; 4.4.0 ve 4.7.1, 5.2 LTS'ye kadar etkinleşti ve yalnızca alpha'da başarısız oldu. Eski zip'te hiç sürüm kapısı yok. Her 4.x sürümü, 5.3 alpha dahil tüm dört Blender build'inde etkinleşti ve hem bir VRM 0.x örneği hem de bir VRM 1.0 örneğiyle içe aktarma-dışa aktarma-içe aktarma gidiş-dönüşünü geçti. Etkinleşen 20 hücrenin tümü geçti; o gidiş-dönüş, işlevsel kontrolün tamamıydı ve VRM 1.0 örneğinin dışa aktarılması, boyutunu özgününün yaklaşık yüzde 152'sine çıkardı; yazarın incelemediği bir değişiklik.
Tüm 71 sürüm etiketinden manifest'i çekmek, blender_version_min'in baştan sona 4.2.0'da sabit kaldığını gösteriyor; yalnızca max dört kez değişti:
| blender_version_max | Add-on sürümleri | Etkinleştiği sürümler |
|---|---|---|
| 5.0.0 | 3.9.0 – 3.15.0 | Blender 4.2 – 4.5 |
| 5.1.0 | 3.16.0 – 3.21.1 | Blender 4.2 – 5.0 |
| 5.2.0 | 3.22.0 – 4.3.3 | Blender 4.2 – 5.1 |
| 5.3.0 | 4.4.0 – 4.7.1 | Blender 4.2 – 5.2 LTS |
Pratik kural doğrudan bunu izliyor: 5.2 LTS, add-on 4.4.0 veya daha yenisini gerektirirken, 5.0 ve 5.1 en güncel 4.7.1'i sorunsuz çalıştırıyor.
Tek sert başarısızlık
3.9.0 sürümü her yolda başarısız oluyor. Blender 5.0, bpy.types.ShaderNodeTexDensity'i kaldırdı; bu sürüm onu modül yüklenirken içe aktardığı için, eski kurulum bile etkinleşmeden önce bir ImportError ile çöküyor. 5.x'te 3.9.0 hattını çalıştıran hiçbir yol yok.
Panel neden boş görünüyor
Extensions paneli bir hatayı gizlemiyor. extensions.blender.org API'sine, sunucu tarafında bir Blender sürüm filtresiyle sorgu yapıyor; 5.3.0 için bir istek hiçbir vrm girdisi döndürmüyor, dolayısıyla panel doğru bir boş sonuç görüntülüyor.
Çözümler ve uyarılar
5.2 LTS kullananlar için add-on'u 4.4.0 veya daha yeni bir sürüme taşımak temiz çözüm. VRM panelde yoksa, extension zip'i GitHub sürümlerinden alınabilir ve diskten kurulabilir; çünkü panel her zaman yalnızca tek en güncel sürümü sunuyor. Extension tamamen reddedildiğinde, eski zip kapıyı atlar ve şu anda 4.7.1'i 5.3 alpha üzerinde çalıştırmanın tek yoludur — ancak bu, bakımcının destek bildirdiği aralığın dışına düşer; dolayısıyla bir şey ters gittiğinde ilk denenecek şey aralığın içine geri dönmektir. Betikle yapılan kurulumlarda, eski zip'in en üst düzey klasör adının sürüm hatları arasında farklılaştığına dikkat edilmeli; modülü addon_utils.modules() üzerinden keşfetmek, onu sabit kodlamayı önler.
Neden önemli
Engelleyici yapılandırma, kod değil: extension kapısının reddettiği add-on sürümleri, kapı ortadan kalktığında büyük ölçüde kurulup gidiş-dönüşü sorunsuz geçiriyor. Bu, blender_version_max'ı her Blender sürümünde izlenecek alan yapıyor — onu son desteklenen sürüm değil, ilk desteklenmeyen sürüm olarak okuyun ve bakımcıların onu zamanında güncellemesini bekleyin. Daha geniş ekosistem için bu aynı zamanda keşfedilebilirlik konusunda bir uyarı: depo sunucu tarafında filtrelediğinde, desteklenmeyen bir build bir add-on'u uyumsuzluk göstermek yerine görünmez kılıyor ve bu kullanıcıya extension'ın artık var olmaması gibi görünüyor.
- #blender
- #vrm
- #extensions
- #compatibility
- #open-source