104 UPROPERTY(VisibleAnywhere, Category =
"Cesium") USceneComponent* Root;
111 "Use the Mobility property on the RootComponent instead."))
112 TEnumAsByte<EComponentMobility::Type> Mobility_DEPRECATED =
113 EComponentMobility::Static;
116 UFUNCTION(BlueprintCallable,
meta = (DeprecatedFunction))
118 return this->RootComponent->Mobility;
120 UFUNCTION(BlueprintCallable,
meta = (DeprecatedFunction))
141 const TArray<FVector>& LongitudeLatitudeHeightArray,
142 FCesiumSampleHeightMostDetailedCallback OnHeightsSampled);
160 Meta = (AllowPrivateAccess))
176 Meta = (AllowPrivateAccess))
181 UFUNCTION(BlueprintCallable, Category =
"Cesium")
185 UFUNCTION(BlueprintCallable, Category =
"Cesium")
195 UFUNCTION(BlueprintCallable, Category =
"Cesium")
203 UFUNCTION(BlueprintCallable, Category =
"Cesium")
220 Meta = (AllowPrivateAccess))
235 Meta = (AllowPrivateAccess))
252 Meta = (AllowPrivateAccess))
267 Meta = (AllowPrivateAccess))
278 Meta = (AllowPrivateAccess))
279 UCesiumBoundingVolumePoolComponent* BoundingVolumePoolComponent =
nullptr;
285 TSharedPtr<CesiumViewExtension, ESPMode::ThreadSafe> _cesiumViewExtension =
290 UFUNCTION(BlueprintCallable, Category =
"Cesium")
294 UFUNCTION(BlueprintCallable, Category =
"Cesium")
304 UFUNCTION(BlueprintCallable, Category =
"Cesium")
311 UFUNCTION(BlueprintCallable, Category =
"Cesium")
317 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium")
321 UFUNCTION(BlueprintGetter, Category =
"Cesium")
325 UFUNCTION(BlueprintSetter, Category =
"Cesium")
335 UFUNCTION(BlueprintCallable, Category =
"Cesium")
343 UFUNCTION(BlueprintCallable, Category =
"Cesium")
365 Category =
"Cesium|Level of Detail",
366 meta = (ClampMin = 0.0))
376 Category =
"Cesium|Level of Detail")
386 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
396 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
408 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
423 Category =
"Cesium|Tile Loading",
424 meta = (ClampMin = 0))
436 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
453 Category =
"Cesium|Tile Loading",
454 meta = (ClampMin = 0))
473 Category =
"Cesium|Tile Culling",
474 Meta = (EditCondition =
"!UseLodTransitions", EditConditionHides))
490 Category =
"Cesium|Tile Culling",
491 Meta = (EditCondition =
"!UseLodTransitions", EditConditionHides))
514 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Culling")
539 Category =
"Cesium|Tile Culling",
540 meta = (EditCondition =
"EnforceCulledScreenSpaceError", ClampMin = 0.0))
546 UPROPERTY(Transient, VisibleDefaultsOnly, Category =
"Cesium|Tile Occlusion")
573 Category =
"Cesium|Tile Occlusion",
574 meta = (EditCondition =
"CanEnableOcclusionCulling"))
587 Category =
"Cesium|Tile Occlusion",
590 "EnableOcclusionCulling && CanEnableOcclusionCulling",
607 Category =
"Cesium|Tile Occlusion",
610 "EnableOcclusionCulling && CanEnableOcclusionCulling"))
619 UFUNCTION(CallInEditor, BlueprintCallable, Category =
"Cesium")
625 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Debug")
632 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
638 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
645 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
652 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
662 Category =
"Collision",
663 meta = (ShowOnlyInnerProperties, SkipUCSModifiedProperties))
669 UPROPERTY(BlueprintAssignable, Category =
"Cesium");
682 Category =
"Cesium|Rendering")
694 Category =
"Cesium|Rendering",
695 meta = (EditCondition =
"UseLodTransitions", EditConditionHides))
700 float LoadProgress = 0.0f;
710 meta = (DisplayName =
"Source"))
723 meta = (EditCondition =
"TilesetSource==ETilesetSource::FromUrl"))
737 (EditCondition =
"TilesetSource==ETilesetSource::FromCesiumIon",
749 meta = (EditCondition =
"TilesetSource==ETilesetSource::FromCesiumIon"))
750 FString IonAccessToken;
755 DeprecationMessage =
"Use CesiumIonServer instead."))
756 FString IonAssetEndpointUrl_DEPRECATED;
767 meta = (EditCondition =
"TilesetSource==ETilesetSource::FromCesiumIon"))
778 TMap<FString, FString> RequestHeaders;
784 UFUNCTION(CallInEditor, Category =
"Cesium")
785 void TroubleshootToken();
800 Category =
"Cesium|Physics")
801 bool CreatePhysicsMeshes = true;
813 Category =
"Cesium|Physics",
814 meta = (EditCondition =
"CreatePhysicsMeshes"))
815 bool EnableDoubleSidedCollisions = false;
829 Category =
"Cesium|Navigation")
830 bool CreateNavCollision = false;
851 Category =
"Cesium|Rendering")
852 bool AlwaysIncludeTangents = false;
867 Category =
"Cesium|Rendering")
868 bool GenerateSmoothNormals = false;
880 Category =
"Cesium|Rendering")
881 bool EnableWaterMask = false;
897 Category =
"Cesium|Rendering",
898 meta = (DisplayName =
"Ignore KHR_materials_unlit"))
899 bool IgnoreKhrMaterialsUnlit = false;
913 Category =
"Cesium|Rendering")
914 UMaterialInterface* Material =
nullptr;
929 Category =
"Cesium|Rendering")
930 UMaterialInterface* TranslucentMaterial =
nullptr;
946 Category =
"Cesium|Rendering")
947 UMaterialInterface* WaterMaterial =
nullptr;
953 Category =
"Rendering",
954 meta = (ShowOnlyInnerProperties))
967 Category =
"Cesium|Rendering")
978 Category =
"VirtualTexture",
979 meta = (DisplayName =
"Draw in Virtual Textures"))
980 TArray<TObjectPtr<URuntimeVirtualTexture>> RuntimeVirtualTextures;
987 Category = VirtualTexture,
988 meta = (DisplayName =
"Draw in Main Pass"))
989 ERuntimeVirtualTextureMainPassType VirtualTextureRenderPassType =
990 ERuntimeVirtualTextureMainPassType::Exclusive;
1008 Category = Rendering)
1009 int32 TranslucencySortPriority;
1016 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1019 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1022 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1025 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1028 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1031 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1034 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1037 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1040 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1043 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1046 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1049 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1052 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1055 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1058 UFUNCTION(BlueprintGetter, Category =
"VirtualTexture")
1060 return RuntimeVirtualTextures;
1063 UFUNCTION(BlueprintSetter, Category =
"VirtualTexture")
1065 TArray<URuntimeVirtualTexture*> InRuntimeVirtualTextures);
1067 UFUNCTION(BlueprintGetter, Category =
"VirtualTexture")
1069 return VirtualTextureRenderPassType;
1072 UFUNCTION(BlueprintGetter, Category = Rendering)
1075 UFUNCTION(BlueprintSetter, Category = Rendering)
1078 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1081 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1084 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1087 UFUNCTION(BlueprintGetter, Category =
"Cesium|Tile Culling|Experimental")
1090 UFUNCTION(BlueprintSetter, Category =
"Cesium|Tile Culling|Experimental")
1093 UFUNCTION(BlueprintGetter, Category =
"Cesium|Tile Culling|Experimental")
1096 UFUNCTION(BlueprintSetter, Category =
"Cesium|Tile Culling|Experimental")
1099 UFUNCTION(BlueprintGetter, Category =
"Cesium|Tile Culling|Experimental")
1104 UFUNCTION(BlueprintSetter, Category =
"Cesium|Tile Culling|Experimental")
1107 UFUNCTION(BlueprintGetter, Category =
"Cesium|Physics")
1110 UFUNCTION(BlueprintSetter, Category =
"Cesium|Physics")
1113 UFUNCTION(BlueprintGetter, Category =
"Cesium|Physics")
1115 return EnableDoubleSidedCollisions;
1118 UFUNCTION(BlueprintSetter, Category =
"Cesium|Physics")
1121 UFUNCTION(BlueprintGetter, Category =
"Cesium|Navigation")
1124 UFUNCTION(BlueprintSetter, Category =
"Cesium|Navigation")
1127 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1130 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1133 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1136 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1139 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1142 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1145 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1147 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1150 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1153 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1156 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1158 return TranslucentMaterial;
1161 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1164 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1167 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1170 UFUNCTION(BlueprintGetter, Category =
"Rendering")
1172 return CustomDepthParameters;
1175 UFUNCTION(BlueprintSetter, Category =
"Rendering")
1178 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1180 return PointCloudShading;
1183 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1186 UFUNCTION(BlueprintCallable, Category =
"Cesium|Rendering")
1189 UFUNCTION(BlueprintCallable, Category =
"Cesium|Rendering")
1192 UFUNCTION(BlueprintCallable, Category =
"Cesium|Rendering")
1207 return this->_pTileset.Get();
1210 return this->_pTileset.Get();
1213 const std::optional<FCesiumFeaturesMetadataDescription>&
1215 return this->_featuresMetadataDescription;
1220 virtual void Tick(
float DeltaTime)
override;
1224 virtual void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
1233 PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
1234 virtual void PostEditChangeChainProperty(
1235 FPropertyChangedChainEvent& PropertyChangedChainEvent)
override;
1236 virtual void PostEditUndo()
override;
1237 virtual void PostEditImport()
override;
1238 virtual bool CanEditChange(
const FProperty* InProperty)
const override;
1253 class UPrimitiveComponent* MyComp,
1255 class UPrimitiveComponent* OtherComp,
1257 FVector HitLocation,
1259 FVector NormalImpulse,
1260 const FHitResult& Hit)
override;
1264 void DestroyTileset();
1268 const glm::dmat4& unrealWorldToTileset,
1271 std::vector<FCesiumCamera> GetCameras()
const;
1272 std::vector<FCesiumCamera> GetPlayerCameras()
const;
1273 std::vector<FCesiumCamera> GetSceneCaptures()
const;
1290 const std::shared_ptr<Cesium3DTilesSelection::GltfModifier>&
1301 const std::shared_ptr<Cesium3DTilesSelection::GltfModifier>& Modifier);
1324 UFUNCTION(CallInEditor)
1325 void HandleOnGeoreferenceEllipsoidChanged(
1334 void updateTilesetOptionsFromProperties();
1343 void updateLastViewUpdateResultState(
1352 void showTilesToRender(
1353 const std::vector<Cesium3DTilesSelection::Tile::ConstPointer>& tiles);
1360 void AddFocusViewportDelegate();
1363 std::vector<FCesiumCamera> GetEditorCameras()
const;
1374 void OnFocusEditorViewportOnThis();
1376 void RuntimeSettingsChanged(
1378 struct FPropertyChangedEvent& changed);
1382 TUniquePtr<Cesium3DTilesSelection::Tileset> _pTileset;
1384#ifdef CESIUM_DEBUG_TILE_STATES
1385 TUniquePtr<Cesium3DTilesSelection::DebugTileStateDatabase> _pStateDebug;
1388 std::optional<FCesiumFeaturesMetadataDescription>
1389 _featuresMetadataDescription;
1391 PRAGMA_DISABLE_DEPRECATION_WARNINGS
1392 std::optional<FMetadataDescription> _metadataDescription_DEPRECATED;
1393 PRAGMA_ENABLE_DEPRECATION_WARNINGS
1396 uint32_t _lastTilesRendered;
1397 uint32_t _lastWorkerThreadTileLoadQueueLength;
1398 uint32_t _lastMainThreadTileLoadQueueLength;
1400 uint32_t _lastTilesVisited;
1401 uint32_t _lastCulledTilesVisited;
1402 uint32_t _lastTilesCulled;
1403 uint32_t _lastTilesOccluded;
1404 uint32_t _lastTilesWaitingForOcclusionResults;
1405 uint32_t _lastMaxDepthVisited;
1407 std::chrono::high_resolution_clock::time_point _startTime;
1409 bool _captureMovieMode;
1410 bool _beforeMoviePreloadAncestors;
1411 bool _beforeMoviePreloadSiblings;
1412 int32_t _beforeMovieLoadingDescendantLimit;
1413 bool _beforeMovieUseLodTransitions;
1415 bool _scaleUsingDPI;
1429 std::vector<Cesium3DTilesSelection::Tile::ConstPointer> _tilesToHideNextFrame;
1431 int32 _tilesetsBeingDestroyed;
1433 std::shared_ptr<Cesium3DTilesSelection::GltfModifier> _pGltfModifier;
1441 UPROPERTY(Transient, DuplicateTransient, TextExportTransient)
1442 UObject* _pLifecycleEventReceiver;