Bugün Cocos Creator’daki insanların hem sevdiği hem de nefret ettiği meta dosyası hakkında konuşacağız! Bu şey kaynak dünyasının kimlik kartı gibi bir şey. Kaybederseniz projeniz birkaç dakika içinde “Kayboldu” filmine benzeyecek!

Meta dosyalarının rolü
Öncelikle sahnedeki meta dosyasının nasıl göründüğüne bakalım:
{
"ver": "1.0.0", //
"uuid": "911560ae-98b2-4f4f-862f-36b7499f7ce3", //
"asyncLoadAssets": false, //
"autoReleaseAssets": false, //
"subMetas": {} //
}
Bir prefabrik için meta dosyası sahne ile aynıdır. PNG görselinin meta dosyasına bir göz atalım:
{
"ver": "1.0.0",
"uuid": "19110ebf-4dda-4c90-99d7-34b2aef4d048",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"subMetas": {
"img_circular": {
"ver": "1.0.3",
"uuid": "a2d1f885-6c18-4f67-9ad6-97b35f1fcfcf",
"rawTextureUuid": "19110ebf-4dda-4c90-99d7-34b2aef4d048",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 100,
"height": 100,
"rawWidth": 100,
"rawHeight": 100,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
PNG görsellerinin meta dosya bilgileri nispeten zengindir. Temel ver
toplama ek olarak uuid
, görüntünün genişliğini, yüksekliğini, ofsetini, dokuzlu ızgara düzenini ve diğer verileri de kaydeder. Yukarıdaki bilgilerin hepsinden yalnızca birini önemsiyoruz: UUID . Oyundaki kimliğiniz gibi adınızı veya avatarınızı değiştirmek zorunda değilsiniz, kimliğiniz aynı kaldığı sürece sistem sizi her zaman tanıyacaktır~”
UUID: Evrensel Benzersiz Tanımlayıcı
UUID, Creator tarafından oyun kaynaklarını yönetmek için kullanılır. Her dosyaya benzersiz bir kimlik atayacak ve atlas birden fazla kimlik üretecek. Bundan da anlaşılacağı üzere Creator motorunda bir dosyayı tanımlamak sadece Yol + Dosya konumlandırma yoluyla değil, dosyaya UUID aracılığıyla referans vererek de yapılabiliyor. Bu nedenle düzenleyici kaynak yönetiminden dilediğiniz zaman dosyaları silebilir ve taşıyabilirsiniz.
Meta dosya güncelleme zamanı
Creator aşağıdaki durumlarda meta dosyaları oluşturur:
1. Bir projeyi açarken
Bir projeyi açtığınızda, Creator ilk önce varlıklar dizinini tarayacaktır. Eğer bir dosyanın meta dosyası yoksa, bu aşamada oluşturulacaktır.
2. Kaynakları güncellerken
Kaynağın güncellenmesi aynı zamanda meta dosyasının da güncellenmesini tetikleyecektir:
- Kaynak yöneticisinde kaynak dosya adını değiştirebilir, dizini değiştirebilir, dosyaları silebilir, dosya ekleyebilir, vb. işlemleri yapabilirsiniz. Lütfen kaynak yöneticisine başvurun . Dosyaları doğrudan masaüstünüzden veya işletim sisteminizin dosya yöneticisinden Explorer’a sürükleyebilirsiniz .

- Bir diğer durum ise işletim sisteminin dosya yöneticisinde varlıklar dizinine dosya ekledikten, sildikten veya değiştirdikten sonra editör arayüzüne geçtiğinizde kaynak yöneticisinin yenilenme işlemini görebiliyorsunuz .
Bir dosyanın meta dosyası mevcut değilse, yukarıdaki iki durum motorun meta dosyasını oluşturmasını tetikler.
Meta dosyası hatalarının çeşitli durumları ve çözümleri
Aşağıda meta dosyası hatalarının oluşabileceği olası durumları analiz ediyoruz.
UUID Çakışmaları
UUID dünya çapında benzersizdir. Eğer bir çakışma varsa, bunun sebebi farklı dosyaların aynı UUID’ye sahip olması olabilir. Bu sorun oluştuğunda Cocos Creator kaynak yöneticisinin dizin yapısı tam olarak yüklenmeyecektir. Aşağıdaki şekilde görüldüğü gibi bu durumla karşılaştığınızda muhtemelen soğuk terler dökeceksiniz:

Çakışan UUID dizesini istemden görebilir, ardından işletim sistemi dosya yönetimini veya kod düzenleyicisini açıp bu UUID’yi arayabilirsiniz:

Öncelikle editörü kapatın, klasöre gidin ve küçük bir not defterini (yani meta dosyasını) silin, sonra editörü açın ve canlanacak! Ancak bu yöntemin bazı yan etkileri de bulunmaktadır. Kaynağın daha önce referans gösterildiği yerler “kaynak kaçtı” yazısıyla karşı karşıya kalacak ve arayüzü yeniden dekore etmeniz veya parametreleri yapılandırmanız gerekecek ki bu da evin fayanslarını yeniden döşemekle eşdeğerdir ve çok zahmetlidir!
Aslında en iyi yol, tıpkı bozuk bir dosyayı kurtarmak için zaman makinesi kullanır gibi, meta dosyasını geri almak için versiyon yönetim aracını kullanmaktır. Bu tür atadan kalma hatalar neden ortaya çıkıyor? Genellikle iki durum vardır:
- Kaygan versiyon: Bir klasördeki dosyaları taşırken kes-yapıştır yapmak istediniz, ancak eliniz titredi ve bunları kopyaladınız ve meta dosyası da kopyalandı, bunun sonucunda projede aynı adı taşıyan iki “ikiz” oluştu.
- Şanslı versiyon: Birden fazla kişi birlikte çalıştığında, başkalarının oluşturduğu dosya kimlik numarası (UUID) bilgisayarınızdaki bir dosyayla çakışır. Bunun gerçekleşme ihtimali piyangoyu kazanma ihtimalinden daha düşüktür. Eğer böyle bir durumla karşılaşırsanız kazı kazan kartı satın almanız önerilir.
Bu durumu önlemek için, tıpkı oyunda canavar öldürmek veya seviye atlamak gibi, dosyaları doğrudan editörde çalıştırmayı unutmayın ve klasörlerin içinde uğraşmayın. Sonuçta, dosyaları doğrudan taşımak, talimatları okumadan Lego’yu parçalara ayırmak gibidir ve sonuçta garip görünümlü bir şey ortaya çıkması kolaydır! Bir dahaki sefere hata yapmadan önce şunu düşünün: Editör artık işe yaramıyor mu, yoksa klasörde altın mı var?
UUID Değişiklikleri
Bir diğer durum ise UUID’nin değişmiş olması ve eski UUID’ye karşılık gelen kaynakların bulunmasının imkansız hale gelmesidir. Bu durumda düzenlediğiniz arayüzde kaynaklar ve görseller kaybolacak, ayrıca bileşen özellikleri de kaybolabilir.

Eski UUID’ye karşılık gelen kaynak bulunamıyorsa, konsol üzerinden Creator’ın sahne dosya adı, düğüm yolu, bileşen, UUID vb. gibi oldukça detaylı uyarı bilgileri verdiğini görebilirsiniz. Uyarı mesajları hataları hızlı bir şekilde bulmanıza yardımcı olabilir.
Peki bu durum nasıl ortaya çıktı? Birisi projeye yeni kaynaklar eklediğinde, meta dosyasını oluşturmak için editör arayüzüne geçmeyi unutur ve bu yeni eklenen dosyaları sürüm kontrolüne (meta dosyası hariç) gönderir. Daha sonra başka bir kişi gönderdiği kaynağı günceller ve düzenlemek için editör arayüzüne geçer. Bu aşamada Creator yeni kaynağın meta dosyasının olmadığını kontrol edecek ve hemen oluşturacaktır. Birinci kişi editöre geçtiğinde ayrıca bir meta dosyası da oluşturulacaktır. Bu şekilde her iki kişinin bilgisayarında da aynı dosya görünecek ancak oluşturulan meta dosyalarındaki UUID’ler farklı olacaktır.
Bu durumda sonradan kaynak gönderen veya güncelleyen kişiler mutlaka çatışmalarla karşılaşacaklardır. Nedenini bilmeden, uyuşmazlıkları zorla çözmeye kalkarlarsa yukarıda sayılan sorunlar ortaya çıkar. Aşağıdaki sıra diyagramı bu hatanın iş akışını açıklamaktadır:
Çünkü ilk öğrenci A meta dosyasını oluşturup göndermeyi unutmuş, diğer kişiler daha sonra projeyi düzenlemişler fakat her kişinin oluşturduğu UUID farklı olmuş, bu da sonsuz kaynak hatasına yol açmış. Düzenlenen şeyler güncelleme için gönderildiğinde tekrar çakışmaya başlıyordu.
Bu sorunu çözmek için aşağıdaki noktalara dikkat edin:
- Göndermeden önce yeni dosya olup olmadığını kontrol edin. Yeni dosyalar varsa, birlikte gönderilmesi gereken meta dosyalarının olup olmadığına dikkat edin;
- Dosyaları çekerken yeni dosyalar olup olmadığına ve bunların meta dosyalarıyla eşleştirilip eşleştirilmediğine dikkat edin. Aksi takdirde, daha önce dosya gönderen öğrencilere meta dosyalarını birlikte göndermelerini hatırlatın.
- Gönderim sırasında yalnızca yeni eklenmiş bir meta dosyası olduğunu görürseniz, bu meta dosyasının sizin tarafınızdan oluşturulmuş olması gerekir. Bu meta dosyasına karşılık gelen kaynağın (aynı isimli dosyanın) kullanılıp kullanılmadığına dikkat etmeniz gerekiyor. Eğer kullanılmadıysa lütfen en erken gönderen kişiden meta dosyasını göndermesini isteyin. Bu meta dosyasını asla göndermeyin.
Yukarıdaki noktalara dikkat edilmesi, meta dosyası UUID’sindeki değişikliklerden kaynaklanan mühendislik hatalarının temel olarak önlenmesini sağlayabilir.
özet
【Meta dosyasının öfke anı】
🔥 UUID Çakışmaları :
İki dosyanın ID numaralarının aniden aynı olduğu ortaya çıktığında, Creator doğrudan bölecektir:
[Hata] UUID çakışması! Dosya yöneticisi yüklenemedi!
(Çözüm: Bir metayı gözünüz kapalı silin ve ardından kaynakları yeniden yapılandırmaya hazır olun~)
⚠️ UUID Kaybolma Tekniği :
Kaynaklarınız aniden ortadan kaybolduğunda, konsol çılgınca saldırıyı yenileyecektir:
[Warning] Kaynak bulunamıyor! Yol: Sahne/Düğüm/Bileşen UUID:19110ebf-4dda-4c90-99d7-34b2aef4d048
(Bütün bunlar, birisinin dosyayı meta ID’si olmadan gizlice kopyalamasından kaynaklanıyor!)
[Dolandırıcılık Önleme Rehberi]
- Göndermeden önce yapmanız gerekenler :
✅ Yeni eklenen dosyanın “küçük bir kuyruğu” (meta dosyası) olup olmadığını kontrol edin
✅ Dosyayı taşımak için bir düzenleyici kullanın, elle kopyalayıp yapıştırmayın
✅ Yalnızca bir meta dosyası olduğunu görürseniz, göndermeyin! Bu sizin bilgisayarınız tarafından üretildi! - Çekerken dikkat :
🚨 Meta olmayan yeni bir dosya gördüğünüzde hemen meslektaşınıza @ yazın: “Kardeşim! Kimlik kartını unuttun!” - Çok kişili işbirliği için tabular :
❌ Güvercin kralı olmayın ve meta olmadan dosya göndermeyin
❌ Çakışmalarla karşılaştığınızda kendinizi zorlamayın, önce kimin suçlu olduğunu bulun
❌ Dosya adını doğrudan değiştirmek için Windows Gezgini’ni kullanmayın (kalp atışı yaşamak istemiyorsanız)
[Önemli Noktalar]
Meta dosyası bir kaynağın mülkiyet senedi gibidir. Kaybedersen ağlarsın! Unutmayın:
👉 Dosyaları düzenlemek için bir düzenleyici kullanın
👉 Göndermeden önce “dosya + meta”nın çiftler halinde göründüğünü kontrol edin
👉 Bir sorunla karşılaşırsanız, önce UUID’yi kontrol edin, sonra meslektaşlarınızı azarlayın (değil)
Son olarak size bir limerick vermek istiyorum:
“Meta dosyaları vazgeçilmezdir, UUID ise bir hazinedir
Göndermeden önce bir göz atın, böylece işbirliğiniz sorunsuz olsun! “
