Initial commit: Vertical Partition Streaming plugin (UE 5.7)
Bounded vertical route partition / streaming for handcrafted spiral climb maps (Only Up / Only Climb). Not World Partition, not Level Instances as core arch. - Z-cell segmentation + optional XY subcells, editor builder + commandlet - NonDestructive visibility backend + streaming-level backend - Offline HLOD proxies: MergedMesh / SimplifiedProxy (ProxyLOD) - Universal Level Instance + Packed Level Actor + HISM support (flatten+merge) - Vertical-aware runtime streamer (full/preload/HLOD/unload, hysteresis, velocity prediction, fall-risk), WP-style debug viz + vp.* console - Safe-by-default: only static decor streams; sky/lights/gameplay stay persistent Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -0,0 +1,32 @@
|
||||
// Copyright IHY. Vertical Partition Streaming plugin.
|
||||
#include "VerticalPartitionDescriptor.h"
|
||||
|
||||
int32 UVerticalPartitionDescriptor::FindCellIndex(const FVerticalCellId& Id) const
|
||||
{
|
||||
for (int32 i = 0; i < Cells.Num(); ++i)
|
||||
{
|
||||
if (Cells[i].CellId == Id)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return INDEX_NONE;
|
||||
}
|
||||
|
||||
const FVerticalCellDescriptor* UVerticalPartitionDescriptor::FindCell(const FVerticalCellId& Id) const
|
||||
{
|
||||
const int32 Index = FindCellIndex(Id);
|
||||
return Cells.IsValidIndex(Index) ? &Cells[Index] : nullptr;
|
||||
}
|
||||
|
||||
bool UVerticalPartitionDescriptor::HasFullPackages() const
|
||||
{
|
||||
for (const FVerticalCellDescriptor& Cell : Cells)
|
||||
{
|
||||
if (Cell.FullCellPackage.IsValid())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user