5#include "Cesium3DTilesSelection/TileID.h"
7#include "UObject/ObjectMacros.h"
9#include "Cesium3DTilesetLifecycleEventReceiver.generated.h"
11class UMaterialInstanceDynamic;
12class UMaterialInterface;
13enum EMaterialParameterAssociation : int;
32UINTERFACE(
meta = (CannotImplementInterfaceInBlueprint))
65 UMaterialInterface* DefaultBaseMaterial,
84 UMaterialInstanceDynamic& Material,
An interface that receives events about the lifecycle of tiles in a Cesium3DTileset.
virtual void OnTileLoaded(ICesiumLoadedTile &Tile)
Called after a new tile has been loaded.
virtual void OnTileUnloading(ICesiumLoadedTile &Tile)
Called before a tile is unloaded.
virtual void OnTileVisibilityChanged(ICesiumLoadedTile &Tile, bool bVisible)
Called when a tile is shown or hidden.
virtual void CustomizeMaterial(ICesiumLoadedTilePrimitive &TilePrimitive, UMaterialInstanceDynamic &Material, const UCesiumMaterialUserData *CesiumData, const CesiumGltf::Material &GltfMaterial)
Allows customization of the Unreal material instance used to render a tile's primitive.
virtual UMaterialInstanceDynamic * CreateMaterial(ICesiumLoadedTilePrimitive &TilePrimitive, UMaterialInterface *DefaultBaseMaterial, const FName &Name)
Creates a material instance for a given tile primitive.
virtual void OnTileMeshPrimitiveLoaded(ICesiumLoadedTilePrimitive &TilePrimitive)
Called after a MeshPrimitive in a tile's glTF is loaded.
Provides access to the details of a glTF MeshPrimitive loaded by the Cesium3DTileset.
Provides access to the details of a tile loaded by the Cesium3DTileset.
Instances of this user data class are automatically attached to all materials that are used by Cesium...