kinglord34

Aktif üye
7 Ocak 2017
261
30
28
Belirtilmemiş
Unreal Engine 5.4 sürümünü kullanmaktayım. Multiplayer bir oyun geliştiriyorum. Bir radyasyon sistemi yazdım ve bu sistem sorunsuz bir şekilde çalışıyordu. Oyundaki diğer yazdığım ya da yazmakta olduğum sistemleri test ederken durduk yerde radyasyon sisteminin çalışmadığını farkettim. Üstelik yazdığım radyasyon sistemine hiçbir şekilde müdahale etmedim. Önceden projemin yedeğini almıştım ve oradaki radyasyon sistemimi kontrol ettim ve sistemin sorunsuz bir şekilde çalıştığını gördüm. İşin ilginç yanı ana projemdeki ve yedek projemdeki radyasyon sisteminin kodlarını karşılaştırdığım zaman bütün kodlar aynı. Ama ne ilginçtir ki ana projemdeki radyasyon sistemim çalışmıyor yedek projemdeki çalışıyor. Ben bu sorunun bir bug olduğunu düşünüyorum ve hala çözümünü bulamadım. Sizce bu sorun neden kaynaklanmakta, daha önce hiç böyle bir şey yaşayan oldu mu?
 
Bazen UnityBuild sisteminde kaynaklı bir taraf eski derleme de kalmış olabilir. Bu normalde mümkün değil ama bazen kullanıcının yaptığı sıra dışı şeyler buna sebep olabilir. Ancak sorun sadece bu ise çözümü çok basit.
Temp klasörleri sil ve tekrar dene. Temp klasörler DerivedDataCache, Binaries, Intermediate, Saved klasörleri. İki projende de bunu yap. Bu bütün derleme işlemlerini sıfırlamak anlamına gelir. İki projende aslında ne yapması gerekiyorsa o hale gelecektir.
Eğer bunu yaptıktan sonra her iki projende sistem çalışmıyorsa, eski projen de hata lı olduğunu anlamış olursun. Eğer üzerinde çalıştığın projede halen çalışmıyor ama eski projede sıkıntı yoksa, arada mutlaka fark vardır. Arada fark olmadan böyle bir şey olması mümkün değil. Yani sen iki şeyin 100% aynı olduğunu düşünüyorsun ama öyle değildir.

Not: Böyle şeylerle uğraşmamak için Source Control kullanmak tek kişi bile olsan çok faydalıdır. Git olabilir Perforce olabilir, Tortoisse, PlasticSCM her ne ise. Manuel yedek almaktan kurtulurdun ve bu tarz bir problem yaşadığında, SCM sana nerede değişiklik olduğunu gösterdiği için, o göremediğin farklılığın nerede olduğunu hemen görebilecektin. Bu çok sık sık karşılaşılan bir durum. Mesela bir BP de VFX asset i atamayı unutmuşum ama ben kesin orda olduğunu düşünüyorum. Ya da bir float değeri 0.2 den 1.2 ye çıkarmışım ve bu da matematiksel olarak sistemi çalışmaz hale getirmiş. Ya da bir collision ayarını yanlış vaziyette bırakıp unutmuşum. Ben koda baktığımda bir değişiklik göremiyorum. Hemen gidip SCM ye bakıyorum, başka nerede değişiklik var diye. Kabak gibi unuttuğum şeyi görebiliyorum. Bazen düzeltiyorum bazen 1 - 2 saat öncesine (Bir önceki commit e) geri dönüyorum çalışmaya devam ediyorum.
 
Node kodlarını diğer projenden kopya aldıysan derlemede bug olmuş olabilir. En temizi Node ları yeniden kodlamak temiz bir çözüm olacağını düşünüyorum. Zaten kodlamaların hazır olduğu için uzun sürmeyecektir ekran fotolarını al asıl projene uygula
 
Bazen UnityBuild sisteminde kaynaklı bir taraf eski derleme de kalmış olabilir. Bu normalde mümkün değil ama bazen kullanıcının yaptığı sıra dışı şeyler buna sebep olabilir. Ancak sorun sadece bu ise çözümü çok basit.
Temp klasörleri sil ve tekrar dene. Temp klasörler DerivedDataCache, Binaries, Intermediate, Saved klasörleri. İki projende de bunu yap. Bu bütün derleme işlemlerini sıfırlamak anlamına gelir. İki projende aslında ne yapması gerekiyorsa o hale gelecektir.
Eğer bunu yaptıktan sonra her iki projende sistem çalışmıyorsa, eski projen de hata lı olduğunu anlamış olursun. Eğer üzerinde çalıştığın projede halen çalışmıyor ama eski projede sıkıntı yoksa, arada mutlaka fark vardır. Arada fark olmadan böyle bir şey olması mümkün değil. Yani sen iki şeyin 100% aynı olduğunu düşünüyorsun ama öyle değildir.

Not: Böyle şeylerle uğraşmamak için Source Control kullanmak tek kişi bile olsan çok faydalıdır. Git olabilir Perforce olabilir, Tortoisse, PlasticSCM her ne ise. Manuel yedek almaktan kurtulurdun ve bu tarz bir problem yaşadığında, SCM sana nerede değişiklik olduğunu gösterdiği için, o göremediğin farklılığın nerede olduğunu hemen görebilecektin. Bu çok sık sık karşılaşılan bir durum. Mesela bir BP de VFX asset i atamayı unutmuşum ama ben kesin orda olduğunu düşünüyorum. Ya da bir float değeri 0.2 den 1.2 ye çıkarmışım ve bu da matematiksel olarak sistemi çalışmaz hale getirmiş. Ya da bir collision ayarını yanlış vaziyette bırakıp unutmuşum. Ben koda baktığımda bir değişiklik göremiyorum. Hemen gidip SCM ye bakıyorum, başka nerede değişiklik var diye. Kabak gibi unuttuğum şeyi görebiliyorum. Bazen düzeltiyorum bazen 1 - 2 saat öncesine (Bir önceki commit e) geri dönüyorum çalışmaya devam ediyorum.
Hocam öncelikle yanıtınız için teşekkür ederim, iki projede de dediğinizi yaptım fakat sorun hala devam etmekte. Gerçekten çok ilginç anlam veremiyorum. Bu arada verdiğiniz öneri için de ayrıca teşekkür ediyorum.
Node kodlarını diğer projenden kopya aldıysan derlemede bug olmuş olabilir. En temizi Node ları yeniden kodlamak temiz bir çözüm olacağını düşünüyorum. Zaten kodlamaların hazır olduğu için uzun sürmeyecektir ekran fotolarını al asıl projene uygula
Hocam öncelikle size de yanıtınız için teşekkür ederim, Dediğiniz gibi yaptım fakat değişen hiçbir şey olmadı.

Ek olarak şunu belirteyim, sistemde replikasyon sorunu yaşamaktayım.
 
Sorunu çözemedim arkadaşlar, dolayısıyla projeye yedek proje üzerinden devam edeceğim. Naçizane tavsiyem yedek almayı unutmayın. İlginiz için teşekkür ederim.