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, 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.
Projende Scene Graph’i Etkinleştirme
Projende Scene Graph’i kullanmak için:
Proje Ayarları penceresini açmak için Araç Çubuğu’nda Proje > Proje Ayarları öğesini seç.
Proje Ayarları penceresinde Beta Erişimi altında Scene Graph Araçları’nı etkinleştir. Scene Graph, Beta sürümünde varsayılan olarak etkindir.
Scene Graph özelliklerini görüntüleyebildiğini doğrulamak için Araç Çubuğu’nda Aktörleri Yerleştir’i seç ve Aktörleri Yerleştir açılır menüsünde Varlıklar’ı gör.
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 örneklendirebilir 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ü’nde düzenlenebilir.
Oluşturduğun veya bir satıcıdan satın aldığın öğeleri içe aktarabilir ve bunları özel derlenmiş objeler ve prefab’lar 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’ın temelini oluşturur. Objelerin tanımını ve davranışlarını kontrol ederek çalışırlar.
Varlıklar, bileşenlerin veya diğer varlıkların kapsayıcılarıdır. Boş bir varlığın görünür bir etkisi veya işlevi olmaz. Bileşenler, varlıklara veri ve davranış sağlayan unsurlardır. Bir varlığa eklenen bileşen kombinasyonu, onun sahnede ne yapması gerektiğini tanımlar.
Bir varlık, herhangi bir sayıda farklı bileşen içerebilir. Ancak bir varlık üzerinde aynı anda belirli bir bileşen türünden yalnızca bir bileşen kullanılabilir. Örneğin, bir varlık üzerinde light_component türünden yalnızca bir bileşen kullanılabilir. Ortak türde birden fazla bileşen kullanmak için, bileşenin her bir örneğini tutacak yeni varlıklar oluşturabilirsin.
Bazı bileşen türleri UEFN’de oluşturulan öğeler tarafından oluşturulur. Öğe tarafından oluşturmuş bileşen, projenizde halihazırda bulunan bir örgü, ses veya parçacık sistemi öğesi gibi içeriklere bağlı olarak otomatik oluşturulan bir bileşen sınıfıdır. Bu öğeler, oluşturulan bileşende düzenleyebileceğin bazı özellikleri de kullanıma açabilir.
Bileşenler düzenlenebilir özelliklere sahiptir. Bunlar statik bir örgü ve parçacık sistemi gibi fiziksel özellikler 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.
Bir varlığa bir örgü bileşeni eklendiğinde ve bileşenin örgü yuvasında bir örgü seçildiğinde, bir varlık statik örgünün fiziksel temsili haline gelir. Bu, binaları veya bağımsız 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, her daim yeşil ağaçlardan oluşan bir kümeye dönüştürülmektedir.
Bu ağaç 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 resme 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’da bulunan farklı bileşen türleri hakkında daha fazla bilgi almak için Bileşenler bölümüne bakabilirsin.
Varlıkları ve bileşenleri kullanma hakkında daha fazla bilgi için Varlıklar ve Bileşenlerle Çalışma kaynağına başvur.
Prefablar
Scene Graph, varlıkları bir üst alt ilişkisi halinde bir araya getirerek prefablar oluşturur. Üst, diğer varlıkların üzerindeki herhangi bir varlık seviyesi (üst, daha üst, en üst vb.) anlamına gelir. Alt ise diğer varlıkların altındaki varlık seviyelerini (alt, daha alt vb.) gösterir.
Seçilen tüm varlıklar, varlık hiyerarşileri ve bunların bileşenleri anında prefabdaki bu varlık ağacına eklenir. Bir prefab’a sahip olduğunda Prefab Editörü’nde 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.
Prefab’ları değiştirme hakkında daha fazla bilgi edinmek için Prefab’lar ve Prefab Örnekleri bölümüne bak.
Aşağıdaki videoda, iki kale odası prefab’ı oluşturmak için Scene Graph kullanılmıştır.
Oda çoğaltılıyor. Odanın bir öğesi, zemin örgüsü seçilerek ve orijinali değiştirilerek değiştirilir ve bu da yeni bir prefab oluşturur. Küçük bir kale ve hatta bir köy örneğini hızla oluşturmak için parçaları kopyalamaya ve değiştirmeye devam edebilirsin. Bu metot, bileşenlerle bile çalışır, böylece kaledeki her odaya 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’ta 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 prefab’lar, projenin Assets.digest.verse dosyasında bir Verse sınıfı olarak kullanıma sunulur. Prefabında tanımlanan varlıklar ve bileşenlere, Verse’te bir prefab’da GetEntities() ve GetComponents() çağrıları aracılığıyla erişilebilir.
Verse’ü Scene Graph’ta kullanmaya başlamak için Verse Kullanarak Kendi Bileşenini Oluşturma sayfasına göz atabilirsin.
Uygulamalı Deneyim
Scene Graph Örnek Şablonu, Scene Graph özellikleriyle çalışmanın temel kavramlarını tanıtır ve prefab’lar ve Verse kullanarak proje oluşturmanın gücünü göstermek için bu temel iş akışları üzerinde gelişip ilerler. Her örnek, ilgi çekici ve işlevsel oyun objeleri ve oynanış oluşturmak üzere bir tasarımı yinelemek için Scene Graph kullanmanın gücünü gösterir.
İlgi çekici bir oynanış oluşturmak üzere Scene Graph’i kullanma hakkında daha fazla bilgi edinmek için Scene Graph ile Platform Oyunu Oluşturma bölümünü aç.
Daha ayrıntılı eğitimler için mevcut Scene Graph Eğitimleri’ni inceleyebilirsin.