Bir LCC sahnesini düzlemle kesen ve düzlemin bir tarafını koruyan kesit düzlemi Actor'ı.
| Modül | LCC4UnrealRuntime |
| Header | Tools/LCCSectionPlane.h |
| Üst sınıf | AVolume |
| Panelde görünen ad | LCC Section Plane |
#include "Tools/LCCSectionPlane.h"
Kullanım adımları, bir gösterim ve özellik paneli açıklaması için Sahne Düzenleme - Section Planes sayfasına bakın. Bu sayfada yalnızca arayüzler listelenir.
Düzenleyici, düzlemin yönünü gösteren bir ok bileşeni gösterir; okun işaret ettiği taraf Upside tarafıdır.
Özellikler
| Özellik | Tür | Açıklama |
|---|---|---|
bEnabled | bool | Kesite katılıp katılmadığı |
Mode | ESectionType | Upside düzlemin üstünde kalanı keser, Downside düzlemin altında kalanı keser |
Üst ve alt, dünya koordinatlarına göre değil, düzlemin kendi yönüne göre belirlenir. Kesit düzlemini döndürerek herhangi bir yönde kesit alabilirsiniz. Değerlerin anlamı için ESectionType sayfasına bakın.
İki özelliğin hiçbirinde Setter yoktur; doğrudan atama yapın. Çalışma zamanında bir özellikte veya dönüşümde yapılan değişiklik sonraki karede etkili olur, görüntüleme tarafını elle bilgilendirmeniz gerekmez.
Metotlar
SetUpdateComponent / Refresh (kullanımdan kaldırıldı)
UFUNCTION(BlueprintCallable, Category = "XGrids", meta = (DeprecatedFunction))
void SetUpdateComponent(ULCCComponentBase* Component);
UFUNCTION(BlueprintCallable, Category = "XGrids", meta = (DeprecatedFunction))
void Refresh();
Her iki yöntem de kullanımdan kaldırılmıştır ve boş işlem (no-op) olarak uygulanmıştır; çağrılmaları hiçbir etki yapmaz ve hata oluşturmaz.
Kesit verileri artık her karede okunur; bu nedenle özellik ve dönüşüm değişiklikleri görüntüye bir sonraki karede yansır. Önce SetUpdateComponent ile bağlama yapıp her değişiklikten sonra Refresh() çağırma yöntemi artık gerekli değildir.
Mevcut çağrılar doğrudan kaldırılabilir. Blueprint'te bu iki düğüm kullanımdan kaldırma uyarısı gösterir; çözüm düğümü silmektir.
Çalışma Zamanında Oluşturma
#include "Tools/LCCSectionPlane.h"
#include "LCCComponentBase.h"
ALCCSectionPlane* AMyTool::CreateSectionPlane(
ULCCComponentBase* Component, const FVector& Location, const FRotator& Rotation)
{
ALCCSectionPlane* Plane = GetWorld()->SpawnActor<ALCCSectionPlane>(
ALCCSectionPlane::StaticClass(), Location, Rotation);
if (!Plane)
{
return nullptr;
}
Plane->Mode = ESectionType::Upside; // cut away what is above the plane
Plane->bEnabled = true;
Component->AddSectionPlane(Plane);
return Plane;
}
Yaygın birkaç yapılandırma:
| Etki | Konum ve Döndürme | Mod |
|---|---|---|
| Bina iç mekânının yukarıdan görünümü | Belirli bir yükseklik, FRotator::ZeroRotator | Upside |
| Bir cepheyi görüntülemek için dikey kesit | Düzlemi dikey yapmak için FRotator(0, 0, 90) | Upside |
| Yalnızca orta katmanı tutun | Bir düzlem üstte, bir düzlem altta | Alt sınır için Downside, üst sınır için Upside |
Kesit düzlemini hareket ettirmek katman katman ortaya çıkarma animasyonu oluşturur; yapmanız gereken tek şey konumu her karede değiştirmektir:
FVector Loc = SectionPlane->GetActorLocation();
Loc.Z = FMath::FInterpTo(Loc.Z, TargetHeight, DeltaTime, 1.0f);
SectionPlane->SetActorLocation(Loc);
Özellik değişiklikleri de aynı şekilde doğrudan uygulanır:
SectionPlane->bEnabled = false;
Blueprint düğümleri için Sahne Düzenleme - Blueprint Methods sayfasına bakın.
Notlar
- Kesit alma yalnızca görüntülemeyi etkiler, çarpışmayı etkilemez. Kesilerek ayrılmış bir parçaya yine de ışın çarpabilir ve bu parça karakteri engellemeye devam eder.
UpsideveDownside, düzlemin kendi yönüne göre belirlenir. Döndürmeden sonra hangi tarafın "yukarı" olduğunu yeniden kontrol edin; en doğrudan yol editördeki oka bakmaktır.- Z ölçeği oluşturma sırasında 0,01 olarak ayarlanır (ince bir dilim) ve editörde ölçeği değiştirmek bu değere geri döndürülür. Çalışma zamanında yapılan ölçek değişikliği bu kısıtlamaya tabi değildir, ancak normalde değişiklik gerekmez.
- Aynı anda etkin olan kesit düzlemi sayısı sınırlıdır; lisans olmadan bu sınır 50'dir. Fazla düzlemler görüntülemeye katılmaz ve günlüğe bir uyarı yazılır. Kesit düzlemleri ve kırpma hacimleri bu kotayı paylaşır. Lisanslama için Sürümler ve Lisanslama bölümüne bakın.
- Bir kesit düzlemini yok etmek yalnızca bir görüntü güncellemesi tetikler ve öğeyi Component'in
SectionPlanesdizisinden kaldırmaz; dizide eski bir işaretçi kalır (görüntüleme sırasında otomatik olarak atlanır). Diziyi temiz tutmak için yok etmeden önceRemoveSectionPlaneçağırın.
Ayrıca Bakın
- Sahne Düzenleme: kullanımın tam açıklaması
- ALCCClippingVolume: sınırlı bir hacimle kırpma
- ULCCComponentBase:
AddSectionPlaneveRemoveSectionPlane
Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

