Kısaca
- PCGCleanSplineSettings, çakışan veya doğrusal bölümlerde gereksiz kalan kontrol noktalarını temizlemeye yönelik ayarlar sunar.
- PCGSpawnSplineMeshSettings, spline’ın her segmenti için bir Spline Mesh Component oluşturur.
- Temizleme belgesi Unreal Engine 5.7’nin deneysel Python API’sine, mesh üretimi belgesi ise 5.5’e aittir.
- Mesh ayarlarında özellik geçersiz kılmaları veri genelinde desteklenir; kontrol noktası başına geçersiz kılma desteklenmez.
Bu rehberde ne öğreneceksiniz?
Bu rehber, Unreal Engine’in Procedural Content Generation (PCG) araçlarında spline verisini düzenleme ve spline boyunca mesh oluşturma seçeneklerini ele alıyor. İlk bölümde, üst üste ya da aynı doğrultuda gereksiz kalan kontrol noktalarını temizlemeye yarayan PCGCleanSplineSettings ayarlarını inceleyeceğiz. Ardından PCGSpawnSplineMeshSettings sınıfının spline segmentlerinde mesh bileşenleri oluşturma yaklaşımını açıklayacağız.
Buradaki amaç, belirli bir mimari modeli adım adım üretmekten çok, iki ayar grubunun ne işe yaradığını ve bir üretim sürecinde hangi kararları etkilediğini anlamak. Belgeler sınıfların özelliklerini açıklıyor; ancak belirli bir PCG grafiğini kurmak için tam bir Python betiği veya editör menü yolu vermiyor. Bu nedenle aşağıdaki adımlar, belgelenen özelliklerden hareketle hazırlanmış bir çalışma sırasıdır.
Gereksinimler ve sürüm notu
Kaynaklardaki iki API sayfası farklı Unreal Engine sürümlerine ait: spline temizleme sınıfı Unreal Engine 5.7 deneysel Python belgelerinde, spline mesh üretimi sınıfı ise Unreal Engine 5.5 deneysel Python belgelerinde yer alıyor. Bu, özelliklerin aynı sürümde aynı biçimde bulunduğunu ya da iki sınıfın birlikte sınanmaya hazır olduğunu göstermez. Kullanılan projedeki sürümün API belgelerini ayrıca kontrol edin.
Her iki sınıf da PCG modülü altında tanımlanıyor. Temizleme sınıfı PCGSettings tabanlıdır; mesh üretim ayarları da aynı taban sınıfını kullanır. Belgeler, bir hesap veya lisans gereksinimi belirtmiyor. PCG ayarlarını Python üzerinden kullanmayı planlayanların, seçtikleri sürümün Python API dokümantasyonuna başvurması gerekir. Belgelerde hazır betik örneği bulunmadığından, burada çalıştırılabilir kod sunulmuyor.
Uygulama sırası
Spline verisini ve hedefi belirleyin. Önce spline’ın hangi geometrik işi temsil ettiğini ve boyunca hangi mesh türünün üretileceğini netleştirin. Örneğin bir peyzaj sınırı, yol kenarı veya doğrusal bir mimari eleman spline ile tarif edilebilir; ancak kullanılacak mesh ve proje düzeni bu belgelerde tanımlanmıyor. Bu aşamada hedef, spline’ı düzenlemeden önce hangi noktaların ya da bölümlerin gerçekten biçimi etkilediğini değerlendirmektir.
Temizleme davranışını seçin. PCGCleanSplineSettings, spline boyunca gereksiz kontrol noktalarını kaldırmak için iki temel durumu ele alır: aynı konumda bulunan noktalar ve önceki-sonraki noktalar arasındaki doğrusal bölüm üzerinde kalan noktalar.
remove_collinear_control_pointsdoğrusal bölümlerde son spline hesabını etkilemeyecek noktaların kaldırılmasını kontrol eder.fuse_colocated_control_pointsise dünya uzayında belirlenen mesafe eşiği içinde kalan noktaların birleştirilmesini sağlar.Eşikleri dikkatle ayarlayın.
colocation_distance_threshold, hangi iki kontrol noktasının aynı konumda sayılacağını belirleyen mesafe eşiğidir.collinear_angle_thresholdise bir noktanın doğrusal kabul edilmesi için önceki ve sonraki noktalar arasındaki doğru parçasına göre kullanılacak açı eşiğidir. Belgeler bu özelliklerin türünü ve işlevini açıklar; belirli bir proje için önerilen değer vermez. Dolayısıyla eşikleri, spline’ın biçimini koruyacak şekilde sahne verisi üzerinde sınamak gerekir.Ölçüm uzayını ve açı birimini kontrol edin.
use_spline_local_space, mesafe hesabında dünya uzayı yerine spline’ın yerel uzayının kullanılmasını seçer.use_radiansetkinleştirildiğinde açı eşiği doğrudan radyanla kullanılır; özellik değiştiğinde mevcutCollinearAngleThresholddeğeri otomatik olarak dönüştürülür. Değerleri elle taşırken bu birim değişikliğini göz önünde bulundurun.Temizlenen spline boyunca mesh üretimini değerlendirin. PCGSpawnSplineMeshSettings, verilen spline üzerindeki her segment için bir Spline Mesh Component oluşturur. Bu nedenle spline temizleme adımının amacı, geometriyi değiştirmeden etkisiz noktaları azaltmaksa, temizleme ayarları mesh üretiminden önce değerlendirilmelidir. Kaynak belgeler bu iki sınıfın belirli bir grafikte nasıl bağlanacağını göstermediği için, bu sıralama bir uygulama önerisidir; hazır bir bağlantı şeması değildir.
Mesh özelliklerini ve yüklemeyi gözden geçirin.
spline_mesh_descriptormesh bileşeni tanımlayıcısını,spline_mesh_paramsise spline mesh parametrelerini sunar.synchronous_loadetkinleştirildiğinde mesh ve materyallerin eş zamanlı yüklenmesi zorlanır. Bu seçeneğin projedeki yükleme davranışına etkisini değerlendirin; belgeler performans sonucu veya hangi durumda tercih edilmesi gerektiğine ilişkin bir kural vermiyor.Geçersiz kılma ve son işlem sınırlarını not edin.
spline_mesh_override_descriptions, spline mesh tanımlayıcısına yönelik geçersiz kılmaları belirtir. Belgede bunların şu an için yalnızca veri genelindeki nitelikleri desteklediği ve kontrol noktası başına geçersiz kılmaların çalışmadığı açıkça belirtiliyor.post_process_function_namesise mesh oluşturulduktan sonra hedef aktörde çağrılacak işlevlerin listesini alır. Bu işlevlerin parametresiz olması veCallInEditorişaretine sahip olması gerekir.
Sık yapılan hatalar
5.5 ve 5.7 belgelerini tek sürümün garantisi gibi yorumlamak: İki sınıf farklı sürümlere ait belgelenmiştir. Kullanılan sürümdeki özellikleri ayrı ayrı doğrulayın.
Eşik değerlerini ölçüsüzce artırmak: Mesafe ve açı eşikleri temizleme kararını etkiler. Kaynaklarda genel geçer bir ideal değer yoktur; spline biçimini koruyup korumadığını kontrol edin.
Kontrol noktası başına geçersiz kılma beklemek: Mesh geçersiz kılma açıklaması bu kullanımın desteklenmediğini söylüyor. Gereksinimi tasarlarken veri genelindeki sınırı hesaba katın.
use_radiansdeğişikliğini gözden kaçırmak: Açı birimi değiştiğinde mevcut eşik otomatik dönüştürülür. Başka bir ayar veya iş akışından değer aktarırken hangi birimin kullanıldığını doğrulayın.Belgelenmeyen editör adımlarını varsaymak: Bu kaynaklar sınıf ve özellik açıklamalarıdır; belirli bir düğüm yerleşimi ya da çalıştırılabilir Python örneği sunmaz.
Mimarlık, iç mimarlık ve archviz iş akışında ne sağlar?
Spline tabanlı yol, bordür, korkuluk benzeri doğrusal elemanlar veya peyzaj sınırları üreten ekipler, etkisiz kontrol noktalarını ayıklama ve segmentler boyunca mesh oluşturma yaklaşımından yararlanabilir. Temizleme ayarları geometrinin biçimini koruma hedefiyle kullanılmalı; mesh üretimi içinse seçilen tanımlayıcı, parametreler ve yükleme davranışı projede ayrıca değerlendirilmelidir. Özellikle birden fazla Unreal Engine sürümünün kullanıldığı ekiplerde API uyumluluğu göz ardı edilmemelidir.
Bu belgeler donanım gereksinimi, performans kazancı veya lisans koşulu belirtmiyor. Bu nedenle spline temizliğinin ya da eş zamanlı yüklemenin belirli bir bilgisayarda nasıl performans vereceğine dair sonuç çıkarmak mümkün değil. Büyük sahnelerde kullanılacak ayarları, asıl proje ve hedeflenen sürüm içinde sınamak; deneysel Python API özelliklerini üretim sürecine almadan önce uyumluluğu doğrulamak en temkinli yaklaşımdır.
Sonraki adımlar
Önce seçilen Unreal Engine sürümünün PCG Python API belgelerini açıp iki sınıfın özelliklerini o sürümde karşılaştırın. Ardından küçük bir test spline’ında kontrol noktası temizleme ayarlarını değiştirerek biçim üzerindeki etkisini gözlemleyin. Mesh üretimi tarafında ise descriptor, parametreler ve veri genelindeki geçersiz kılma sınırlarını kontrol edin. Üretim sahnesine geçmeden önce proje ekibinin kullandığı sürümde işlevlerin bulunup bulunmadığını ve beklenen sonucu verdiğini doğrulayın.
Kaynak ve lisans
Bu rehber, Epic Games’in Unreal Engine 5.7 deneysel Python API belgesindeki PCGCleanSplineSettings açıklamasından ve Unreal Engine 5.5 deneysel Python API belgesindeki PCGSpawnSplineMeshSettings açıklamasından yararlanılarak Türkçeye uyarlanmıştır. Her iki kaynak da resmî dokümantasyondur ve kaynak kayıtlarında lisans serbest olarak belirtilmiştir.
Sık sorulan sorular
Unreal Engine PCGCleanSplineSettings ne işe yarar?
Spline üzerindeki aynı konumdaki veya doğrusal bölümlerde gereksiz kalan kontrol noktalarını temizlemeye yönelik ayarlar sunar. Mesafe ve açı eşikleriyle hangi noktaların bu kapsama gireceği belirlenir.
PCGSpawnSplineMeshSettings spline boyunca nasıl mesh üretir?
Verilen spline’ın her segmenti için bir Spline Mesh Component oluşturur. Mesh tanımlayıcısı, spline mesh parametreleri ve eş zamanlı yükleme gibi ayarlar belgelenmiştir.
Spline mesh geçersiz kılmaları kontrol noktası başına uygulanabilir mi?
Belgedeki açıklamaya göre geçersiz kılmalar şu an için veri genelindeki nitelikleri destekler; kontrol noktası başına geçersiz kılmalar çalışmaz.
Kaynaklar
2 kaynakKaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.
Spline temizleme ile segment bazlı mesh üretimini aynı üretim hattında değerlendirmek, tekrarlanan doğrusal elemanların düzenlenmesini kolaylaştırabilecek bir yaklaşım. Mimarlık ve archviz ekipleri için asıl değer, ayarları sahneye ve spline’ın amacına göre sınamakta yatıyor; belgelerde hazır eşik değerleri ya da performans ölçümleri yok.
Türkiye’deki ofisler ve öğrenciler için başlangıç maliyeti hakkında bu kaynaklardan bir sonuç çıkarmak mümkün değil; lisans koşulları ve donanım gereksinimleri de açıklanmıyor. Üretim kararı öncesinde sürüm farklarını, özellikle 5.5 ve 5.7 belgelerinin ayrı sınıfları anlattığını ve API’nin deneysel Python dokümantasyonunda yer aldığını dikkate almak gerekir.




Yorumlar 0