Dokular, dosyalar ve paketler · 3 dk okuma

FiveM'de dokular neden pembe, mor ya da beyaz çıkar? Çözümü

Şu dillerde oku: English · Español · Français · Deutsch · Português · Italiano · Polski · Русский

Eklediğin yeni prop, araba ya da MLO oyuna yükleniyor, ama bir kısmı düz beyaz ya da parlak pembe veya mor görünüyor. Model düzgün yüklenmiş: eksik olan dokularından biri. Oyun onu aradı, hiçbir yerde bulamadı ve o parçayı onsuz çizdi.

Çözüm neredeyse hiçbir zaman önbelleği temizlemek ya da kaynağı yeniden kurmak değildir. Hangi dokunun eksik olduğunu ve modelin onu neden göremediğini bulman gerekir. Aşağıda oyunun nerelere baktığı, bunu bozan hatalar ve OpenIV'de her dosyayı tek tek açmadan suçlu dokuyu nasıl bulacağın var.

Oyun bir dokuyu nerede arar

Bir model dosya listesi taşımaz. Her parçası (her shader) ihtiyaç duyduğu dokuların adını verir ve oyun her adı şu sırayla arar:

  1. Modelin kendisinde. Bir .ydr ya da .yft kendi dokularını taşıyabilir (gömülü).
  2. Archetype'ının belirttiği doku sözlüğünde. Prop ya da harita modeli için bu, .ytyp içindeki girişinin textureDictionary değeridir; her zaman modelin adını taşıyan bir .ytd olmak zorunda değildir. Araba için vehicles.meta içindeki txdName.
  3. Bu sözlüğün parent'larında, gtxd.meta içinde (CMapParentTxds) tanımlı, zincir boyunca birer birer yukarı doğru.
  4. Oyunun her zaman yüklü olan ortak sözlüklerinde, örneğin vehshare (araba camları, tekerlekler ve boya) ve mapdetail.

Bu yerlerin hiçbirinde olmayan doku, beyaz, pembe ya da mor parçadır. Yani soru hiçbir zaman sadece "doku kaynağımda mı?" değildir, "bu modelin baktığı bir yerde mi?" sorusudur.

Olağan nedenler

  • .ytd, .ytyp'in belirttiği dosya değil. .ytdyi modelin adına göre yeniden adlandırmak sık yapılan bir tahmindir, ama önemli olan archetype'ın doku sözlüğüdür.
  • .ytd kaynakta hiç yok, ya da stream klasöründe değil ve oyunda da bu adla bir dosya yok.
  • Doku aynı kaynağın başka bir .ytdsinde, bu modelin hiç bakmadığı bir yerde: parent bağlantısı olmayan ortak bir sözlük.
  • gtxd.meta var ama fxmanifest onu yüklemiyor. data_file satırı olmadan oyun bu parent'ları hiç görmez.
  • Arabanın vehicles.meta içindeki txdNamei, .ytdsiyle eşleşmiyor.

Benzer görünebilen ama eksik doku olmayan bir durum daha var: mipmap'siz kaydedilmiş bir doku. Bir müşterinin addon pedi, tüm dokular yerindeyken oyunda yakından pembeydi ve dokularında mipmap yoktu. Bu durumun ayrı bir rehberi var: YTD'ye mipmap nasıl eklenir.

Eksik dokuyu bir dakikada bul

Missing Textures Check, bir kaynaktaki her model için aynı aramayı yapar. Ücretsizdir (Discord ile giriş yaparsın) ve yalnızca okur: hiçbir şeyi değiştirmez.

  1. FiveM kaynağını, klasörünü ya da .zipini, varsa .ytyp, vehicles.meta ve gtxd.meta ile birlikte sürükle.
  2. Totals (toplamlar) kısmını oku: Missing, beyaz ya da mor çizilen doku sayısıdır; From the game, yalnızca oyunun sözlüklerinde bulunan dokulardır, bu normaldir.
  3. Bir modelin kartını aç. Tablosu her dokuyu yuvasıyla ve nerede bulunduğuyla listeler: modelde, kendi .ytdsinde, bir parent .ytdde, oyunda ya da Missing.
  4. Eksik doku sürüklediğin dosyaların başka bir yerindeyse, tablo bunu adının yanında söyler ("Is in X, where this model doesn't look." – X'te, bu modelin bakmadığı yerde), modelin altındaki ipucu da nasıl düzeltileceğini söyler.
  5. Only problems (yalnızca sorunlar) işaretli kalsın, yalnızca bozuk modelleri gör; listeyi tek tek işlemek istersen raporu .csv olarak indir.
`.ytd`si çıkarılmış bir test polis arabası için Missing Textures Check raporu: 15 eksik doku, her biri yuvasıyla listeleniyor, geri kalanı oyunun sözlüklerinde bulundu
.ytdsi çıkarılmış test arabası: 15 doku hiçbir yerde bulunamadı, ipucu da vehicles.metasının istediği sözlüğü gösteriyor.

Her nedeni düzelt

Doku gerçekten eksik

Dokuyu modelin kullandığı sözlüğe koy. Texture Editor, .ytdyi açar ve bir tane ekler: Add a texture (doku ekle). Modelin istediği tam adı ver, türünü seç (renk, normal ya da specular haritası) ve resmi ekle, ardından .ytdyi indir. Sıkıştırılmış ve mipmap'li olarak geri gelir.

Model yanlış sözlüğe bakıyor

YTYP Editor ile .ytyp içindeki archetype'ın doku sözlüğünü değiştir; dokuların bulunduğu .ytdyi göstersin. Araba için vehicles.meta içindeki txdNamei düzelt.

Doku başka bir .ytd'de

Dokuyu modelin kendi .ytdsine taşı ya da o diğer .ytdyi bir gtxd.meta ile onun parent'ı yap. Texture Dedupe, sözlükler arasında doku paylaşıldığında bunu senin yerine yazar. Her iki durumda da fxmanifest'in bunu yüklemesi gerekir:

lua
files { 'gtxd.meta' }
data_file 'GTXD_PARENTING_DATA' 'gtxd.meta'

Yalnızca yakından pembe ya da bulanık

Aynı raporda Size and format (boyut ve biçim) bölümüne bak. Mipmap'siz olarak listelenen dokular, Asset Optimizer ile tek seferde yeniden oluşturulabilir.

Sonra yeniden bağlan, yalnızca yeniden başlatmakla kalma

Oyuncular, yeniden bağlanana kadar daha önce indirdikleri .ytdyi kullanmaya devam eder: kaynağı yeniden başlatmak düzeltilmiş dokuyu görmek için yetmez. Düzeltmeden sonra kaynağı kontrole yeniden sürükle, sonra oyunda görmek için sunucuya yeniden bağlan.

Sorular

FiveM önbelleğini temizlemek beyaz ya da mor dokuları düzeltir mi?
Bir doku kaynakta eksikse, hayır: önbellek kimsenin göndermediği bir dokuyu ekleyemez. Önce eksik olanı bul. Bir .ytdyi değiştirdikten sonra ise oyuncuların yeni dosyayı almak için yeniden bağlanması gerekir.
Modelimin neden sadece bir kısmı beyaz?
Her model parçasının kendi dokuları var. Yalnızca dokuları hiçbir yerde bulunamayan parçalar onsuz çizilir; yani bir arabanın boyası kusursuz, koltukları beyaz olabilir.
Doku kaynağımdan değil de oyundan gelebilir mi?
Evet. Bir model, oyunun kendi sözlüklerindeki dokuları kullanabilir, örneğin araba camları ve tekerlekler için vehshare. Missing Textures Check bunları eksik değil, From the game ya da Game shared olarak gösterir.

Bunun için araç

Missing Textures Check

Kaynağını sürükle ve her modelin dokularını, her birinin nerede bulunduğunu, hiçbir yerde bulunmayanlar için de çözümü gör.

Missing Textures Check aç

Burada da işe yarar: Texture Editor · Asset Optimizer

Daha fazla rehber

Tüm rehberler →

Her aracı günde 5 dışa aktarmaya kadar ücretsiz deneyebilirsin. Kullanmak için Discord ile giriş yap.