Mostly Harmless
UE3:ProcBuilding (UDK)
Contents
- 1 Constants
- 2 Properties
- 2.1 Property group 'Debug'
- 2.2 Property group 'ProcBuilding'
- 2.2.1 bApplyRulesToFloor
- 2.2.2 bApplyRulesToRoof
- 2.2.3 bBuildingBrushCollision
- 2.2.4 bGenerateFloorMesh
- 2.2.5 bGenerateRoofMesh
- 2.2.6 bSplitWallsAtRoofLevels
- 2.2.7 bSplitWallsAtWallEdges
- 2.2.8 BuildingFracMeshCompInfos
- 2.2.9 BuildingMaterialParams
- 2.2.10 BuildingMeshCompInfos
- 2.2.11 LODRenderToTextureLightingSize
- 2.2.12 LODRenderToTextureSize
- 2.2.13 LowLODPersistentActor
- 2.2.14 NonRectWallLightmapRes
- 2.2.15 RenderToTexturePullBackAmount
- 2.2.16 RoofLightmapRes
- 2.2.17 Ruleset
- 2.2.18 SimpleMeshComp
- 2.2.19 SimpleMeshMassiveLODDistance
- 2.3 Internal variables
- 2.3.1 AttachedBuildings
- 2.3.2 bQuickEdited
- 2.3.3 BuildingInstanceVersion
- 2.3.4 BuildingMatParamMICs
- 2.3.5 CurrentSimpleMeshActor
- 2.3.6 CurrentSimpleMeshComp
- 2.3.7 EdgeInfos
- 2.3.8 LODMeshComps
- 2.3.9 LODMeshUVInfos
- 2.3.10 MaxFacadeZ
- 2.3.11 MinFacadeZ
- 2.3.12 NumMeshedTopLevelScopes
- 2.3.13 OverlappingBuildings
- 2.3.14 TopLevelScopeInfos
- 2.3.15 TopLevelScopes
- 2.3.16 TopLevelScopeUVInfos
- 2.4 Default values
- 2.5 Subobjects
- 3 Enums
- 4 Structs
- 5 Native functions
- Package:
- Engine
This is an auto-generated page and may need human attention. Please remove the {{autogenerated}} tag if the page seems reasonably complete or replace it with the {{expand}} tag if the page is not yet complete. |
Constants[edit]
ROOF_MINZ[edit]
Value: 0.7
If the normal Z component is greater than this, its a roof
PROCBUILDING_VERSION[edit]
Value: 1
Global building version. Increase this to force a re-gen of building meshes.
Properties[edit]
Property group 'Debug'[edit]
bDebugDrawEdgeInfo[edit]
Type: bool
If TRUE, show face->edge relationships when this building is selected.
bDebugDrawScopes[edit]
Type: bool
If TRUE, show scopes extracted from brushes.
Property group 'ProcBuilding'[edit]
bApplyRulesToFloor[edit]
Type: bool
If TRUE, meshing rules are applied to floor of building, instead of just leaving it as a flat poly
bApplyRulesToRoof[edit]
Type: bool
If TRUE, meshing rules are applied to roof of building, instead of just leaving it as a flat poly
bBuildingBrushCollision[edit]
Type: bool
Controls if the simple brush has collision.
Default value: True
bGenerateFloorMesh[edit]
Type: bool
If TRUE, generate a poly to fill the hole on the bottom of the building volume
bGenerateRoofMesh[edit]
Type: bool
If TRUE, generate a poly to fill the hole on the top of the building
Default value: True
bSplitWallsAtRoofLevels[edit]
Type: bool
If TRUE, wall scopes will be split at each roof/floor level in the building group.
Default value: True
bSplitWallsAtWallEdges[edit]
Type: bool
If TRUE, wall scopes will be split when another wall ends in the middle of a face.
Default value: True
BuildingFracMeshCompInfos[edit]
Type: array<PBFracMeshCompInfo>
Modifiers: const, editconst
Array of information about each fractured mesh making up the final building
BuildingMaterialParams[edit]
Type: array<PBMaterialParam>
Optional parameters than are set on all MICs applied to building.
BuildingMeshCompInfos[edit]
Type: array<PBMeshCompInfo>
Modifiers: const, editconst
Array of information about each component making up the final building
LODRenderToTextureLightingSize[edit]
Type: int
The size of the lighting texture applied to low LOD building, generated using render-to-texture
Default value: 256
LODRenderToTextureSize[edit]
Type: int
The size of the diffuse texture applied to low LOD of building, generated using render-to-texture.
Default value: 1024
LowLODPersistentActor[edit]
Type: StaticMeshActor
Modifiers: const, editconst, crosslevelpassive
Since we want the low lod mesh of the building to be always loaded, we need an actor in the P map (or other always loaded level); this is that actor
NonRectWallLightmapRes[edit]
Type: int
Light map resolution used for generated non-rectangular wall meshes
Default value: 64
RenderToTexturePullBackAmount[edit]
Type: float
Amount to pull back from the face to render from (caging depth). Nearby meshes closer than this will be rendered into the buildings RTT.
Default value: 125.0
RoofLightmapRes[edit]
Type: int
Light map resolution used for generated roof plane mesh
Default value: 64
Ruleset[edit]
Type: ProcBuildingRuleset
Pointer to ruleset in package used to build facade geometry for building
SimpleMeshComp[edit]
Type: StaticMeshComponent
Modifiers: const, editconst
Component used to display simple one-mesh version of building
SimpleMeshMassiveLODDistance[edit]
Type: float
Distance at which MassiveLOD will kick in and change between high detail meshes and the SimpleMeshComp / LowLODPersistentActor
Default value: 10000.0
Internal variables[edit]
AttachedBuildings[edit]
Type: array<ProcBuilding>
Set of buildings which are directly attached to this one (using Base pointer)
bQuickEdited[edit]
Type: bool
Modifiers: transient
If TRUE, this actor has been edited in 'quick' mode, and needs regen-ing when quick mode exits.
BuildingInstanceVersion[edit]
Type: int
Modifiers: const
Current version of building - set to PROCBUILDING_VERSION when building meshed.
BuildingMatParamMICs[edit]
Type: array<MaterialInstanceConstant>
Array of MICs created to set BuildingMaterialParams on meshes in this building.
CurrentSimpleMeshActor[edit]
Type: Actor
Modifiers: transient
This is the actor that owns the simple mesh component (either the building itself, or the LowLODPersistentActor) (transient as it's only valid while updating building)
CurrentSimpleMeshComp[edit]
Type: StaticMeshComponent
Modifiers: transient
This is the low detail component, either owned by this actor or in another level (transient as it's only really valid while updating building)
EdgeInfos[edit]
Type: array<PBEdgeInfo>
Set of all edges between scopes, indicating which scopes the edge connects, as well as angle and location
LODMeshComps[edit]
Type: array<StaticMeshComponent>
Modifiers: const
Components that are used for intermediate LOD, which should be hidden when generating render-to-texture
LODMeshUVInfos[edit]
Type: array<PBFaceUVInfo>
UV Information about quads used for intermediate LOD - each element corresponds to element in LODMeshComps
MaxFacadeZ[edit]
Type: float
Top-most z value of facade scopes
MinFacadeZ[edit]
Type: float
Bottom-most z value of facade scopes
NumMeshedTopLevelScopes[edit]
Type: int
This is the divider between TopLevelScopes that are used for meshing, and those used as bounds not non-rect polys for generating texture.
OverlappingBuildings[edit]
Type: array<ProcBuilding>
Modifiers: transient
Temporarty set of buildings that overlap this building.
TopLevelScopeInfos[edit]
Type: array<PBScopeProcessInfo>
Array of rulesets applied to each TopLevelScope of building
TopLevelScopes[edit]
List of the top level rectangular scopes building
TopLevelScopeUVInfos[edit]
Type: array<PBFaceUVInfo>
List of UV info for each top level scope, should match size of TopLevelScopes.
Default values[edit]
Property | Value | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
bBlockActors | True | ||||||||||
bColored | True | ||||||||||
bGameRelevant | True | ||||||||||
bHidden | False | ||||||||||
bMovable | False | ||||||||||
bPathColliding | True | ||||||||||
bRouteBeginPlayEvenIfStatic | False | ||||||||||
BrushColor |
|
||||||||||
bWorldGeometry | True | ||||||||||
CollisionType | COLLIDE_CustomDefault |
Subobjects[edit]
BrushComponent0[edit]
Class: Engine.BrushComponent
Inherits from: Volume.BrushComponent0
Property | Value |
---|---|
bDisableAllRigidBody | False |
BlockActors | True |
BlockRigidBody | True |
RBChannel | RBCC_BlockingVolume |
ReplacementPrimitive | None |
Enums[edit]
EPBCornerType[edit]
Enum for choosing how to adjust roof/floor poly to fit with corner meshes
- EPBC_Default
- EPBC_Chamfer
- EPBC_Round
EScopeEdge[edit]
Enum used for indicating a particular edge of a scope
- EPSA_Top
- EPSA_Bottom
- EPSA_Left
- EPSA_Right
- EPSA_None
Structs[edit]
PBEdgeInfo[edit]
Modifiers: native
Struct that contains info about an edge between two scopes.
- Object.Vector EdgeEnd
- End point (in building space) of this edge
- Object.Vector EdgeStart
- Start point (in building space) of this edge
- int ScopeAIndex
- Index of first scope that meets at this edge, in the ToplevelScopes array
- EScopeEdge ScopeAEdge
- What edge of ScopeA this edge forms
- int ScopeBIndex
- Index of second scope that meets at this edge, in the ToplevelScopes array
- EScopeEdge ScopeBEdge
- What edge of ScopeB this edge forms
- float EdgeAngle
- Angle at this edge, in degrees. 0 means flat, positive is convex (outside) corner, negative is interior
PBFaceUVInfo[edit]
Modifiers: native
Struct that contains information about the UVs of one face in the low detail mesh
- Object.Vector2D Offset
- Offset into the texture page
- Object.Vector2D Size
- Size of the face's region in the texture page
PBFracMeshCompInfo[edit]
Modifiers: native
- FracturedStaticMeshComponent FracMeshComp
- Fractured mesh instance used to make up facade
- int TopLevelScopeIndex
- Index into TopLevelScopes of scope that this mesh makes up part of
PBMaterialParam[edit]
Modifiers: native
Struct used to store information for building-wide material instances
- name ParamName
- Name of parameter to set in all building MICs
- Object.LinearColor Color
- Value to set parameter to in all building MICs
PBMeshCompInfo[edit]
Modifiers: native
Struct that gives information about each component making up the facades of a building
- StaticMeshComponent MeshComp
- Mesh instance used to make up facade
- int TopLevelScopeIndex
- Index into TopLevelScopes of scope that this mesh makes up part of
PBScope2D[edit]
Modifiers: native
Struct that defines a 2D 'scope' - region of a building face
- Object.Matrix ScopeFrame
- Transform (in actor space) of the bottom-left corner of scope
- float DimX
- Size of scope along its X axis
- float DimZ
- Size of scope along its Z axis
PBScopeProcessInfo[edit]
Modifiers: native
Additional information about each scope of the building
- ProcBuilding OwningBuilding
- Building (could be 'child' building) that generated this scope.
- ProcBuildingRuleset Ruleset
- Which building ruleset is applied to this scope
- name RulesetVariation
- Name of the ruleset variation desired on this scope
- bool bGenerateLODPoly
- Whether we want to generate a RTT poly for this scope in the low LOD building
- bool bPartOfNonRect
- If this scope is within non-rectangular polygon.
Native functions[edit]
BreakFractureComponent[edit]
Will break pieces off the specified fracture component that are within the specified box.
ClearBuildingMeshes[edit]
Remove all the building meshes from this building
FindComponentsForTopLevelScope[edit]
Util for finding all building components that form one top level scope.
FindEdgeForTopLevelScope[edit]
Given an index of a scope in the TopLevelsScopes array (and which edge of that scope), returns index into EdgeInfos with that edge's info. Value of INDEX_NONE may be returned, indicating edge could not be found, which may indicate this is a scope-poly edge instead of scope-scope.
GetAllGroupedProcBuildings[edit]
Get the set of all ProcBuildings (including this one) that are grouped together (using Base pointer)
GetBaseMostBuilding[edit]
Walks up Base chain to find the root building of the attachment chain