MeshBaker
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
MB2_LODManager Class Reference

Inherits MonoBehaviour.

Classes

struct  BakeDiagnostic
 
class  BakerPrototype
 

Public Types

enum  ChangeType { ChangeType.changeAdd, ChangeType.changeRemove, ChangeType.changeUpdate }
 

Public Member Functions

void SetupHierarchy (MB2_LOD lod)
 
void RemoveClustersIntersecting (Bounds bnds)
 
void AddDirtyCombinedMesh (LODCombinedMesh c)
 
string GetStats ()
 
MB2_LODCamera [] GetCameras ()
 
void AddBaker (BakerPrototype bp)
 
void RemoveBaker (BakerPrototype bp)
 
void AddCamera (MB2_LODCamera cam)
 
void RemoveCamera (MB2_LODCamera cam)
 
void LODDestroy (MB2_LOD lodComponent)
 
int GetNextFrameCheckOffset ()
 
float GetDistanceSqrToClosestPerspectiveCamera (Vector3 pos)
 
void ForceBakeAllDirty ()
 
void TranslateWorld (Vector3 translation)
 The purpose of this is so that a world can be "slipped" to the origin if the player has moved far from the origin to avoid floating point rounding problems. More...
 

Static Public Member Functions

static MB2_LODManager Manager ()
 
static T GetComponentInAncestor< T > (Transform tt, bool highest=false)
 

Public Attributes

MB2_LogLevel LOG_LEVEL = MB2_LogLevel.info
 
bool baking_enabled =true
 
float maxCombineTimePerFrame = .03f
 
bool ignoreLightmapping = true
 
BakerPrototype [] bakers
 
LODCheckScheduler checkScheduler
 
IComparer< LODCombinedMeshcombinedMeshPriorityComparer = new MB2_LODClusterComparer()
 
List< MB2_LODlimbo = new List<MB2_LOD>()
 
int numBakersPerGC = 2
 
BakeDiagnostic [] frameInfo
 
int statTotalNumBakes = 0
 
float statAveCombinedMeshBakeTime = .03f
 
float statMaxCombinedMeshBakeTime = 0f
 
float statMinCombinedMeshBakeTime = 100f
 
float statTotalCombinedMeshBakeTime = .03f
 
float statLastCombinedMeshBakeTime = 0f
 
int statLastNumBakes = 0
 
int statLastGCFrame = 0
 
float statLastGarbageCollectionTime = 0f
 
float statTotalGarbageCollectionTime = 0f
 
int statLastBakeFrame = 0
 
int statNumDirty = 0
 
int statNumSplit = 0
 
int statNumMerge = 0
 
float statLastMergeTime = 0
 
float statLastSplitTime = 0
 
float statLastCheckLODNeedToChangeTime = 0
 
float statTotalCheckLODNeedToChangeTime = 0
 

Static Public Attributes

static bool ENABLED = true
 
static bool CHECK_INTEGRITY = false
 

Member Enumeration Documentation

§ ChangeType

Enumerator
changeAdd 
changeRemove 
changeUpdate 

Member Function Documentation

§ AddBaker()

void MB2_LODManager.AddBaker ( BakerPrototype  bp)

§ AddCamera()

void MB2_LODManager.AddCamera ( MB2_LODCamera  cam)

§ AddDirtyCombinedMesh()

void MB2_LODManager.AddDirtyCombinedMesh ( LODCombinedMesh  c)

§ ForceBakeAllDirty()

void MB2_LODManager.ForceBakeAllDirty ( )

§ GetCameras()

MB2_LODCamera [] MB2_LODManager.GetCameras ( )

§ GetComponentInAncestor< T >()

static T MB2_LODManager.GetComponentInAncestor< T > ( Transform  tt,
bool  highest = false 
)
static
Type Constraints
T :Component 

§ GetDistanceSqrToClosestPerspectiveCamera()

float MB2_LODManager.GetDistanceSqrToClosestPerspectiveCamera ( Vector3  pos)

§ GetNextFrameCheckOffset()

int MB2_LODManager.GetNextFrameCheckOffset ( )

§ GetStats()

string MB2_LODManager.GetStats ( )

§ LODDestroy()

