103 UPROPERTY(VisibleAnywhere, Category =
"Cesium") USceneComponent* Root;
110 "Use the Mobility property on the RootComponent instead."))
111 TEnumAsByte<EComponentMobility::Type> Mobility_DEPRECATED =
112 EComponentMobility::Static;
115 UFUNCTION(BlueprintCallable,
meta = (DeprecatedFunction))
117 return this->RootComponent->Mobility;
119 UFUNCTION(BlueprintCallable,
meta = (DeprecatedFunction))
140 const TArray<FVector>& LongitudeLatitudeHeightArray,
141 FCesiumSampleHeightMostDetailedCallback OnHeightsSampled);
159 Meta = (AllowPrivateAccess))
175 Meta = (AllowPrivateAccess))
180 UFUNCTION(BlueprintCallable, Category =
"Cesium")
184 UFUNCTION(BlueprintCallable, Category =
"Cesium")
194 UFUNCTION(BlueprintCallable, Category =
"Cesium")
202 UFUNCTION(BlueprintCallable, Category =
"Cesium")
219 Meta = (AllowPrivateAccess))
234 Meta = (AllowPrivateAccess))
251 Meta = (AllowPrivateAccess))
266 Meta = (AllowPrivateAccess))
277 Meta = (AllowPrivateAccess))
278 UCesiumBoundingVolumePoolComponent* BoundingVolumePoolComponent =
nullptr;
284 TSharedPtr<CesiumViewExtension, ESPMode::ThreadSafe> _cesiumViewExtension =
289 UFUNCTION(BlueprintCallable, Category =
"Cesium")
293 UFUNCTION(BlueprintCallable, Category =
"Cesium")
303 UFUNCTION(BlueprintCallable, Category =
"Cesium")
310 UFUNCTION(BlueprintCallable, Category =
"Cesium")
316 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium")
320 UFUNCTION(BlueprintGetter, Category =
"Cesium")
324 UFUNCTION(BlueprintSetter, Category =
"Cesium")
334 UFUNCTION(BlueprintCallable, Category =
"Cesium")
342 UFUNCTION(BlueprintCallable, Category =
"Cesium")
364 Category =
"Cesium|Level of Detail",
365 meta = (ClampMin = 0.0))
375 Category =
"Cesium|Level of Detail")
385 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
395 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
407 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
422 Category =
"Cesium|Tile Loading",
423 meta = (ClampMin = 0))
435 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Loading")
452 Category =
"Cesium|Tile Loading",
453 meta = (ClampMin = 0))
472 Category =
"Cesium|Tile Culling",
473 Meta = (EditCondition =
"!UseLodTransitions", EditConditionHides))
489 Category =
"Cesium|Tile Culling",
490 Meta = (EditCondition =
"!UseLodTransitions", EditConditionHides))
513 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Tile Culling")
538 Category =
"Cesium|Tile Culling",
539 meta = (EditCondition =
"EnforceCulledScreenSpaceError", ClampMin = 0.0))
545 UPROPERTY(Transient, VisibleDefaultsOnly, Category =
"Cesium|Tile Occlusion")
572 Category =
"Cesium|Tile Occlusion",
573 meta = (EditCondition =
"CanEnableOcclusionCulling"))
586 Category =
"Cesium|Tile Occlusion",
589 "EnableOcclusionCulling && CanEnableOcclusionCulling",
606 Category =
"Cesium|Tile Occlusion",
609 "EnableOcclusionCulling && CanEnableOcclusionCulling"))
618 UFUNCTION(CallInEditor, BlueprintCallable, Category =
"Cesium")
624 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium|Debug")
631 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
637 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
644 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
651 UPROPERTY(EditAnywhere, Category =
"Cesium|Debug")
661 Category =
"Collision",
662 meta = (ShowOnlyInnerProperties, SkipUCSModifiedProperties))
668 UPROPERTY(BlueprintAssignable, Category =
"Cesium");
681 Category =
"Cesium|Rendering")
693 Category =
"Cesium|Rendering",
694 meta = (EditCondition =
"UseLodTransitions", EditConditionHides))
699 float LoadProgress = 0.0f;
709 meta = (DisplayName =
"Source"))
722 meta = (EditCondition =
"TilesetSource==ETilesetSource::FromUrl"))
736 (EditCondition =
"TilesetSource==ETilesetSource::FromCesiumIon",
748 meta = (EditCondition =
"TilesetSource==ETilesetSource::FromCesiumIon"))
749 FString IonAccessToken;
754 DeprecationMessage =
"Use CesiumIonServer instead."))
755 FString IonAssetEndpointUrl_DEPRECATED;
766 meta = (EditCondition =
"TilesetSource==ETilesetSource::FromCesiumIon"))
777 TMap<FString, FString> RequestHeaders;
783 UFUNCTION(CallInEditor, Category =
"Cesium")
784 void TroubleshootToken();
799 Category =
"Cesium|Physics")
800 bool CreatePhysicsMeshes = true;
814 Category =
"Cesium|Navigation")
815 bool CreateNavCollision = false;
836 Category =
"Cesium|Rendering")
837 bool AlwaysIncludeTangents = false;
852 Category =
"Cesium|Rendering")
853 bool GenerateSmoothNormals = false;
865 Category =
"Cesium|Rendering")
866 bool EnableWaterMask = false;
882 Category =
"Cesium|Rendering",
883 meta = (DisplayName =
"Ignore KHR_materials_unlit"))
884 bool IgnoreKhrMaterialsUnlit = false;
898 Category =
"Cesium|Rendering")
899 UMaterialInterface* Material =
nullptr;
914 Category =
"Cesium|Rendering")
915 UMaterialInterface* TranslucentMaterial =
nullptr;
931 Category =
"Cesium|Rendering")
932 UMaterialInterface* WaterMaterial =
nullptr;
938 Category =
"Rendering",
939 meta = (ShowOnlyInnerProperties))
952 Category =
"Cesium|Rendering")
963 Category =
"VirtualTexture",
964 meta = (DisplayName =
"Draw in Virtual Textures"))
965 TArray<TObjectPtr<URuntimeVirtualTexture>> RuntimeVirtualTextures;
972 Category = VirtualTexture,
973 meta = (DisplayName =
"Draw in Main Pass"))
974 ERuntimeVirtualTextureMainPassType VirtualTextureRenderPassType =
975 ERuntimeVirtualTextureMainPassType::Exclusive;
993 Category = Rendering)
994 int32 TranslucencySortPriority;
1001 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1004 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1007 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1010 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1013 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1016 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1019 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1022 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1025 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1028 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1031 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1034 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1037 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1040 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1043 UFUNCTION(BlueprintGetter, Category =
"VirtualTexture")
1045 return RuntimeVirtualTextures;
1048 UFUNCTION(BlueprintSetter, Category =
"VirtualTexture")
1050 TArray<URuntimeVirtualTexture*> InRuntimeVirtualTextures);
1052 UFUNCTION(BlueprintGetter, Category =
"VirtualTexture")
1054 return VirtualTextureRenderPassType;
1057 UFUNCTION(BlueprintGetter, Category = Rendering)
1060 UFUNCTION(BlueprintSetter, Category = Rendering)
1063 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1066 UFUNCTION(BlueprintGetter, Category =
"Cesium")
1069 UFUNCTION(BlueprintSetter, Category =
"Cesium")
1072 UFUNCTION(BlueprintGetter, Category =
"Cesium|Tile Culling|Experimental")
1075 UFUNCTION(BlueprintSetter, Category =
"Cesium|Tile Culling|Experimental")
1078 UFUNCTION(BlueprintGetter, Category =
"Cesium|Tile Culling|Experimental")
1081 UFUNCTION(BlueprintSetter, Category =
"Cesium|Tile Culling|Experimental")
1084 UFUNCTION(BlueprintGetter, Category =
"Cesium|Tile Culling|Experimental")
1089 UFUNCTION(BlueprintSetter, Category =
"Cesium|Tile Culling|Experimental")
1092 UFUNCTION(BlueprintGetter, Category =
"Cesium|Physics")
1095 UFUNCTION(BlueprintSetter, Category =
"Cesium|Physics")
1098 UFUNCTION(BlueprintGetter, Category =
"Cesium|Navigation")
1101 UFUNCTION(BlueprintSetter, Category =
"Cesium|Navigation")
1104 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1107 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1110 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1113 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1116 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1119 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1122 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1124 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1127 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1130 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1133 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1135 return TranslucentMaterial;
1138 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1141 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1144 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1147 UFUNCTION(BlueprintGetter, Category =
"Rendering")
1149 return CustomDepthParameters;
1152 UFUNCTION(BlueprintSetter, Category =
"Rendering")
1155 UFUNCTION(BlueprintGetter, Category =
"Cesium|Rendering")
1157 return PointCloudShading;
1160 UFUNCTION(BlueprintSetter, Category =
"Cesium|Rendering")
1163 UFUNCTION(BlueprintCallable, Category =
"Cesium|Rendering")
1166 UFUNCTION(BlueprintCallable, Category =
"Cesium|Rendering")
1169 UFUNCTION(BlueprintCallable, Category =
"Cesium|Rendering")
1184 return this->_pTileset.Get();
1187 return this->_pTileset.Get();
1190 const std::optional<FCesiumFeaturesMetadataDescription>&
1192 return this->_featuresMetadataDescription;
1197 virtual void Tick(
float DeltaTime)
override;
1201 virtual void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
1210 PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
1211 virtual void PostEditChangeChainProperty(
1212 FPropertyChangedChainEvent& PropertyChangedChainEvent)
override;
1213 virtual void PostEditUndo()
override;
1214 virtual void PostEditImport()
override;
1215 virtual bool CanEditChange(
const FProperty* InProperty)
const override;
1230 class UPrimitiveComponent* MyComp,
1232 class UPrimitiveComponent* OtherComp,
1234 FVector HitLocation,
1236 FVector NormalImpulse,
1237 const FHitResult& Hit)
override;
1241 void DestroyTileset();
1245 const glm::dmat4& unrealWorldToTileset,
1248 std::vector<FCesiumCamera> GetCameras()
const;
1249 std::vector<FCesiumCamera> GetPlayerCameras()
const;
1250 std::vector<FCesiumCamera> GetSceneCaptures()
const;
1283 UFUNCTION(CallInEditor)
1284 void HandleOnGeoreferenceEllipsoidChanged(
1293 void updateTilesetOptionsFromProperties();
1302 void updateLastViewUpdateResultState(
1311 void showTilesToRender(
1312 const std::vector<Cesium3DTilesSelection::Tile::ConstPointer>& tiles);
1319 void AddFocusViewportDelegate();
1322 std::vector<FCesiumCamera> GetEditorCameras()
const;
1333 void OnFocusEditorViewportOnThis();
1335 void RuntimeSettingsChanged(
1337 struct FPropertyChangedEvent& changed);
1341 TUniquePtr<Cesium3DTilesSelection::Tileset> _pTileset;
1343#ifdef CESIUM_DEBUG_TILE_STATES
1344 TUniquePtr<Cesium3DTilesSelection::DebugTileStateDatabase> _pStateDebug;
1347 std::optional<FCesiumFeaturesMetadataDescription>
1348 _featuresMetadataDescription;
1350 PRAGMA_DISABLE_DEPRECATION_WARNINGS
1351 std::optional<FMetadataDescription> _metadataDescription_DEPRECATED;
1352 PRAGMA_ENABLE_DEPRECATION_WARNINGS
1355 uint32_t _lastTilesRendered;
1356 uint32_t _lastWorkerThreadTileLoadQueueLength;
1357 uint32_t _lastMainThreadTileLoadQueueLength;
1359 uint32_t _lastTilesVisited;
1360 uint32_t _lastCulledTilesVisited;
1361 uint32_t _lastTilesCulled;
1362 uint32_t _lastTilesOccluded;
1363 uint32_t _lastTilesWaitingForOcclusionResults;
1364 uint32_t _lastMaxDepthVisited;
1366 std::chrono::high_resolution_clock::time_point _startTime;
1368 bool _captureMovieMode;
1369 bool _beforeMoviePreloadAncestors;
1370 bool _beforeMoviePreloadSiblings;
1371 int32_t _beforeMovieLoadingDescendantLimit;
1372 bool _beforeMovieUseLodTransitions;
1374 bool _scaleUsingDPI;
1388 std::vector<Cesium3DTilesSelection::Tile::ConstPointer> _tilesToHideNextFrame;
1390 int32 _tilesetsBeingDestroyed;
1398 UPROPERTY(Transient, DuplicateTransient, TextExportTransient)
1399 UObject* _pLifecycleEventReceiver;