Projenizde Scene Graph ile çalışırken karşılaşabileceğiniz bilinen sorunlar aşağıdadır. Geribildirimin varsa veya aşağıdaki listede yer almayan sorunlarla karşılaşırsan lütfen bunları forumlarda bildir.
Scene Graph henüz beta sürümünde bir özelliktir, bu nedenle beklenmedik çökmeler ve kararsızlıklarla karşılaşabilirsin.
Varlıklardaki ışık bileşenleri, aydınlatma şemasını görüntülemez. Bunun için bir geçici çözüm, görselleştiricilerin görünmesi için görünüm penceresinde bir varlığı yeniden seçmektir.
Bir prefab örneğindeki tüm geçersiz kılmaları tek seferde temizleyemezsin. Her bir geçersiz kılmayı teker teker temizlemelisin.
Şu anda varlıklar, her aktör için bir dosya sistemi kullanmıyor, bunun yerine UMAP öğesine kaydediliyor, bu da revizyon kontrolü iş akışlarında (URC ve Perforce) yan etkilerin ortaya çıkmasına neden oluyor. URC’yi projenle birlikte kullanırsan bir varlık düzenlemek ana seviyeyi kilitleyerek bir takımın birden fazla üyesinin varlıklar üzerinde aynı anda çalışmasını engeller. Revizyon kontrolü yaparken fark edebileceğin ilave yan etkiler şunlardır:
Varlıklar, revizyon kontrolü durumunu anahat düzenleyicisinde veya görünüm penceresi durum vurgularında tek tek yansıtmaz.
Varlıklar için revizyon kontrolü alt menüsü devre dışıdır, yani geri alma gibi varlığa özgü eylemler mümkün değildir.
Gönder iletişim kutusunun değiştirilen dosyaların listesi varlığa özgü bilgiler içermez.
URC’nin anlık görüntü geçmişi bilgileri, belirli bir anlık görüntüdeki belirli varlıklarda yapılan değişiklikleri yakalamaz.
Geçersiz kılınmış prefab örneklerini prefab varlığına kaydetmenin bir yolu yoktur.
Çoğaltılan varlıklar Prefab Editörü’nde doğru şekilde adlandırılmaz.
Tümünü Genişlet ve Tümünü Daralt işlemleri bileşenler üzerinde çalışmaz.
Şu anda bir prefabdan geçersiz kılmaları kaldırmanın bir yolu yoktur.
Geçersiz kılma simgesine sağ tıklandığında sol tıklama ile aynı etkiyi etmelidir.
Bir alt varlığı, üst varlığının üzerine sürükleyerek ayıramazsın.
Statik Örgü Bileşeni Dönüşü, sol eksen boyunca ileri/geri sarılırsa beklenmedik harekete neden olur.
Scene Graph objeleriyle çarpışırken beklenmedik oyuncu davranışı gerçekleşir.
Bir varlık manuel olarak yeniden adlandırıldıktan sonra, varlık adı tekrar değiştirilemez.
Negatif ölçeklendirme, döndürüldüğünde alt varlıklarda anormal etkileşimlere neden olabilir.
Prefab Editörü’nde dönüşüm değerlerini sürüklemek, değerleri widget’tan değiştirmeye göre daha yavaş ve daha az etkilidir.
Prefab Editörü’ndeki varlıklar her zaman seçilebilir değildir.
Bir prefabı silmek, Canlı Düzenleme oturumlarında bir “hayalet” prefab oluşturur.
Prefab öğelerin küçük resimleri yoktur.
Bileşen mantığı hem düzenleme hem de oynatma modunda çalışır.
Bileşenler Kreatif cihazlarından çok daha önce başlatılır, bu da
component.OnBeginSimulationveyacomponent.OnSimulatefonksiyonlarından bir Kreatif cihazı almaya çalışmanın işe yaramayacağı anlamına gelir. Bunu aşmak için bileşenler bulunana kadar döngüye alıp uyku moduna geçebilir veya prefablarını bir Kreatif cihazınınOnBeginçağrısından çıkarabilirsin.Bölüm editöründe (kısayol tuşu H) ve Prefab Editörü’nde seçili varlıkları gizleme özelliği çalışmaz.
Prefab Editörü’nde yapılan değişiklikler, kaydetmediğin sürece prefabın yerleştirilmiş örneklerine yansıtılmaz.
Verse kodu derlenmeden projeyi kaydetmek prefab verilerinin bozulmasına neden olabilir.
Verse öğesi özet oluşturma işlemi ilk kez çalıştırıldığında yavaş olabilir.
Bölüm editöründeki bir prefabı Kopyalayıp yapıştırdığında veya çoğalttığında, temel prefab öğesine ait olan alt prefablar ve alt varlıklar hatalı bir şekilde tamamen geçersiz kılınmış olarak işaretlenir.
Örgü, ses ve parçacık efekti bileşenleri; Verse’te yalnızca, projene aktardığın veya projende ortaya çıkardığın öğeler ve küçük bir grup örgü şekilleri için oluşturulur. Varsayılan durumda Fortnite veya FAB öğelerini Scene Graph ile kullanamazsın.
Projene yeni bir örgü veya ses aktardığında ya da yeni bir parçacık sistemi öğesi oluşturduğunda, bu öğeyi Scene Graph sistemiyle kullanmadan önce o öğenin bileşen sınıfını oluşturmak için projenin Verse kodunu derlemen gerekir.
Materyal veya Niagara editörlerinde parametre ekleyip değiştirdikçe, bu değişikliklerin bölüm editöründe kullanıma sunulması için Verse kodunu derlemen gerekir.
Editörde örgü, ses veya parçacık sistemi öğelerini taşır, yeniden adlandırır veya silersen, şu anda oluşturulan sınıflar yönlendiricileri kullanamadığı için bölüm editöründe oluşturulan bileşen örneklerinin referanslarını kaybetmesi mümkündür.
Projende derlenebilen en az bir Verse dosyası olup Verse derlenene kadar, öğeler tarafından oluşturulan bileşenler oluşturulmaz.
Scene Graph yönlendiriciler olmadan sunuluyor. Öğeleri yönlendiriciler olmadan yeniden adlandırmak aşağıdaki iki senaryodan birini tetikleyebilir:
Ayrıntılar paneli içindeki diğer objeler tarafından referans verilen objelerin referansları bırakılır. Bu nedenle bunların tekrar ayarlanması gerekir.
Verse kodunda referans verilen objeler derleyici hatalarını tetikler ve referansların manuel olarak güncellenmesi gerekir.
Yeni LUF koordinat sistemi, mevcut içeriklerin yanı sıra Scene Graph içeriğini de etkiler. Ancak mevcut tüm Verse kodları çalışmaya devam eder. Scene Graph ile aynı kodu kullanmak istiyorsan eski /UnrealEngine.com/Temporary/SpatialMath türlerinden /Verse.org/SpatialMath türlerine dönüştürmen gerekir. Eski ve yeni türler arasında dönüşüm sağlayabilen yeni dönüşüm fonksiyonları bulunuyor:
FromVector3
FromScalarVector3
FromRotation
FromTransform
VerseTeleportLocation := (/Verse.org/SpatialMath:)vector3{Left := 330.0, Up := 20.0, Forward := 50.0} TeleportRotation := (/Verse.org/SpatialMath:)MakeRotationFromYawPitchRollDegrees(90.0, 0.0 ,0.0) if: FortCharacter := Agent.GetFortCharacter[] FortCharacter.TeleportTo[FromVector3(TeleportLocation), FromRotation(TeleportRotation)] then: Print("Character Teleported")Scene Graph’i etkinleştirmek,
Assets.digest.verseiçine oluşturulan sınıflar için bazı kod oluşturma kurallarını değiştirir. Bu durum, mevcut Verse kodunun artık derlenmeyeceği anlamına gelebilir. Projene devam etmeden önce Verse kodunu düzeltmen gerekir.Temel Örnekler
Verse# Assets.digest.verse MyMesh := class(mesh){} MyMaterial := MakeAsset(material, "MyMaterial.uasset") # YourVerseFile.verse SetMesh(MyMesh) SetMaterial(MyMaterial)Scene Graph’tan Sonra
Verse# Assets.digest.verse MyMesh_asset := class(mesh){} MyMesh := class(mesh_component){} MyMaterial := class(material){} # YourVerseFile.verse SetMesh(MyMesh_asset) SetMaterial(MyMaterial{})Hem
tag_componenthem de Sahne Olayları sistemleri hâlâ yinelenmektedir ve deneysel durumdadırlar. Scene Graph kodu içeren adalar yayınlamak istiyorsan bu özellikleri kullanmaktan kaçın.Bölüme bir Scene Graph varlığı yerleştirilmemişse Simülasyon Varlığı kullanılamaz.
Verse sınıflarının üye değişkenlerinde prefab sınıflarına referans verilmesiyle ilgili bir sorun vardır. Bu da editör başlatılırken bir hata mesajına neden olur.
StaticAllocateObject()fonksiyonuyla, soyut bir sınıfın örneğini oluşturmaya çalıştığından ve bu sınıfınobjeolduğundan emin olacaksın. BuStaticAllocateObject()fonksiyonu, Verse sınıfının $InitCDO’sundan çağrılır.Bir Verse bileşen sınıfındaki varsayılan obje değerinin türünü bir varlığı kopyalayıp yapıştırırken değiştirmek, özellik geçersiz kılınmamış olsa bile referansın eski türün örneğine aktarılmasına neden olur.
Bir varlık prefabı öğesinin eklenmiş bir alt varlık ile yeniden yüklenmesi,
OldToNew.Value->HasAnyClassFlags(CLASS_TokenStreamAssembled)olduğundan emin olunmasını sağlar.Scene Graph’ta aynı anda yalnızca tek kişinin düzenleme yapması önerilir.
Yalnızca, kendi İçerik Üreticisi Takımları için Yönetici izinlerine sahip kullanıcılar yeni projeler için yeni URC depoları oluşturabilir.
Eşyalaştırma
Oyuncular, şu anda Düzenleme Modunda bulunduktan sonra Çanta menüsündeki eşyaların bazılarını veya tamamını seçemezler. Bu sorun için geçici çözüm, UEFN oturumunu kapatıp yeniden başlatmaktır.
NPC’ler şu anda yeni özel eşyaları ve çantaları kullanamıyor.
Yeniden eşleştirilen anahtarlar, çanta girdilerinden bazıları tarafından dikkate alınmaz.
Eşyalar, yanlış çantaya yerleştirilmiş olabilir.
Kumanda kullanıldığında oyun kumandası girdisi bağlamaya yönelik bazı simgeler olmaz.
Bir eşya varlık almak, oyuncu hareketinin bozulmasına sonuç olabilir. Geçici çözüm, oturumu kapatıp yeniden başlatmaktır.
Çantalar ve eşyalarla ilgili bazı kullanıcı arayüzü ve sunum sorunları bulunmaktadır.