A Typhoon Tracker Gets a 3D Globe and a Blender-Built Storm Model
Placing a custom 3D model on a Mapbox Globe with smooth path interpolation and synchronized multi-element playback is a practical WebGIS pattern that applies to any moving-asset visualization—storm tracking, flight paths, or fleet monitoring. The Blender-to-Mapbox pipeline and the hard-won fixes for origin drift, cache poisoning, and model invisibility save real engineering hours for anyone attempting the same integration.
A 3D upgrade to an existing open-source typhoon tracker replaces the flat map with a Mapbox Globe projection and a custom GLB cloud system model built in Blender. The model moves along interpolated historical and forecast paths, synchronized with wind circles, a HUD, and camera controls through a single playback engine. Three camera modes—free, follow, and a four-stage presentation sequence—let users observe the storm's scale and direction from spatial perspectives a 2D map cannot provide. The project also implements three performance tiers, a 2D fallback when the model fails to load, and a layered update strategy that throttles wind circles and camera moves independently from the model's position. The write-up details the Blender-to-Mapbox asset pipeline: cleaning and centering a Sketchfab model, applying transforms, managing vertical structure for low-angle viewing, merging materials, and hitting a sub-1.5 MB GLB with Draco compression. On the Mapbox side, it covers GeoJSON-driven model layers, the reasoning behind 28,000x scale and 120 km elevation offsets, longitude interpolation across the antimeridian, and cache-busting with URL version parameters.
Separating the GLB's visual scale from the wind circles' real kilometer radii is a clean design decision that avoids the trap of trying to make a 3D model physically accurate at the cost of legibility.
The insistence that 3D rendering must not become a prerequisite for business correctness—paths, forecasts, and warnings still work when the model fails—is a production-hardening principle that many flashy WebGL demos ignore.
Using a URL version parameter as a deliberate cache-busting mechanism across three independent cache layers is a small, high-leverage practice that prevents hours of 'why is my new model not showing' debugging.
The four-stage presentation camera—global, medium, close-up, pull-back—achieves cinematic pacing with four hardcoded shot objects and no keyframe system, a refreshingly low-complexity alternative to animation libraries for data-driven storytelling.
Praise for the article's quality contrasts with a perceived lack of engagement, while a reply dismisses the complaint as overblown. A separate comment shares a personal globe-related project and VR app, adding a concrete example of similar work.
Awesome. Such a good article and no one's liking it. The world's going downhill.
Haha, it's not that serious. Seeing it is fate enough [heart].
I made something globe-related too, https://mairastar.cn/ and also developed a Pico VR app.