3D Model Repository

From OpenStreetMap Wiki
Jump to navigation Jump to search

3D Model Repository (3DMR), available at https://3dmr.eu, is a web application that allows users to link 3D models of world features to locations on OpenStreetMap.

History

3DMR was started as a project for Google Summer of Code 2017 by n42k, with OSMBuildings and Tordanik as mentors, with the aim of improving the quality of the 3D renderers available in OSM, to expand upon the Simple 3D Buildings idea, and it was launched in March 2018 to all OSM users.

The repository has been modernized in 2025 for Google Summer of Code 2025 by Ayush Dhar Dubey with Lonvia and Tordanik as mentors.

The legacy version featured support for OBJ model files. As part of the 2025 update, support and validation for .glb (GL Transmission Format Binary) models was introduced, enhancing compatibility with modern 3D rendering pipelines.

Renderers

The main intended feature of the repository is letting 3D renderers display 3D models at certain locations. At this time, the following renderers support 3DMR:

OSM go

osmgo.org

OSM2World

Main Features

  • Model Storage and Organization: Store 3D models categorized by OSM tags (e.g., historic=wayside_shrine, building=yes).
  • Search and Browsing: Search by tags, titles, latitude/longitude, or full text (e.g., /search?tag=historic=wayside_cross).
  • Uploading and Tagging: Upload models with associated categories, tags, and user details.
  • Integration with OSM: Link models to OSM features using the 3dmr=<id> tag.
  • API Support: Lookups by model info, file, tag, category, author; searches by title, location, etc.

Adding a Model

Making your Model

Firstly, make a 3D model of the feature you will be uploading. Any software that supports the .glb model file format will work. For eg. Blender or SketchUp.

Then, upload your model to 3DMR, following the instructions laid out there.

Uploading

  1. Navigate to the upload page at https://3dmr.eu/upload. You will need an OSM account to proceed.
  2. Fill in metadata details: Provide model title, categories (based on OSM tags), tags, and optional location info.
  3. Select the model file: After selecting, the Model Statistics section will display feedback for your model, with color-coded quality indicators:
    • Face Count: Displays the number of faces (polygons) in the model.
      • Good (green): 0–5,000 faces.
      • Warning (yellow): 5,001–100,000 faces.
      • Bad (red): Over 100,000 faces.
    • Has Textures: Indicates whether the model includes textures.
      • Good (green): Textures present.
      • Warning (yellow): No textures.
    • PBR Texture Count: Shows the number of Physically Based Rendering (PBR) textures.
      • Good (green): At least one PBR texture.
      • Warning (yellow): No PBR textures.
    • Mesh Count: Displays the number of meshes in the model.
      • Good (green): 1 or more meshes.
      • Bad (red): 0 meshes.
    • Triangle Density: Measures triangles per cubic meter (triangles/m³).
      • Good (green): 0–500 triangles/m³.
      • Warning (yellow): 501–1,000 triangles/m³.
      • Bad (red): Over 1,000 triangles/m³.
    • Bounding Box: Shows the model’s dimensions (width × height × depth in meters).
      • Good (green): Volume > 0.01 m³.
      • Warning (yellow): Volume between 0.001–0.01 m³.
      • Bad (red): Volume ≤ 0.001 m³.
  4. As a general practice you should always try to keep your model within the prescribed limits.
  5. Submit the file: Upon successful upload, a model ID is assigned.
  6. View the model: The model page displays upload date, uploader, and associated tags.

Tagging

Finally, you must link your model to OSM feature(s). To do this, simply use the tag 3dmr=<id>, where id is the first number found in the URL of your model, and is also listed on the right-hand side of each model page on the 3DMR website. You can apply this tag to all OpenStreetMap elements, that is nodes, ways, areas or relations. See the Key:3dmr page for additional tagging instructions.

3DMR Model Contribution Guidelines

The goal of 3DMR is to build a reliable and high-quality repository of 3D models that represent both reusable objects and real-world landmarks. To ensure that uploads remain consistent, usable, and easy to integrate into maps, please follow the guidelines below when preparing your models.

1. Meeting Model Standards

All contributors are encouraged to follow platform’s statistical feedback metrics, which help maintain quality across the repository. These checks cover aspects such as polygon count, texture size, and scale. Paying attention to these numbers ensures that your model loads quickly, looks good, and works smoothly in different viewing environments.

2. Categories of Models

Models in 3DMR fall into two broad categories. Understanding which one your model belongs to will help you prepare it correctly:

  • Generic Models These are mass-produced items of which multiple copies exist in the real world. They don’t belong to one specific place and should therefore not have location info on 3DMR. They are often functional or decorative items found in multiple locations. Examples: benches, lamp posts, windmills, trash cans, trees.
  • Unique Models These represent unique real-world structures or landmarks tied to a specific place. Examples: Eiffel Tower, Statue of Liberty, Taj Mahal.

3. Orientation and Alignment

Correct alignment is essential for making models useful in real-world mapping contexts, so use the full-screen preview to check that your model is aligned and rotated correctly:

  • For generic models, keep the orientation standard:
    • Y-axis should point upward.
    • Z-axis should point forward (towards the facing direction as defined by direction=*).
    • Origin should be at the base of the model, generally in the location where one would place a node in OSM.
    • The object should stand upright in a natural, ready-to-use position.
  • For unique models, ensure that building or landmark corresponds to its actual real-world orientation:
    • Y-axis should point upward.
    • Z-axis should point towards the South.
    • Place the origin (pivot point) logically, ideally at ground level or at the center of the structure’s footprint.

Regardless of model type, make sure that the model is scaled such that 1 coordinate unit corresponds to 1 meter in real-world dimensions.

These steps make a huge difference in ensuring that the model, when placed on a map, looks accurate and doesn’t require awkward manual corrections.

4. Best Practices for Uploading

  • Preview Before Uploading: Always test your model in the 3DMR previewer to confirm alignment, scaling, and textures.
  • Keep Models Lightweight: Remove unnecessary geometry and avoid oversized textures—this helps keep performance smooth for all users.
  • Add Useful Metadata: Provide clear tags, categories, and (for non-generic models) accurate geolocation details. This makes your model easier for others to find and use.
  • Respect Licensing: Double-check that the license you select matches how you want others to use your model.

Setting up your renderer

If you already have a 3D renderer and would like to support having 3D models from the repository in it, it should be straightforward to implement. There's details on how to parse the 3dmr=* tag, and which transformations should be applied at User:Tordanik/Proposed features/3D model repository links, and you should also read the API documentation.

Community and Support

3DMR is open-source and, as such, grows (or shrinks) & improves in part due to the community. Two of the preferred ways of contributing in the project are creating models using Blender/SketchUp or contribute to development via GitHub. Share your feedback on the OSM 3D subforum.

Admin Moderation

Since 3DMR is a public repository, it is open to contributions from a wide community. While this openness is a strength, it also means the platform is vulnerable to low-quality uploads, spam, or even malicious files. To ensure that 3DMR remains trustworthy and useful, active admin moderation is essential.

Admin Users

The following users currently hold administrative rights over the repository:

Admins are responsible for reviewing flagged content, removing harmful or inappropriate models, and keeping metadata consistent across the repository.

When to Ask for Admin Help

You don’t need to be a full-time moderator! But if you notice something off, or if you’d like help with your own contributions, please contact the admins. Common cases include:

  • A model looks broken, misaligned, or out of place.
  • Metadata (tags, category, geolocation, etc.) is wrong or missing.
  • You’d like your own model deleted or replaced.

Development Details

You can consult information about the development of 3DMR at the following links: