Bu özellik Deneysel aşamada olduğundan onu deneyebilir, hakkında geribildirimde bulunabilir ve neler planladığımızı görebilirsin. Şu anda Scene Graph kullanan bir projeyi yayınlayamazsın. Deneysel aşamada oluşturulan öğeler için geriye dönük uyumluluğu garanti etmediğimiz, bu özelliklere yönelik API’lerin değişebileceği ve kendi takdirimize bağlı olarak tüm Deneysel özellikleri veya belirli işlevleri kaldırabileceğimiz unutulmamalıdır. Özellik ile çalışmaya başlamadan önce bilinen sorunlar listesine göz at.
Scene Graph, oyun dünyasındaki tüm objeleri birbirine bağlayan birleşik bir yapıdır. Bunu, metaverse’te deneyimler oluşturmak üzere set giydirme, oynanış sistemleri, sesler, görsel efektler ve çok daha fazlası için ihtiyaç duyulan tüm araçları içeren bir araç kutusu olarak düşünebilirsin.
Scene Graph ile birkaç basit adımda prototip hazırlamaktan ve dünya oluşturmaktan tamamen oynanabilir bir bölüme hızlı bir şekilde geçiş yapabilirsin.
Scene Graph kullanmak demek, projedeki ilgili objeler üzerinde işlem yapabilmek demektir. Scene Graph’i yapıları oluştururken çoğaltmak ve yinelemek için de kullanabilirsin. Hatta oluşturduğun objeleri yeniden kullanılabilir prefablara dönüştürebilir ve farklı projelerde kullanabilirsin.
Scene Graph, Verse’ün özelliklerinden yararlanan yerleşik bir Verse sistemidir. Bu da projelere özel olarak üretilmiş, interaktif objeler ve oynanış deneyimleri ile daha fazla özelleştirme eklemenin bir yolunu sunar.
Scene Graph proje kararlılığını artırır, zira Verse arka planda tüm zor işleri yaparak varlıkların hedeflendiği şekilde çalışmasını sağlar. Verse ayrıca sahne varlıklarının ve bileşenlerinin tüm parçalarına derinlemesine erişime sahiptir, bu da sahneye daha fazla çeşitlilik katabileceğin anlamına gelir.
Metaverse’deki Objeler
Metaverse, insanların 3D bir dünyada oynadıkları ve bağlantı kurdukları gerçek zamanlı bir çevrimiçi sosyal eğlence deneyimidir. Epic Games, UEFN için Scene Graph sistemini tasarlayarak bu metaverse deneyimlerini oluşturmanıza imkân sağlıyor.
Scene Graph sisteminde, Unreal Engine’in Aktör sınıflandırması olmadan objeleri örnekleyebilir ve yeniden kullanabilirsin. Scene Graph’in temelinde, oyunu oluşturmak için veri ve mantık kullanan, ayrıca herhangi bir oyun ortamındaki objeleri işleyen ve simule eden bir dizi yapı bloku bulunur.
Aktörler ve varlıklar birbirinin yerine kullanılamaz, bunlar sahnede birlikte çalışan farklı sistemlerdir.
Scene Graph ile tüm tasarım kararlarının ve sonuçlarının görünüm penceresinde anında görülebildiği bir 3D gerçek zamanlı simülasyon altyapısı oluşturabilirsin. Bunlar Ayrıntılar paneli veya Prefab Editörü içinde düzenlenebilir.
Oluşturduğun veya Fab gibi bir satıcıdan satın aldığın öğeleri içe aktarabilir ve bunları özel yapım objeler ve prefablar oluşturmak için Scene Graph ile kullanabilirsin.
Scene Graph’te oluşturduğun her şey defalarca ve daha az bellekle yeniden kullanılabilir. Scene Graph oluşturma sistemi, içerikler arasındaki sınırları belirlerken karmaşık içerik paylaşımını ve paylaşılan simülasyonları etkinleştirmek için tasarlanmıştır.
Varlıklar ve Bileşenler
Varlıklar ve bileşenler Scene Graph’in temelini oluşturur. Objelerin tanımını ve davranışlarını kontrol ederek çalışırlar.
Varlıklar, kendi başlarına görünür bir tanımı veya fonksiyonu olmayan kapsayıcılardır. Bileşenler, varlıklara veri ve davranış sağlayan unsurlardır. Bileşenler, bir varlığın sahnede ne yapması gerektiğini tanımlar.
Bileşenler düzenlenebilir özelliklere sahiptir. Bunlar bir statik örgü ve parçacık sistemi gibi fiziksel olabileceği gibi, bir platformun hareketini tanımlayan bir oynanış etiketi veya özel Verse kodu gibi mantıksal da olabilir. Tüm varlıkların varsayılan olarak, varlığın oyun dünyasında nerede bulunduğunu belirtmek için bir Dönüşüm Bileşeni vardır.
Verse ile bir varlık oluşturmak otomatik olarak bir Dönüşüm Bileşeni oluşturmaz.
Scene Graph ile örgülerden, ses işaretlerinden ve çok daha fazlasından gelen fiziksel verileri kullanarak set parçalarını ve oyun mekaniklerini hızlı bir şekilde bir araya getirebilirsin.
Varlığa bir Örgü Bileşeni eklediğinde ve bileşenin örgü yuvasında bir örgü seçildiğinde, bir varlık statik örgünün fiziksel temsili haline gelir. Bu da binaları veya tek tek set parçalarını hızlı bir şekilde oluşturabileceğin ve bunları sahnede hemen kullanabileceğin anlamına gelir.
Örneğin aşağıdaki videoda bir varlık, bambu ağaçlarından oluşan bir kümeye dönüştürülmekte ve Ses Bileşeni yuvasına bir ses işareti sürüklenerek varlığa bir ses bileşeni eklenmektedir.
Bu bambu kümesini kendi başına bir prefab haline getirebilir veya bir orman prefabı oluşturmak için ek varlıklarla birleştirebilirsin.
Simülasyonu temsil etmek üzere projenin kökünde bir varlık (simülasyon varlığı) bulunur. Varlıklar,simülasyon varlığının altına iç içe yerleştirildiğinde sahne oluşturulur. Haritaya varlıklar ekleyerek, simülasyon varlığının alt öğelerini otomatik olarak oluşturmuş olursun.
Bir prefabın en üst varlığı, altına diğer prefabların ve varlıkların yerleştirilebildiği prefabın kök varlığıdır. Üst prefablar, sahnedeki diğer objelerle etkileşime girmek için alt prefabların görünümünü ve davranışını oluşturur.
Büyütmek için görsele tıkla.
-
Prefab Kök Varlığı → WoodenHouse_Tiny_Prefab
-
Alt Prefab → WoodenHouse_RoofSmall_Prefab_C_1
-
Alt Varlık → Building_WIndowCircle_Bright2
-
Alt Varlık → Building_WIndowCircle_Bright4
-
Alt Varlık → Building_WIndowCircle_Dark2
-
Alt Varlık → Building_WIndowCircle_Dark4
-
Alt Varlık → WoodenHouse_Floor
-
Alt Varlık → WoodenHouse_RoofCap2
-
Alt Varlık → WoodenHouse_RoofCap3
-
Alt Varlık → WoodenHouse_RoofWindow2
-
-
Alt Prefab → WoodenHouse_SmallFloor_Prefab_C_1
-
Alt Varlık → WoodenHouse_Floor
-
Alt Varlık → WoodenHouse_Wall10
-
Alt Varlık → WoodenHouse_WallDoor_C4
-
-
Alt Prefab → WoodenHouse_Windows_Prefab_C_3
-
Alt Varlık → Building_WindowPlane_Bright3
-
Alt Varlık → Building_WindowPlane_Bright4
-
Alt Varlık → Building_WindowPlane_Dark3
-
Alt Varlık → Building_WindowPlane_Dark4
-
Alt Varlık → WoodenHouse_Windoows_10
-
-
Her alt prefab, prefabın nasıl göründüğünü ve sahnedeki diğer prefablarla nasıl hizalanacağını belirleyen bileşenlere sahiptir. Belirli prefabları ve varlıkları hedeflemek için Verse’ü kullanarak alt prefabı başka bir prefabla değiştirebilir, hatta Building_WindowPlane_Bright ve Building_WindowPlane_Dark varlıkları için kullanılan rengi de değiştirebilirsin.
Varlığın bir parçasının veya bütününün nasıl hareket edeceğini belirleyen çok sayıda bileşen türü vardır. Scene Graph içinde bulunan farklı bileşen türleri hakkında daha fazla bilgi almak için Bileşenler bölümüne bak.
Varlıkları ve bileşenleri kullanma hakkında daha fazla bilgi için Varlıklar ve Bileşenlerle Çalışma bölümüne bak.
Prefablar
Scene Graph, varlıkları bir üst varlık altında bir araya getirerek prefablar oluşturur. Seçilen tüm varlıklar, varlık hiyerarşileri ve bunların bileşenleri anında prefabdaki varlık ağacına eklenir. Bir prefaba sahip olduğunda Prefab Editörü içinde bu prefabın tüm örneklerini özelleştirebilirsin.
Prefabın bir örneğini oluşturmak için, prefabı İçerik Tarayıcısı’ndan dışarıya, görünüm penceresinin içine sürükle. Prefabları bir prefab hiyerarşisi içinde de iç içe yerleştirebilirsin. Yapılan değişiklikleri hiyerarşideki tüm örneklere ve prefablara uygulamak için hiyerarşiyi kullanabilirsin.
Prefabı güncelledikçe ve geliştirdikçe, her birini tek tek güncellemek için bu objenin tüm örneklerini bulman gerekmediğinden zamandan tasarruf edersin.
Ayrıca, hiyerarşideki alt parçaları seçerek ve farklı bileşen değerlerini geçersiz kılarak çok sayıda benzer görünümlü obje oluşturabilirsin. Ayrıca Prefab Editörü’nde düzenleme yaparken objeleri döndürebilir ve farklı prefab örneklerine yeni bileşen değerleri ekleyebilirsin.
Editör, Ayrıntılar panelindeki tüm değişiklikleri tek tek bileşen özniteliklerinde bir geçersiz kılma simgesiyle işaretler. Ayrıca bileşen kartı açılır menü düğmesindeki farklı bileşen simgelerini de işaretler.
Orijinal prefab tasarımına geri dönmek için, tek tek bileşen geçersiz kılma açma/kapama simgelerine tıkla. Obje otomatik olarak üst prefabın durumuna geri döner. Ayrıca bileşen kartı açılır menü düğmesine tıklayabilir ve Geçersiz Kılmayı Temizle öğesini seçebilirsin.
Prefabların değiştirilmesi hakkında daha fazla bilgi almak için Prefablar ve Prefab Örnekleri bölümüne bakabilirsin.
Aşağıdaki videoda, iki küçük ev prefabı oluşturmak için Scene Graph kullanılmıştır.
Ev çoğaltılıyor. Evin farklı öğeleri, orijinalin parçalarını değiştirmek için farklı örgüler seçilerek değiştirilir ve bu da yeni bir prefab oluşturur. Küçük bir köyü hızlıca oluşturmak için parçaları kopyalamaya ve değiştirmeye devam edebilirsin. Bu teknik, bileşenlerle bile çalışır, böylece köydeki her eve farklı davranışlar ekleyebilirsin.
Prefabların düzenlenmesi, orijinal objenin veya kopyalarının stabilitesini ve hafızasını etkilemez. Bu da adaya özel objeler oluşturmak için bölüm düzenini, soyut tasarımını ve sanatını tamamlayabileceğin anlamına gelir. Scene Graph oluşturma sistemiyle, Fortnite’ta kendi oyun evrenini oluşturmak için projeler arasında oluşturduğun prefabları tekrar kullanabilirsin.
Scene Graph’te Verse
Verse, oyun dünyasında varlıklar üretmek ve kaldırmak ile özel bileşenler ve davranışlar oluşturmak için Scene Graph’in kullandığı programlama dilidir.
Verse ile önceki örnekteki ev için sarkan bir dış fener oluşturabilirsin. Verse, fenerin nasıl hareket ettiğini belirlemek için salınım, dönüş ve süre özelliklerini tanımlamanı sağlar.
Projende oluşturduğun prefablar, projenin Assets.digest.verse dosyasında Verse’e bir sınıf olarak sunulur. Prefabda tanımlanan varlıklara ve bileşenlere, Verse içinde bir prefabda “GetEntities()” ve “GetComponents()” çağrıları ile erişilebilir.
Verse’ü Scene Graph’te kullanmaya başlamak için Verse’de Kendi Bileşenini Oluşturma sayfasına göz atabilirsin.
Projende Scene Graph’i Etkinleştirme
Projende Scene Graph’i kullanmak için:
-
Proje Ayarları penceresini açmak için, araç çubuğunda Proje > Proje Ayarları öğesini seç.
-
Proje Ayarları penceresinde Deneysel Erişim altında Scene Graph Sistemi’ni etkinleştir.
Büyütmek için görsele tıkla.
- Scene Graph özelliklerini görüntüleyebildiğini doğrulamak için, araç çubuğunda Aktörleri Yerleştir öğesini seç ve açılır menüde Varlıklar öğesine bak.

