Kaynak kontrolünde hangi Unreal Engine 4 proje dosyalarını görmezden gelebilirim?


30

Git ile birlikte Unreal Engine 4 projesini kaynak kontrolü altına almak istiyorum. (Editörün Performance ve Subversion desteğine sahip olduğunu biliyorum, ancak bunu umursamıyorum.)

Depoya hangi klasör ve dosyaları ekleyebilirim ve hangilerini yok sayabilirim?

Gördüğüm kadarıyla, şu gereklidir: Config, Content, Source, *.sln,*.uproject

Ben görmezden gelemeyeceği şeyler: Binaries, DerivedDataCache, Intermediate, Saved, *.suo, *.sdf,*.opensdf

Bu doğru mu?


2
Bir .sln varsa, genellikle kullanıcıya özel seçenekler içerdiğinden göz ardı etmek isteyebileceğiniz bir .vXX.suo dosyası (genellikle görünmezdir) vardır.
Josh

2
Github , çeşitli projeler için yoksayma dosyalarının bir listesini tutar . Unreal4 için henüz bir giriş yok. Mükemmel listeyi bulursanız, belki de oraya eklemek için bir çekme isteği göndermelisiniz.
Seth Battin

VS geçici dosyalarını zaten görmezden geldim, ancak herkese açık yaptığınız için teşekkür ederim. Bunu yansıtması için soruyu değiştirdim.
rioki

@rioki Git ile çalışmak hakkındaki izlenimleriniz neler? Dün UE ile çalıştığım ilk zamanlardı ve sabit disk alanımın 500 MB'lık basit seviyesini korudum. Git'in senkronize etmesi için çok fazla veri var.

Yanıtlar:


17

GitHub for Windows kullanıyorum; bu, günlük dosyaları veya VS'ye özgü, paylaşılması gerekmeyen dosyalar gibi çoğu yabancı dosyayı görmezden gelen güzel bir gitign üretiyor.

Unreal belgelerinde bu sayfadan toplayabildiklerime göre, bu dizinleri görmezden gelebilirsiniz:

DerivedDataCache
Intermediate
Saved

Binaries’yi görmezden gelmeyeceğim, eğer sadece VS’li olmayan bir seviye tasarımcısıyla çalıştığım ve bu yüzden oluşturduğum DLL dosyalarına ihtiyaç duyacağım (sanırım yanlış olabilir).

Yine bir proje oluştururken sizin için gitignore üreten Windows için Git kullanıyorum ve oldukça büyük. Hemen hemen sadece aşağıdakileri taahhüt ediyorum ("ReallyCoolGame" projenizin adıdır):

.gitattributes
.gitignore
Binaries
Config
Content
Source
ReallyCoolGame.sln
ReallyCoolGame.uproject

Ben sadece bunu kendim yaptım ve henüz seviye tasarımcımla test etmedim, bu yüzden ihtarcı bir emptor.

Ayrıca, Unreal Engine kaynak dizin yapısı içinde değil, E:\Documents\Unreal Projects\ReallyCoolGame( My Documents == E:\Documentsmakinemde) kaydedilen birinci şahıs C ++ şablonunu kullanarak yaratılan bir projeye atıfta bulunuyorum .

Düzenleme: Ayrıca tüm varsayılan içeriği de dahil etmek istemiyorum, bu yüzden yalnızca oyunun kendisi için proje ile aynı ada sahip içerik için bir alt dizine sahip olacağım ve İçeriğin diğer tüm alt dizinlerini görmezden geleceğim. Böylece .gitignore'imin en üstündeki çizgiler şimdi şuna benziyor:

DerivedDataCache
Intermediate
Saved
Content/*
!Content/ReallyCoolGame

Seviye tasarımcı bunun yerine tüm varlıklarımızı koyacaktır Content/ReallyCoolGame.

GÜNCELLEŞTİRME:

Orta dizin, aslında proje oluşturmak için gereken Visual Studio'nun proje dosyalarını içerir. Intermediate dizini yoksayılırsa, Visual Studio çözümü bulamayacağından projeyi oluşturamazsınız. Ancak bunun için iki kolay çözüm vardır.

1) Orta dizini göz ardı etmeyin. Tabii ki bu durumda Visual Studio hala ihtiyaç duyduğu tüm proje dosyalarını bulacak ve projeyi oluşturabilecektir.

2) Bu, özellikle sürüm kontrolü için daha da iyidir: Projenizi Unreal Engine 4 editöründe açın ve "Dosya> Visual Studio Projesini Yenile" ye gidin. Bu, sizin için tamamen yeni bir çözüm dosyası oluşturacaktır, bu da onu işlemenize gerek kalmayacak ve proje klasöründeki * .sln dosyasını .gitignore dosyasına ekleyebileceğiniz anlamına gelir.

Ayrıca * .suo ve * .sdf dosyaları genel olarak göz ardı edilebilir, çünkü Visual Studio çözümünüzü açtığınızda sadece yenilerini üretir.


Bu konuyu varsayılan içerikle farklı şekilde çözdüm. Oluşturulan projeye başlangıç ​​içeriği eklemedi. Başlamak için gereken malzemelerin oluşturulması gerçekten bir parça kek ve ciddileştikten sonra kendi mal varlığım olacak. Bu, projeden 100 MB'lık bir dosya gibi bir şey kaldırır.
rioki

14

UE4'ün genel sürümüyle benimki arasındaki farkları bilmiyorum, ancak işte kullandığım .gitignoredosya:

Engine/Binaries/
Engine/DerivedDataCache/
Engine/Intermediate/
Engine/Plugins/*/*/Binaries/
Engine/Plugins/*/*/Intermediate/
Engine/Programs/UnrealHeaderTool/
Engine/Programs/UnrealPak/
Engine/Saved/
Engine/Shaders/Binaries/
Engine/Source/*/*/*/obj/
Engine/Source/*/*/obj/
Engine/Source/*/obj/

UE4.opensdf
UE4.sdf
UE4.sln
UE4.suo
UE4.*.suo

GameName/Binaries/
GameName/DerivedDataCache/
GameName/Intermediate/
GameName/Saved/

1
Oyun projeniz UE'nin üçüncüsü ile mi çalışıyor? Özel bir motor yapınız varsa, bu mantıklı gelebilir, ancak ben stok motorunu kullanıyorum. Temelde sadece GameName / * ve VS'ye aldırış etmem gerekiyor.
rioki

Evet, motorun birçok modifikasyona ihtiyacı var ve giriş yukarı UE düzenli olarak havuza birleştirildi.
sam hocevar

FWIW, UE3 ile çalışırken çekirdek UE kaynak ağacında oyun projemiz vardı ve benim izlenimim bunun SÇP olduğuydu. Neredeyse motor modları da yapmanız gerektiğini garanti edeceğim ve Oyununuzu UE + Oyununuzu tek bir 'varlık' olarak kabul ederseniz her şeyi takip etmek çok daha kolay.
Steven Stadnicki

0

Bu benim yanımda olduğum şey.

#Unreal Engine
StarterContent/
Saved/
Binaries/
Build/
Debug/
Intermediate/
DerivedDataCache/
UnrealHeaderTool/
UnrealPak/
obj/
*.VC.opendb
*.opensdf
*.sdf
*.suo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.