# Unreal Engine PCG ile spline temizleme ve spline mesh üretimi

Kaynak: https://3dsinifi.com/haber/unreal-engine-pcg-ile-spline-temizleme-ve-spline-mesh · Kategori: Eğitimler · Yayın: 12 Kasım 2026

> Bu rehber, Unreal Engine PCG’de spline üzerindeki gereksiz kontrol noktalarını azaltma ve spline segmentlerine mesh üretme ayarlarını açıklar. Örnekler, farklı sürümlere ait resmî Python API belgelerine dayanır.

## 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ı

1. **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.

2. **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_points` doğrusal bölümlerde son spline hesabını etkilemeyecek noktaların kaldırılmasını kontrol eder. `fuse_colocated_control_points` ise dünya uzayında belirlenen mesafe eşiği içinde kalan noktaların birleştirilmesini sağlar.

3. **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_threshold` ise 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.

4. **Ö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_radians` etkinleştirildiğinde açı eşiği doğrudan radyanla kullanılır; özellik değiştiğinde mevcut `CollinearAngleThreshold` değ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.

5. **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.

6. **Mesh özelliklerini ve yüklemeyi gözden geçirin.** `spline_mesh_descriptor` mesh bileşeni tanımlayıcısını, `spline_mesh_params` ise spline mesh parametrelerini sunar. `synchronous_load` etkinleş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.

7. **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_names` ise mesh oluşturulduktan sonra hedef aktörde çağrılacak işlevlerin listesini alır. Bu işlevlerin parametresiz olması ve `CallInEditor` iş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_radians` değ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.

## Pro ipucu
Açı eşiğiyle çalışırken `use_radians` ayarını ve mevcut eşik değerinin otomatik dönüştürülebileceğini kontrol edin.

## 3dsınıfı yorumu
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.

## Kaynaklar
- [dev.epicgames.com](http://dev.epicgames.com/documentation/en-us/unreal-engine/python-api/class/PCGCleanSplineSettings?application_version=5.7) (özet)
- [dev.epicgames.com](http://dev.epicgames.com/documentation/en-us/unreal-engine/python-api/class/PCGSpawnSplineMeshSettings?application_version=5.5) (özet)

_Yapay zekâ ile yazıldı, kaynaklarla doğrulandı. © 3dsınıfı_
