Highly detailed 3D model of the iconic Vienna ULF (Ultra Low Floor) tram, based on line 25 to Floridsdorf (car number 727). Built for Blender 5.1+.
The model includes accurate proportions, textured exterior with doors, windows, pantograph, destination displays, and Wiener Linien branding. All segments are built as instances for efficient memory usage.
Includes a fully functional path-following rig. The tram automatically follows any Bezier curve while maintaining correct segment spacing. Rigid body sections articulate only at the real-world joint positions, just like the actual ULF. No Spline IK — the rig uses a clean Empty-chain system with drivers and a small Python script that dynamically adapts to any curve length.
What's included:
- Complete tram model with textures and materials
- Fully rigged with path-following animation system
- Python script for dynamic curve adaptation
- Bezier curve track (ULF_Track)
- Clean outliner structure (Mesh, Helpers, Pivots, Rig)
What's NOT included (shown in preview images/video for context only):
- City scene, street furniture, buildings, or environment
- Cars and traffic — created with the Traffiq Car Library: https://superhivemarket.com/products/traffiq-traffic-vehicles-for-blender?ref=885
- Passengers inside the tram — created with the Population addon: https://superhivemarket.com/products/population?ref=885
- Driver character
How to use:
- Append the ULF_Tram collection into your scene
- Create or select a Bezier curve for your track
- Change the Follow Path target on all ULF_Pivot empties to your curve
- Run the included "curve_length" script in the Scripting tab
- Animate the Offset Factor of ULF_Pivot.Front — the entire tram follows
- Enable "Auto Run Python Scripts" in Preferences → Save & Load
Requirements:
- Blender 5.1 or later (driver issues in 5.0.1)
- No external addons needed
For a detailed breakdown of the rigging process, visit: https://larry.at/vienna-ulf-tram-english/