Çalışmaya Başlama
Scene Graph hakkında daha fazla bilgi almak için Prefab Şablonu sayfasına bakabilirsin. Şablon, Scene Graph özellikleriyle çalışmanın temel kavramlarını tanıtır ve prefablar ve Verse kullanarak proje oluşturmanın gücünü göstermek için temel iş akışları üzerinde gelişip ilerler.
Bilinen Sorunlar
Projende Scene Graph’le çalışırken karşılaşabileceğin bilinen sorunların listesini aşağıda bulabilirsin. Geribildirimin varsa veya listede yer almayan sorunlarla karşılaşırsan, lütfen bunları forumlarda bize bildir.
-
Deneysel özellik olarak beklenmedik çökmeler ve kararsızlıklarla karşılaşabilirsin.
-
Prefab Editörü’nde Izgara, Dönüş veya Ölçeklendirme hizalamasını kullanamazsın.
-
Prefab Editörü’nde çoklu seçim yapamazsın.
-
Prefab Editörü’nde kopyala-yapıştır veya Alt-sürükle çoğalt işlemi yapamazsın.
-
Bileşenleri kopyalayıp yapıştıramazsın.
-
Bir prefab örneğindeki tüm geçersiz kılmaları tek seferde temizleyemezsin. Bunu her geçersiz kılma işleminde yapmalısın.
-
Varlıklar aktör sistemi başına bir dosya kullanmaz, bunun yerine varlıklar UMAP varlığına kaydedilir. URC’yi projenle birlikte kullanırsan, ana bölümü sürekli olarak kilitleyerek projen üzerinde işbirliği yapma olanağını devre dışı bırakırsın.
-
Geçersiz kılınmış prefab örneklerini prefab varlığına kaydetmenin bir yolu yoktur.
-
Kopyalanan varlıklar Prefab Editörü’nde doğru şekilde adlandırılmaz.
-
Tümünü Genişlet ve Tümünü Daralt özellikleri bileşenler üzerinde çalışmaz.
-
Şu anda bir prefabdan geçersiz kılmaları kaldırmanın bir yolu yoktur.
-
Geçersiz kılma simgelerinde sağ tıklamayla sol tıklama arasında bir fark yoktur.
-
Bir alt varlık, üst varlığın üzerine sürüklenerek ayrılamaz.
-
Statik Örgü Bileşeni Dönüşünü Y ekseni boyunca temizlemek beklenmedik hareketlere neden olur.
-
Scene Graph objeleriyle çarpışırken beklenmedik oyuncu davranışları söz konusudur.
-
Bir varlık manuel olarak yeniden adlandırıldıktan sonra, varlık adı 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.
-
Verse Bileşeni Oluştur penceresi Editör Seçenekleri içinde Şablonları göstermez.
-
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, yani “component.OnBeginSimulation” veya “component.OnSimulate” fonksiyonlarından bir Kreatif cihazı almaya çalışmak işe yaramayacaktır. Bunu aşmak için bileşenler bulunana kadar döngü ve uyku (loop ve sleep) yapabilir veya prefablarını bir Kreatif cihazının OnBegin çağrısından çıkarabilirsin.
-
Bölüme doğrudan yerleştirilmiş bir varlık üzerinde “Dispose()” çağrısı yapmak, görünür örgü efektleri gibi birçok şeyi istemci görünümünden kaldırmaz. Verse kodu aracılığıyla çıkan varlıklar üzerinde “Dispose()” çağrısı yapmak doğru şekilde çalışacaktır.
-
Bölüm Editörü (kısayol tuşu H) ve Prefab Editörü’nde seçilen varlıkları gizleme özelliği çalışmaz.
-
Prefab Editörü’nde yapılan değişiklikler, değişikliklerini kaydetmediğin sürece prefabın yerleştirilmiş örneklerine yansıtılmaz.
-
Verse kodu derlenmeden projeyi kaydetmek prefab verilerinin bozulmasına neden olabilir.