Skip to content

3D Tiles Source

A 3d-tiles source points at a 3D Tiles tileset (a tileset.json hierarchy). Render it with a 3d-tiles layer.

PropertyTypeDefaultDescription
type"3d-tiles"(required)Source type.
urlstring(required)URL of the tileset.json.
crsstring—Coordinate reference system of the content.
Tile FormatDescription
b3dm (Batched 3D Model)Batched 3D models such as buildings.
pnts (Point Cloud)Point cloud data. See PNTS attributes.
Google Photorealistic 3D TilesPhotorealistic tiles provided by Google Maps Platform.

Navara reads only part of the pnts feature table. Point colors are interpreted as sRGB. A tile that stores its positions only as POSITION_QUANTIZED is not rendered.

SemanticSupport
POSITION✅
POSITION_QUANTIZED❌
RTC_CENTER✅
RGB⚠️ Draco-compressed tiles only
RGBA⚠️ Draco-compressed tiles only
RGB565❌
CONSTANT_RGBA❌
NORMAL / NORMAL_OCT16P❌
BATCH_ID and the batch table❌
3DTILES_draco_point_compression⚠️ POSITION, RGB, and RGBA only
FeatureDescription
GLB contentTiles using GLB (binary glTF) as the content format.
GLB POINTS primitivePoint cloud rendering for glTF meshes with mode: POINTS (3D Tiles 1.1 point cloud).
EXT_mesh_featuresFeature identification via FeatureId sets in glTF meshes.
EXT_structural_metadataAccess to per-feature metadata via property tables embedded in glTF assets.
KHR_draco_mesh_compressionDecoding of Draco-compressed mesh data.
KHR_mesh_quantizationQuantized vertex attributes for compact glTF assets.
EXT_meshopt_compressionDecoding of meshopt-compressed buffers.
import ThreeView from "@navaramap/three";
const tileset = view.addSource({
type: "3d-tiles",
url: "https://example.com/tileset.json",
});
view.addLayer({ type: "3d-tiles", source: tileset, model: { opacity: 1.0 } });