diff --git a/CHANGES.md b/CHANGES.md index b9578066..a474ce2f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,11 @@ # Change Log +## Not Released Yet + +##### Additions :tada: + +- Added a "From Ellipsoid" option to `Cesium3DTileset` to generate a tileset by tesselating the surface of the ellipsoid, producing a simple globe tileset without terrain features. + ## v1.13.1 - 2024-11-01 ##### Fixes :wrench: @@ -116,7 +122,7 @@ In addition to the above, this release updates [cesium-native](https://github.co - Added `CesiumMetadataValue`, which can hold a metadata value from `EXT_structural_metadata` while abstracting away its type. - Added a `distance` property to `CesiumOriginShift`, which specifies the maximum allowed distance from the current origin before it is shifted. - Added support for the `KHR_texture_transform` glTF extension - including rotation - in `baseColorTexture`, `metallicRoughnessTexture`, `emissiveTexture`, `normalTexture`, and `occlusionTexture`. The transformation is now applied on the GPU via nodes in the Material, rather than on the CPU by directly modifying texture coordinates. -- Added `materialKey` to `CesiumRasterOverlay`, which matches the overlay to its corresponding parameters in the tileset's material. This allows for explicit ordering of raster overlays and overlay-specific effects. +- Added `materialKey` to `CesiumRasterOverlay`, which matches the overlay to its corresponding parameters in the tileset's material. This allows for explicit ordering of raster overlays and overlay-specific effects. - `CesiumCameraController` can now accept custom input actions that override the default inputs. ##### Fixes :wrench: diff --git a/Runtime/Cesium3DTileset.cs b/Runtime/Cesium3DTileset.cs index f1e53241..925248b6 100644 --- a/Runtime/Cesium3DTileset.cs +++ b/Runtime/Cesium3DTileset.cs @@ -21,7 +21,12 @@ public enum CesiumDataSource /// /// The dataset is from a regular web URL. /// - FromUrl + FromUrl, + + /// + /// The dataset is generated from the georeference ellipsoid. + /// + FromEllipsoid } /// diff --git a/native~/Runtime/src/Cesium3DTilesetImpl.cpp b/native~/Runtime/src/Cesium3DTilesetImpl.cpp index fde18b58..1e5ff12b 100644 --- a/native~/Runtime/src/Cesium3DTilesetImpl.cpp +++ b/native~/Runtime/src/Cesium3DTilesetImpl.cpp @@ -7,6 +7,7 @@ #include "UnityTileExcluderAdaptor.h" #include "UnityTilesetExternals.h" +#include #include #include #include @@ -694,6 +695,12 @@ void Cesium3DTilesetImpl::LoadTileset( // Resolve the API URL if it's not already in progress. resolveCesiumIonApiUrl(tileset.ionServer()); } + } else if ( + tileset.tilesetSource() == + CesiumForUnity::CesiumDataSource::FromEllipsoid) { + this->_pTileset = EllipsoidTilesetLoader::createTileset( + createTilesetExternals(tileset), + options); } else { this->_pTileset = std::make_unique( createTilesetExternals(tileset), diff --git a/native~/extern/cesium-native b/native~/extern/cesium-native index b164fc91..544b2b3c 160000 --- a/native~/extern/cesium-native +++ b/native~/extern/cesium-native @@ -1 +1 @@ -Subproject commit b164fc915ffd9080e0d3f7c3f72076b1e65090ed +Subproject commit 544b2b3c108bec58b29f897da0a1e30600ae1e3a