void MB2_LODManager.LODDestroy ( MB2_LOD  lodComponent)

§ Manager()

static MB2_LODManager MB2_LODManager.Manager ( )
static

§ RemoveBaker()

void MB2_LODManager.RemoveBaker ( BakerPrototype  bp)

§ RemoveCamera()

void MB2_LODManager.RemoveCamera ( MB2_LODCamera  cam)

§ RemoveClustersIntersecting()

void MB2_LODManager.RemoveClustersIntersecting ( Bounds  bnds)

§ SetupHierarchy()

void MB2_LODManager.SetupHierarchy ( MB2_LOD  lod)

§ TranslateWorld()

void MB2_LODManager.TranslateWorld ( Vector3  translation)

The purpose of this is so that a world can be "slipped" to the origin if the player has moved far from the origin to avoid floating point rounding problems.

This updates the the cluster bounds, and resets the lod positions if the world has been translated. Does NOT move the LOD game objects. These should be moved before TranslateWorld is called. This will move the combined meshes. This should be called in LateUpdate, after all LODs have been checked This is expensive so don't call it frequently.

Parameters
translationTranslation.

Member Data Documentation

§ bakers

BakerPrototype [] MB2_LODManager.bakers

§ baking_enabled

bool MB2_LODManager.baking_enabled =true

§ CHECK_INTEGRITY

bool MB2_LODManager.CHECK_INTEGRITY = false
static

§ checkScheduler

LODCheckScheduler MB2_LODManager.checkScheduler

§ combinedMeshPriorityComparer

IComparer<LODCombinedMesh> MB2_LODManager.combinedMeshPriorityComparer = new MB2_LODClusterComparer()

§ ENABLED

bool MB2_LODManager.ENABLED = true
static

§ frameInfo

BakeDiagnostic [] MB2_LODManager.frameInfo

§ ignoreLightmapping

bool MB2_LODManager.ignoreLightmapping = true

§ limbo

List<MB2_LOD> MB2_LODManager.limbo = new List<MB2_LOD>()

§ LOG_LEVEL

MB2_LogLevel MB2_LODManager.LOG_LEVEL = MB2_LogLevel.info

§ maxCombineTimePerFrame

float MB2_LODManager.maxCombineTimePerFrame = .03f

§ numBakersPerGC

int MB2_LODManager.numBakersPerGC = 2

§ statAveCombinedMeshBakeTime

float MB2_LODManager.statAveCombinedMeshBakeTime = .03f

§ statLastBakeFrame

int MB2_LODManager.statLastBakeFrame = 0

§ statLastCheckLODNeedToChangeTime

float MB2_LODManager.statLastCheckLODNeedToChangeTime = 0

§ statLastCombinedMeshBakeTime

float MB2_LODManager.statLastCombinedMeshBakeTime = 0f

§ statLastGarbageCollectionTime

float MB2_LODManager.statLastGarbageCollectionTime = 0f

§ statLastGCFrame

int MB2_LODManager.statLastGCFrame = 0

§ statLastMergeTime

float MB2_LODManager.statLastMergeTime = 0

§ statLastNumBakes

int MB2_LODManager.statLastNumBakes = 0

§ statLastSplitTime

float MB2_LODManager.statLastSplitTime = 0

§ statMaxCombinedMeshBakeTime

float MB2_LODManager.statMaxCombinedMeshBakeTime = 0f

§ statMinCombinedMeshBakeTime

float MB2_LODManager.statMinCombinedMeshBakeTime = 100f

§ statNumDirty

int MB2_LODManager.statNumDirty = 0

§ statNumMerge

int MB2_LODManager.statNumMerge = 0

§ statNumSplit

int MB2_LODManager.statNumSplit = 0

§ statTotalCheckLODNeedToChangeTime

float MB2_LODManager.statTotalCheckLODNeedToChangeTime = 0

§ statTotalCombinedMeshBakeTime

float MB2_LODManager.statTotalCombinedMeshBakeTime = .03f

§ statTotalGarbageCollectionTime

float MB2_LODManager.statTotalGarbageCollectionTime = 0f

§ statTotalNumBakes

int MB2_LODManager.statTotalNumBakes = 0

The documentation for this class was generated from the following file: