Cesium for Unreal 2.12.0
Loading...
Searching...
No Matches
ACesium3DTileset Class Reference

#include <Cesium3DTileset.h>

Inheritance diagram for ACesium3DTileset:

Public Member Functions

 ACesium3DTileset ()
 
virtual ~ACesium3DTileset ()
 
EComponentMobility::Type GetMobility () const
 
void SetMobility (EComponentMobility::Type NewMobility)
 
void SampleHeightMostDetailed (const TArray< FVector > &LongitudeLatitudeHeightArray, FCesiumSampleHeightMostDetailedCallback OnHeightsSampled)
 Initiates an asynchronous query for the height of this tileset at a list of cartographic positions, where the Longitude (X) and Latitude (Y) are given in degrees.
 
TSoftObjectPtr< ACesiumGeoreferenceGetGeoreference () const
 The designated georeference actor controlling how the actor's coordinate system relates to the coordinate system in this Unreal Engine level.
 
void SetGeoreference (TSoftObjectPtr< ACesiumGeoreference > NewGeoreference)
 The designated georeference actor controlling how the actor's coordinate system relates to the coordinate system in this Unreal Engine level.
 
ACesiumGeoreferenceResolveGeoreference ()
 Resolves the Cesium Georeference to use with this Actor.
 
void InvalidateResolvedGeoreference ()
 Invalidates the cached resolved georeference, unsubscribing from it and setting it to null.
 
TSoftObjectPtr< ACesiumCreditSystemGetCreditSystem () const
 The actor managing this tileset's content attributions.
 
void SetCreditSystem (TSoftObjectPtr< ACesiumCreditSystem > NewCreditSystem)
 The actor managing this tileset's content attributions.
 
ACesiumCreditSystemResolveCreditSystem ()
 Resolves the Cesium Credit System to use with this Actor.
 
void InvalidateResolvedCreditSystem ()
 Invalidates the cached resolved Credit System, setting it to null.
 
TSoftObjectPtr< ACesiumCameraManagerGetCameraManager () const
 The actor providing custom cameras for use with this Tileset.
 
void SetCameraManager (TSoftObjectPtr< ACesiumCameraManager > NewCameraManager)
 The actor providing custom cameras for use with this Tileset.
 
ACesiumCameraManagerResolveCameraManager ()
 Resolves the Cesium Camera Manager to use with this Actor.
 
void InvalidateResolvedCameraManager ()
 Invalidates the cached resolved Camera Manager, setting it to null.
 
void RefreshTileset ()
 Refreshes this tileset, ensuring that all materials and other settings are applied.
 
float GetLoadProgress () const
 
bool GetUseLodTransitions () const
 
void SetUseLodTransitions (bool InUseLodTransitions)
 
ETilesetSource GetTilesetSource () const
 
void SetTilesetSource (ETilesetSource InSource)
 
FString GetUrl () const
 
void SetUrl (const FString &InUrl)
 
int64 GetIonAssetID () const
 
void SetIonAssetID (int64 InAssetID)
 
FString GetIonAccessToken () const
 
void SetIonAccessToken (const FString &InAccessToken)
 
UCesiumIonServerGetCesiumIonServer () const
 
void SetCesiumIonServer (UCesiumIonServer *Server)
 
double GetMaximumScreenSpaceError ()
 
void SetMaximumScreenSpaceError (double InMaximumScreenSpaceError)
 
bool GetEnableOcclusionCulling () const
 
void SetEnableOcclusionCulling (bool bEnableOcclusionCulling)
 
int32 GetOcclusionPoolSize () const
 
void SetOcclusionPoolSize (int32 newOcclusionPoolSize)
 
bool GetDelayRefinementForOcclusion () const
 
void SetDelayRefinementForOcclusion (bool bDelayRefinementForOcclusion)
 
bool GetCreatePhysicsMeshes () const
 
void SetCreatePhysicsMeshes (bool bCreatePhysicsMeshes)
 
bool GetCreateNavCollision () const
 
void SetCreateNavCollision (bool bCreateNavCollision)
 
bool GetAlwaysIncludeTangents () const
 
void SetAlwaysIncludeTangents (bool bAlwaysIncludeTangents)
 
bool GetGenerateSmoothNormals () const
 
void SetGenerateSmoothNormals (bool bGenerateSmoothNormals)
 
bool GetEnableWaterMask () const
 
void SetEnableWaterMask (bool bEnableMask)
 
bool GetIgnoreKhrMaterialsUnlit () const
 
void SetIgnoreKhrMaterialsUnlit (bool bIgnoreKhrMaterialsUnlit)
 
UMaterialInterface * GetMaterial () const
 
void SetMaterial (UMaterialInterface *InMaterial)
 
UMaterialInterface * GetTranslucentMaterial () const
 
void SetTranslucentMaterial (UMaterialInterface *InMaterial)
 
UMaterialInterface * GetWaterMaterial () const
 
void SetWaterMaterial (UMaterialInterface *InMaterial)
 
FCustomDepthParameters GetCustomDepthParameters () const
 
void SetCustomDepthParameters (FCustomDepthParameters InCustomDepthParameters)
 
FCesiumPointCloudShading GetPointCloudShading () const
 
void SetPointCloudShading (FCesiumPointCloudShading InPointCloudShading)
 
void PlayMovieSequencer ()
 
void StopMovieSequencer ()
 
void PauseMovieSequencer ()
 
const glm::dmat4 & GetCesiumTilesetToUnrealRelativeWorldTransform () const
 This method is not supposed to be called by clients.
 
Cesium3DTilesSelection::TilesetGetTileset ()
 
const Cesium3DTilesSelection::TilesetGetTileset () const
 
const std::optional< FCesiumFeaturesMetadataDescription > & getFeaturesMetadataDescription () const
 
virtual bool ShouldTickIfViewportsOnly () const override
 
virtual void Tick (float DeltaTime) override
 
virtual void BeginDestroy () override
 
virtual bool IsReadyForFinishDestroy () override
 
virtual void Destroyed () override
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual void PostLoad () override
 
virtual void Serialize (FArchive &Ar) override
 
void UpdateLoadStatus ()
 
void UpdateTransformFromCesium ()
 Update the transforms of the glTF components based on the the transform of the root component.
 

Public Attributes

bool ShowCreditsOnScreen = false
 Whether or not to show this tileset's credits on screen.
 
double MaximumScreenSpaceError = 16.0
 The maximum number of pixels of error when rendering this tileset.
 
EApplyDpiScaling ApplyDpiScaling = EApplyDpiScaling::UseProjectDefault
 Scale Level-of-Detail by Display DPI.
 
bool PreloadAncestors = true
 Whether to preload ancestor tiles.
 
bool PreloadSiblings = true
 Whether to preload sibling tiles.
 
bool ForbidHoles = false
 Whether to unrefine back to a parent tile when a child isn't done loading.
 
int32 MaximumSimultaneousTileLoads = 20
 The maximum number of tiles that may be loaded at once.
 
int64 MaximumCachedBytes = 256 * 1024 * 1024
 The maximum number of bytes that may be cached.
 
int32 LoadingDescendantLimit = 20
 The number of loading descendents a tile should allow before deciding to render itself instead of waiting.
 
bool EnableFrustumCulling = true
 Whether to cull tiles that are outside the frustum.
 
bool EnableFogCulling = true
 Whether to cull tiles that are occluded by fog.
 
bool EnforceCulledScreenSpaceError = false
 Whether a specified screen-space error should be enforced for tiles that are outside the frustum or hidden in fog.
 
double CulledScreenSpaceError = 64.0
 The screen-space error to be enforced for tiles that are outside the view frustum or hidden in fog.
 
bool CanEnableOcclusionCulling = false
 
bool EnableOcclusionCulling = true
 Whether to cull tiles that are occluded.
 
int32 OcclusionPoolSize = 500
 The number of CesiumBoundingVolumeComponents to use for querying the occlusion state of traversed tiles.
 
bool DelayRefinementForOcclusion = true
 Whether to wait for valid occlusion results before refining tiles.
 
bool SuspendUpdate
 Pauses level-of-detail and culling updates of this tileset.
 
bool UpdateInEditor = true
 If true, this tileset is ticked/updated in the editor.
 
bool LogSelectionStats = false
 If true, stats about tile selection are printed to the Output Log.
 
bool LogSharedAssetStats = false
 If true, logs stats on the assets in this tileset's shared asset system to the Output Log.
 
bool DrawTileInfo = false
 If true, draws debug text above each tile being rendered with information about that tile.
 
FBodyInstance BodyInstance
 Define the collision profile for all the 3D tiles created inside this actor.
 
FCompletedLoadTrigger OnTilesetLoaded
 A delegate that will be called whenever the tileset is fully loaded.
 
bool UseLodTransitions = false
 Use a dithering effect when transitioning between tiles of different LODs.
 
float LodTransitionLength = 0.5f
 How long dithered LOD transitions between different tiles should take, in seconds.
 

Protected Member Functions

virtual void BeginPlay () override
 
virtual void OnConstruction (const FTransform &Transform) override
 
void PostInitProperties () override
 Called after the C++ constructor and after the properties have been initialized, including those loaded from config.
 
virtual void NotifyHit (class UPrimitiveComponent *MyComp, AActor *Other, class UPrimitiveComponent *OtherComp, bool bSelfMoved, FVector HitLocation, FVector HitNormal, FVector NormalImpulse, const FHitResult &Hit) override
 

Protected Attributes

FString PlatformName
 

Friends

class UnrealResourcePreparer
 
class UCesiumGltfPointsComponent
 

Detailed Description

Definition at line 93 of file Cesium3DTileset.h.

Constructor & Destructor Documentation

◆ ACesium3DTileset()

ACesium3DTileset::ACesium3DTileset ( )

◆ ~ACesium3DTileset()

virtual ACesium3DTileset::~ACesium3DTileset ( )
virtual

Member Function Documentation

◆ BeginDestroy()

virtual void ACesium3DTileset::BeginDestroy ( )
overridevirtual

◆ BeginPlay()

virtual void ACesium3DTileset::BeginPlay ( )
overrideprotectedvirtual

◆ Destroyed()

virtual void ACesium3DTileset::Destroyed ( )
overridevirtual

◆ EndPlay()

virtual void ACesium3DTileset::EndPlay ( const EEndPlayReason::Type EndPlayReason)
overridevirtual

◆ GetAlwaysIncludeTangents()

bool ACesium3DTileset::GetAlwaysIncludeTangents ( ) const
inline

Definition at line 1032 of file Cesium3DTileset.h.

◆ GetCameraManager()

TSoftObjectPtr< ACesiumCameraManager > ACesium3DTileset::GetCameraManager ( ) const

The actor providing custom cameras for use with this Tileset.

If this is null, the Tileset will find and use the first CesiumCameraManager Actor in the level, or create one if necessary. To get the active/effective Camera Manager from Blueprints or C++, use ResolvedCameraManager instead.

◆ GetCesiumIonServer()

UCesiumIonServer * ACesium3DTileset::GetCesiumIonServer ( ) const
inline

Definition at line 988 of file Cesium3DTileset.h.

◆ GetCesiumTilesetToUnrealRelativeWorldTransform()

const glm::dmat4 & ACesium3DTileset::GetCesiumTilesetToUnrealRelativeWorldTransform ( ) const

This method is not supposed to be called by clients.

It is currently only required by the UnrealResourcePreparer.

◆ GetCreateNavCollision()

bool ACesium3DTileset::GetCreateNavCollision ( ) const
inline

Definition at line 1026 of file Cesium3DTileset.h.

◆ GetCreatePhysicsMeshes()

bool ACesium3DTileset::GetCreatePhysicsMeshes ( ) const
inline

Definition at line 1020 of file Cesium3DTileset.h.

◆ GetCreditSystem()

TSoftObjectPtr< ACesiumCreditSystem > ACesium3DTileset::GetCreditSystem ( ) const

The actor managing this tileset's content attributions.

If this is null, the Tileset will find and use the first Credit System Actor in the level, or create one if necessary. To get the active/effective Credit System from Blueprints or C++, use ResolvedCreditSystem instead.

◆ GetCustomDepthParameters()

FCustomDepthParameters ACesium3DTileset::GetCustomDepthParameters ( ) const
inline

Definition at line 1075 of file Cesium3DTileset.h.

◆ GetDelayRefinementForOcclusion()

bool ACesium3DTileset::GetDelayRefinementForOcclusion ( ) const
inline

Definition at line 1012 of file Cesium3DTileset.h.

◆ GetEnableOcclusionCulling()

bool ACesium3DTileset::GetEnableOcclusionCulling ( ) const

◆ GetEnableWaterMask()

bool ACesium3DTileset::GetEnableWaterMask ( ) const
inline

Definition at line 1044 of file Cesium3DTileset.h.

◆ getFeaturesMetadataDescription()

const std::optional< FCesiumFeaturesMetadataDescription > & ACesium3DTileset::getFeaturesMetadataDescription ( ) const
inline

Definition at line 1118 of file Cesium3DTileset.h.

◆ GetGenerateSmoothNormals()

bool ACesium3DTileset::GetGenerateSmoothNormals ( ) const
inline

Definition at line 1038 of file Cesium3DTileset.h.

◆ GetGeoreference()

TSoftObjectPtr< ACesiumGeoreference > ACesium3DTileset::GetGeoreference ( ) const

The designated georeference actor controlling how the actor's coordinate system relates to the coordinate system in this Unreal Engine level.

If this is null, the Tileset will find and use the first Georeference Actor in the level, or create one if necessary. To get the active/effective Georeference from Blueprints or C++, use ResolvedGeoreference instead.

◆ GetIgnoreKhrMaterialsUnlit()

bool ACesium3DTileset::GetIgnoreKhrMaterialsUnlit ( ) const
inline

Definition at line 1050 of file Cesium3DTileset.h.

◆ GetIonAccessToken()

FString ACesium3DTileset::GetIonAccessToken ( ) const
inline

Definition at line 982 of file Cesium3DTileset.h.

◆ GetIonAssetID()

int64 ACesium3DTileset::GetIonAssetID ( ) const
inline

Definition at line 976 of file Cesium3DTileset.h.

◆ GetLoadProgress()

float ACesium3DTileset::GetLoadProgress ( ) const
inline

Definition at line 955 of file Cesium3DTileset.h.

◆ GetMaterial()

UMaterialInterface * ACesium3DTileset::GetMaterial ( ) const
inline

Definition at line 1055 of file Cesium3DTileset.h.

◆ GetMaximumScreenSpaceError()

double ACesium3DTileset::GetMaximumScreenSpaceError ( )
inline

Definition at line 994 of file Cesium3DTileset.h.

◆ GetMobility()

EComponentMobility::Type ACesium3DTileset::GetMobility ( ) const
inline

Definition at line 114 of file Cesium3DTileset.h.

◆ GetOcclusionPoolSize()

int32 ACesium3DTileset::GetOcclusionPoolSize ( ) const
inline

Definition at line 1006 of file Cesium3DTileset.h.

◆ GetPointCloudShading()

FCesiumPointCloudShading ACesium3DTileset::GetPointCloudShading ( ) const
inline

Definition at line 1083 of file Cesium3DTileset.h.

◆ GetTileset() [1/2]

Cesium3DTilesSelection::Tileset * ACesium3DTileset::GetTileset ( )
inline

Definition at line 1110 of file Cesium3DTileset.h.

◆ GetTileset() [2/2]

const Cesium3DTilesSelection::Tileset * ACesium3DTileset::GetTileset ( ) const
inline

Definition at line 1113 of file Cesium3DTileset.h.

◆ GetTilesetSource()

ETilesetSource ACesium3DTileset::GetTilesetSource ( ) const
inline

Definition at line 964 of file Cesium3DTileset.h.

◆ GetTranslucentMaterial()

UMaterialInterface * ACesium3DTileset::GetTranslucentMaterial ( ) const
inline

Definition at line 1061 of file Cesium3DTileset.h.

◆ GetUrl()

FString ACesium3DTileset::GetUrl ( ) const
inline

Definition at line 970 of file Cesium3DTileset.h.

◆ GetUseLodTransitions()

bool ACesium3DTileset::GetUseLodTransitions ( ) const
inline

Definition at line 958 of file Cesium3DTileset.h.

◆ GetWaterMaterial()

UMaterialInterface * ACesium3DTileset::GetWaterMaterial ( ) const
inline

Definition at line 1069 of file Cesium3DTileset.h.

◆ InvalidateResolvedCameraManager()

void ACesium3DTileset::InvalidateResolvedCameraManager ( )

Invalidates the cached resolved Camera Manager, setting it to null.

The next time ResolveCameraManager is called, the Camera Manager will be re-resolved.

◆ InvalidateResolvedCreditSystem()

void ACesium3DTileset::InvalidateResolvedCreditSystem ( )

Invalidates the cached resolved Credit System, setting it to null.

The next time ResolveCreditSystem is called, the Credit System will be re-resolved.

◆ InvalidateResolvedGeoreference()

void ACesium3DTileset::InvalidateResolvedGeoreference ( )

Invalidates the cached resolved georeference, unsubscribing from it and setting it to null.

The next time ResolveGeoreference is called, the Georeference will be re-resolved and re-subscribed.

◆ IsReadyForFinishDestroy()

virtual bool ACesium3DTileset::IsReadyForFinishDestroy ( )
overridevirtual

◆ NotifyHit()

virtual void ACesium3DTileset::NotifyHit ( class UPrimitiveComponent * MyComp,
AActor * Other,
class UPrimitiveComponent * OtherComp,
bool bSelfMoved,
FVector HitLocation,
FVector HitNormal,
FVector NormalImpulse,
const FHitResult & Hit )
overrideprotectedvirtual

◆ OnConstruction()

virtual void ACesium3DTileset::OnConstruction ( const FTransform & Transform)
overrideprotectedvirtual

◆ PauseMovieSequencer()

void ACesium3DTileset::PauseMovieSequencer ( )

◆ PlayMovieSequencer()

void ACesium3DTileset::PlayMovieSequencer ( )

◆ PostInitProperties()

void ACesium3DTileset::PostInitProperties ( )
overrideprotected

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

◆ PostLoad()

virtual void ACesium3DTileset::PostLoad ( )
overridevirtual

◆ RefreshTileset()

void ACesium3DTileset::RefreshTileset ( )

Refreshes this tileset, ensuring that all materials and other settings are applied.

It is not usually necessary to invoke this, but when behind-the-scenes changes are made and not reflected in the tileset, this function can help.

◆ ResolveCameraManager()

ACesiumCameraManager * ACesium3DTileset::ResolveCameraManager ( )

Resolves the Cesium Camera Manager to use with this Actor.

Returns the value of the CameraManager property if it is set. Otherwise, finds a Camera Manager in the World and returns it, creating it if necessary. The resolved Camera Manager is cached so subsequent calls to this function will return the same instance.

◆ ResolveCreditSystem()

ACesiumCreditSystem * ACesium3DTileset::ResolveCreditSystem ( )

Resolves the Cesium Credit System to use with this Actor.

Returns the value of the CreditSystem property if it is set. Otherwise, finds a Credit System in the World and returns it, creating it if necessary. The resolved Credit System is cached so subsequent calls to this function will return the same instance.

◆ ResolveGeoreference()

ACesiumGeoreference * ACesium3DTileset::ResolveGeoreference ( )

Resolves the Cesium Georeference to use with this Actor.

Returns the value of the Georeference property if it is set. Otherwise, finds a Georeference in the World and returns it, creating it if necessary. The resolved Georeference is cached so subsequent calls to this function will return the same instance.

◆ SampleHeightMostDetailed()

void ACesium3DTileset::SampleHeightMostDetailed ( const TArray< FVector > & LongitudeLatitudeHeightArray,
FCesiumSampleHeightMostDetailedCallback OnHeightsSampled )

Initiates an asynchronous query for the height of this tileset at a list of cartographic positions, where the Longitude (X) and Latitude (Y) are given in degrees.

The most detailed available tiles are used to determine each height.

The height of the input positions is ignored, unless height sampling fails at that location. The output height is expressed in meters above the ellipsoid (usually WGS84), which should not be confused with a height above mean sea level.

Parameters
LongitudeLatitudeHeightArrayThe cartographic positions for which to sample heights. The Longitude (X) and Latitude (Y) are expressed in degrees, while Height (Z) is given in meters.
OnHeightsSampledA callback that is invoked in the game thread when heights have been sampled for all positions.

◆ Serialize()

virtual void ACesium3DTileset::Serialize ( FArchive & Ar)
overridevirtual

◆ SetAlwaysIncludeTangents()

void ACesium3DTileset::SetAlwaysIncludeTangents ( bool bAlwaysIncludeTangents)

◆ SetCameraManager()

void ACesium3DTileset::SetCameraManager ( TSoftObjectPtr< ACesiumCameraManager > NewCameraManager)

The actor providing custom cameras for use with this Tileset.

If this is null, the Tileset will find and use the first CesiumCameraManager Actor in the level, or create one if necessary. To get the active/effective Camera Manager from Blueprints or C++, use ResolvedCameraManager instead.

◆ SetCesiumIonServer()

void ACesium3DTileset::SetCesiumIonServer ( UCesiumIonServer * Server)

◆ SetCreateNavCollision()

void ACesium3DTileset::SetCreateNavCollision ( bool bCreateNavCollision)

◆ SetCreatePhysicsMeshes()

void ACesium3DTileset::SetCreatePhysicsMeshes ( bool bCreatePhysicsMeshes)

◆ SetCreditSystem()

void ACesium3DTileset::SetCreditSystem ( TSoftObjectPtr< ACesiumCreditSystem > NewCreditSystem)

The actor managing this tileset's content attributions.

If this is null, the Tileset will find and use the first Credit System Actor in the level, or create one if necessary. To get the active/effective Credit System from Blueprints or C++, use ResolvedCreditSystem instead.

◆ SetCustomDepthParameters()

void ACesium3DTileset::SetCustomDepthParameters ( FCustomDepthParameters InCustomDepthParameters)

◆ SetDelayRefinementForOcclusion()

void ACesium3DTileset::SetDelayRefinementForOcclusion ( bool bDelayRefinementForOcclusion)

◆ SetEnableOcclusionCulling()

void ACesium3DTileset::SetEnableOcclusionCulling ( bool bEnableOcclusionCulling)

◆ SetEnableWaterMask()

void ACesium3DTileset::SetEnableWaterMask ( bool bEnableMask)

◆ SetGenerateSmoothNormals()

void ACesium3DTileset::SetGenerateSmoothNormals ( bool bGenerateSmoothNormals)

◆ SetGeoreference()

void ACesium3DTileset::SetGeoreference ( TSoftObjectPtr< ACesiumGeoreference > NewGeoreference)

The designated georeference actor controlling how the actor's coordinate system relates to the coordinate system in this Unreal Engine level.

If this is null, the Tileset will find and use the first Georeference Actor in the level, or create one if necessary. To get the active/effective Georeference from Blueprints or C++, use ResolvedGeoreference instead.

◆ SetIgnoreKhrMaterialsUnlit()

void ACesium3DTileset::SetIgnoreKhrMaterialsUnlit ( bool bIgnoreKhrMaterialsUnlit)

◆ SetIonAccessToken()

void ACesium3DTileset::SetIonAccessToken ( const FString & InAccessToken)

◆ SetIonAssetID()

void ACesium3DTileset::SetIonAssetID ( int64 InAssetID)

◆ SetMaterial()

void ACesium3DTileset::SetMaterial ( UMaterialInterface * InMaterial)

◆ SetMaximumScreenSpaceError()

void ACesium3DTileset::SetMaximumScreenSpaceError ( double InMaximumScreenSpaceError)

◆ SetMobility()

void ACesium3DTileset::SetMobility ( EComponentMobility::Type NewMobility)

◆ SetOcclusionPoolSize()

void ACesium3DTileset::SetOcclusionPoolSize ( int32 newOcclusionPoolSize)

◆ SetPointCloudShading()

void ACesium3DTileset::SetPointCloudShading ( FCesiumPointCloudShading InPointCloudShading)

◆ SetTilesetSource()

void ACesium3DTileset::SetTilesetSource ( ETilesetSource InSource)

◆ SetTranslucentMaterial()

void ACesium3DTileset::SetTranslucentMaterial ( UMaterialInterface * InMaterial)

◆ SetUrl()

void ACesium3DTileset::SetUrl ( const FString & InUrl)

◆ SetUseLodTransitions()

void ACesium3DTileset::SetUseLodTransitions ( bool InUseLodTransitions)

◆ SetWaterMaterial()

void ACesium3DTileset::SetWaterMaterial ( UMaterialInterface * InMaterial)

◆ ShouldTickIfViewportsOnly()

virtual bool ACesium3DTileset::ShouldTickIfViewportsOnly ( ) const
overridevirtual

◆ StopMovieSequencer()

void ACesium3DTileset::StopMovieSequencer ( )

◆ Tick()

virtual void ACesium3DTileset::Tick ( float DeltaTime)
overridevirtual

◆ UpdateLoadStatus()

void ACesium3DTileset::UpdateLoadStatus ( )

◆ UpdateTransformFromCesium()

void ACesium3DTileset::UpdateTransformFromCesium ( )

Update the transforms of the glTF components based on the the transform of the root component.

This is supposed to be called during Tick, if the transform of the root component has changed since the previous Tick.

Friends And Related Symbol Documentation

◆ UCesiumGltfPointsComponent

friend class UCesiumGltfPointsComponent
friend

Definition at line 1302 of file Cesium3DTileset.h.

◆ UnrealResourcePreparer

friend class UnrealResourcePreparer
friend

Definition at line 1301 of file Cesium3DTileset.h.

Member Data Documentation

◆ ApplyDpiScaling

EApplyDpiScaling ACesium3DTileset::ApplyDpiScaling = EApplyDpiScaling::UseProjectDefault

Scale Level-of-Detail by Display DPI.

This increases the performance for mobile devices and high DPI screens.

Definition at line 374 of file Cesium3DTileset.h.

◆ BodyInstance

FBodyInstance ACesium3DTileset::BodyInstance

Define the collision profile for all the 3D tiles created inside this actor.

Definition at line 661 of file Cesium3DTileset.h.

◆ CanEnableOcclusionCulling

bool ACesium3DTileset::CanEnableOcclusionCulling = false

Definition at line 544 of file Cesium3DTileset.h.

◆ CulledScreenSpaceError

double ACesium3DTileset::CulledScreenSpaceError = 64.0

The screen-space error to be enforced for tiles that are outside the view frustum or hidden in fog.

When "Enable Frustum Culling" and "Enable Fog Culling" are both true, tiles outside the view frustum or hidden in fog are effectively ignored, and so their level-of-detail doesn't matter. And in this scenario, this property is ignored.

However, when either of those flags are false, these "would-be-culled" tiles continue to be processed, and the question arises of how to handle their level-of-detail. When "Enforce Culled Screen Space Error" is false, this property is ignored and refinement terminates at these tiles, no matter what their current screen-space error. The tiles are available for physics, shadows, etc., but their level-of-detail may be very low.

When set to true, these tiles are refined until they achieve the screen-space error specified by this property.

Definition at line 538 of file Cesium3DTileset.h.

◆ DelayRefinementForOcclusion

bool ACesium3DTileset::DelayRefinementForOcclusion = true

Whether to wait for valid occlusion results before refining tiles.

Only applicable when EnableOcclusionCulling is enabled. When this option is enabled, there may be small delays before tiles are refined, but there may be an overall performance advantage by avoiding loads of descendants that will be found to be occluded.

Definition at line 608 of file Cesium3DTileset.h.

◆ DrawTileInfo

bool ACesium3DTileset::DrawTileInfo = false

If true, draws debug text above each tile being rendered with information about that tile.

Definition at line 650 of file Cesium3DTileset.h.

◆ EnableFogCulling

bool ACesium3DTileset::EnableFogCulling = true

Whether to cull tiles that are occluded by fog.

This does not refer to the atmospheric fog of the Unreal Engine, but to an internal representation of fog: Depending on the height of the camera above the ground, tiles that are far away (close to the horizon) will be culled when this flag is enabled.

Note that this will always be disabled if UseLodTransitions is set to true.

Definition at line 489 of file Cesium3DTileset.h.

◆ EnableFrustumCulling

bool ACesium3DTileset::EnableFrustumCulling = true

Whether to cull tiles that are outside the frustum.

By default this is true, meaning that tiles that are not visible with the current camera configuration will be ignored. It can be set to false, so that these tiles are still considered for loading, refinement and rendering.

This will cause more tiles to be loaded, but helps to avoid holes and provides a more consistent mesh, which may be helpful for physics.

Note that this will always be disabled if UseLodTransitions is set to true.

Definition at line 472 of file Cesium3DTileset.h.

◆ EnableOcclusionCulling

bool ACesium3DTileset::EnableOcclusionCulling = true

Whether to cull tiles that are occluded.

If this option is disabled, check that "Enable Experimental Occlusion Culling Feature" is enabled in the Plugins -> Cesium section of the Project Settings.

When enabled, this feature will use Unreal's occlusion system to determine if tiles are actually visible on the screen. For tiles found to be occluded, the tile will not refine to show descendants, but it will still be rendered to avoid holes. This results in less tile loads and less GPU resource usage for dense, high-occlusion scenes like ground-level views in cities.

This will not work for tilesets with poorly fit bounding volumes and cause more draw calls with very few extra culled tiles. When there is minimal occlusion in a scene, such as with terrain tilesets and applications focused on top-down views, this feature will yield minimal benefit and potentially cause needless overhead.

Definition at line 572 of file Cesium3DTileset.h.

◆ EnforceCulledScreenSpaceError

bool ACesium3DTileset::EnforceCulledScreenSpaceError = false

Whether a specified screen-space error should be enforced for tiles that are outside the frustum or hidden in fog.

When "Enable Frustum Culling" and "Enable Fog Culling" are both true, tiles outside the view frustum or hidden in fog are effectively ignored, and so their level-of-detail doesn't matter. And in this scenario, this property is ignored.

However, when either of those flags are false, these "would-be-culled" tiles continue to be processed, and the question arises of how to handle their level-of-detail. When this property is false, refinement terminates at these tiles, no matter what their current screen-space error. The tiles are available for physics, shadows, etc., but their level-of-detail may be very low.

When set to true, these tiles are refined until they achieve the specified "Culled Screen Space Error". This allows control over the minimum quality of these would-be-culled tiles.

Definition at line 512 of file Cesium3DTileset.h.

◆ ForbidHoles

bool ACesium3DTileset::ForbidHoles = false

Whether to unrefine back to a parent tile when a child isn't done loading.

When this is set to true, the tileset will guarantee that the tileset will never be rendered with holes in place of tiles that are not yet loaded, even though the tile that is rendered instead may have low resolution. When false, overall loading will be faster, but newly-visible parts of the tileset may initially be blank.

Definition at line 406 of file Cesium3DTileset.h.

◆ LoadingDescendantLimit

int32 ACesium3DTileset::LoadingDescendantLimit = 20

The number of loading descendents a tile should allow before deciding to render itself instead of waiting.

Setting this to 0 will cause each level of detail to be loaded successively. This will increase the overall loading time, but cause additional detail to appear more gradually. Setting this to a high value like 1000 will decrease the overall time until the desired level of detail is achieved, but this high-detail representation will appear at once, as soon as it is loaded completely.

Definition at line 452 of file Cesium3DTileset.h.

◆ LodTransitionLength

float ACesium3DTileset::LodTransitionLength = 0.5f

How long dithered LOD transitions between different tiles should take, in seconds.

Only relevant if UseLodTransitions is true.

Definition at line 693 of file Cesium3DTileset.h.

◆ LogSelectionStats

bool ACesium3DTileset::LogSelectionStats = false

If true, stats about tile selection are printed to the Output Log.

Definition at line 636 of file Cesium3DTileset.h.

◆ LogSharedAssetStats

bool ACesium3DTileset::LogSharedAssetStats = false

If true, logs stats on the assets in this tileset's shared asset system to the Output Log.

Definition at line 643 of file Cesium3DTileset.h.

◆ MaximumCachedBytes

int64 ACesium3DTileset::MaximumCachedBytes = 256 * 1024 * 1024

The maximum number of bytes that may be cached.

Note that this value, even if 0, will never cause tiles that are needed for rendering to be unloaded. However, if the total number of loaded bytes is greater than this value, tiles will be unloaded until the total is under this number or until only required tiles remain, whichever comes first.

Definition at line 434 of file Cesium3DTileset.h.

◆ MaximumScreenSpaceError

double ACesium3DTileset::MaximumScreenSpaceError = 16.0

The maximum number of pixels of error when rendering this tileset.

This is used to select an appropriate level-of-detail: A low value will cause many tiles with a high level of detail to be loaded, causing a finer visual representation of the tiles, but with a higher performance cost for loading and rendering. A higher value will cause a coarser visual representation, with lower performance requirements.

When a tileset uses the older layer.json / quantized-mesh format rather than 3D Tiles, this value is effectively divided by 8.0. So the default value of 16.0 corresponds to the standard value for quantized-mesh terrain of 2.0.

Definition at line 364 of file Cesium3DTileset.h.

◆ MaximumSimultaneousTileLoads

int32 ACesium3DTileset::MaximumSimultaneousTileLoads = 20

The maximum number of tiles that may be loaded at once.

When new parts of the tileset become visible, the tasks to load the corresponding tiles are put into a queue. This value determines how many of these tasks are processed at the same time. A higher value may cause the tiles to be loaded and rendered more quickly, at the cost of a higher network- and processing load.

Definition at line 422 of file Cesium3DTileset.h.

◆ OcclusionPoolSize

int32 ACesium3DTileset::OcclusionPoolSize = 500

The number of CesiumBoundingVolumeComponents to use for querying the occlusion state of traversed tiles.

Only applicable when EnableOcclusionCulling is enabled.

Definition at line 590 of file Cesium3DTileset.h.

◆ OnTilesetLoaded

FCompletedLoadTrigger ACesium3DTileset::OnTilesetLoaded

A delegate that will be called whenever the tileset is fully loaded.

Definition at line 667 of file Cesium3DTileset.h.

◆ PlatformName

FString ACesium3DTileset::PlatformName
protected

Definition at line 946 of file Cesium3DTileset.h.

◆ PreloadAncestors

bool ACesium3DTileset::PreloadAncestors = true

Whether to preload ancestor tiles.

Setting this to true optimizes the zoom-out experience and provides more detail in newly-exposed areas when panning. The down side is that it requires loading more tiles.

Definition at line 384 of file Cesium3DTileset.h.

◆ PreloadSiblings

bool ACesium3DTileset::PreloadSiblings = true

Whether to preload sibling tiles.

Setting this to true causes tiles with the same parent as a rendered tile to be loaded, even if they are culled. Setting this to true may provide a better panning experience at the cost of loading more tiles.

Definition at line 394 of file Cesium3DTileset.h.

◆ ShowCreditsOnScreen

bool ACesium3DTileset::ShowCreditsOnScreen = false

Whether or not to show this tileset's credits on screen.

Definition at line 315 of file Cesium3DTileset.h.

◆ SuspendUpdate

bool ACesium3DTileset::SuspendUpdate

Pauses level-of-detail and culling updates of this tileset.

Definition at line 623 of file Cesium3DTileset.h.

◆ UpdateInEditor

bool ACesium3DTileset::UpdateInEditor = true

If true, this tileset is ticked/updated in the editor.

If false, is only ticked while playing (including Play-in-Editor).

Definition at line 630 of file Cesium3DTileset.h.

◆ UseLodTransitions

bool ACesium3DTileset::UseLodTransitions = false

Use a dithering effect when transitioning between tiles of different LODs.

When this is set to true, Frustrum Culling and Fog Culling are always disabled.

Definition at line 680 of file Cesium3DTileset.h.


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