3D Model Repository

I’ve created a 3D model repository for use with OSM as part of Google Summer of Code this year with my 2 mentors, and we’re continuing to work on it, and eventually have it launch.

This repository basically allows linking features such as benches and monuments in OSM to 3D models, enabling a much improved 3D rendering of the world.

We’re now looking for OSM 3D developers that wish to use our API, so that work on new features can begin earlier in your own projects, before the repository is launched. If you like the idea of adding more complex models to your 3D maps, I suggest reading how to get access to our test server here.

You can also check my older diary entries for more information about the project (in chronological order):
GSoC Diary: Start of Community Bonding
GSoC Diary: Web Design and REST API draft
GSoC Diary: Backend and the Live Preview
GSoC Diary: Conclusion

Which models are available in the 3D repository right now?

Its not about existing data/models, its about the service.
So there are not many models stored yet
but you may upload and set a tag in OSM to have them shown.

There are several proposels in the OSM wiki of coruse :roll_eyes::
https://wiki.openstreetmap.org/wiki/User:Tordanik/Proposed_features/3D_model_repository_links
https://wiki.openstreetmap.org/wiki/Relation_3D:Model

As -karlos- correctly said, the most important part is the service provided, there aren’t currently many models, but they will come in time.

Let’s consider a practical use case for the 3D model repository.

How to get all available models for Paris without duplications?

  1. Get all 3dmr=* tags present in Paris.

  2. For each tag, get the model id (it’s simply the value of the tag)

  3. To actually get the corresponding models, either download the nightly, which will have the latest revision of all the models in the repository, and then the models are available as .zip files, or use the repository’s API, making an HTTP request for each model id, to /api/model/, which will return a single .zip file.

It is with great pleasure that I announce the launch of the 3D Model Repository, which is now available at https://3dmr.eu!

Starting off from my Google Summer of Code project, over the past few months, along with my mentors, Jan and Tobias, I have been working hard on setting up the infrastructure required for the launch, namely a web server and the domain, which have been warmly provided by FOSSGIS. Along with this, some new features and bugfixes were added to the repository, including a PR by dkiselev. Finally, the last few miscellaneous issues before the launch have been resolved, and a few sample models were added to the repository.

On the renderer side, -karlos- has been making great progress with OSM go, having provided us with an easy way to show off the features of the repository. An example rendering can be seen here or in the picture below.

Contributing

Contributions are always welcome, in any form! There’s several ways to contribute to the repository, such as modelling or developing. If you know how to use Blender or SketchUp, you can get started right away modelling features of your town, consult the wiki for more information. Otherwise, if you’d rather develop, you can implement the repository in a 3D renderer (more information available on the wiki and the API documentation), or add new features to the repository itself (a Gitlab repository is available). Other than that, if you have any other idea, make sure to get in contact.

Hope to see your additions!

A note.

Sketchup isn’t Google Sketchup for quite long time already.

Thank you for that. I’ve fixed it where possible.

I made a video of a little ride around the Eiffel Tower

What fun! That’s starting from this location in osmgo.org: http://osmgo.org/go.html?lat=48.86091&lon=2.29583&ele=1.50&dir=180&view=-7&con=2&opt=0&name=beton

Unfortunately that model wasn’t from the 3D Model Repository, it was a fixed model that is always rendered there. Me and -karlos- are working on getting the Eiffel Tower in the repository (https://3dmr.eu/model/4/2) rendering correctly in OSM go. Perhaps you could do another video then?

Still shows how interesting OSM can be with 3d models!

Oh ok. I saw Eiffel tower was one of four models in there: https://3dmr.eu …but that’s a different Eiffel tower hey?
Also I was wondering why there’s an OSM logo in the middle of the view

Congratulations! this is great! But i still don’t quite understand how to upload a model.I follow the instructions from the wiki page.
I have an obj. file with mtl. and textures in one .zip file.On tags field i put building=yes.

How do we link the model to OSM feature? is there any field where we have to put the 3dmr tag?

After i edit metadata nothing appears,just that blue background.Do we have to wait more time before we can see the 3d model?

You should contact -karlos- about it, he made OSM go.

Your first attempt had a folder in the root of the zip file, but all files should be in the root of the zip, I’ll be making the documentation clearer on that. It seems that your second attempt, at https://3dmr.eu/model/7/1, has a model which 3DMR is successfully loading. From looking at it in Blender, try placing the bottom of the building touching the origin (at 0,0,0) and experiment with scaling? Note that you can revise previous models to fix them, instead of uploading new ones.

Simply place a 3dmr=ID tag on the node/way you wish your model to appear on, with ID being your model’s ID, which you can see on the URL of your model, https://3dmr.eu/model/7/1 (in this case it would be 3dmr=7).

No, model viewing should be instant if your model was understood by 3DMR.

It still shows nothing here https://3dmr.eu/model/7/1

Where can I do that? On openstreetmap.org? because my model doesn’t appear there

Also if i go to the server page https://3dmr.eu/ i can see only eifel tower,petronas towers and police box but the other 3, 2 of mine which the first one(with the folder inside the zip folder) i know it’s not good,but neither of this 3 models i can’t see them,just blue color - this happens in latest Google Chrome 64 bits
In latest Internet explorer i don’t see neither of all six models on https://3dmr.eu/ page

By the way can you delete a model after you uploaded it and how?

Ok now i see my model on the repository page,i had to zoom with mouse wheel to see it.
Some of the textures are not in the right place.
I modeled this in C4d and then export it as .obj format and when i open it back in C4d it’s ok - the textures are where it should be

Now,what renders support these 3d models? osmgo.org? because i still can’t see my model there.

f4map-does it render the models?

Now i can see my model on OSMgo24 but it’s rotated 90 dgr on z or x axis i think.
In the repository i see that you can rotate the model on vertical axis - which one of them is that x,y or z?i think it’s y.Because i try to rotate the model but i can’t get it right - my model needs to be rotated on another axis.
I rotate the model and even try to switch axis between them in C4d and i exported the model after that but after i upload it,on OSMgo24 it still doesn’t have the right rotation.

and tell me about F4map,does it support these 3d models?

Thanks for these reports. I’ll see what I can do about them.

No. Admins can hide them, however. Perhaps we could extend that feature to also allow hiding if you own the model file.

Place the model normally in C4d, as you exported it the first time. Then, when exporting as OBJ, there might be an option to export it with Z as the up axis. There’s this option in Blender, maybe C4d has it too (I’ve never used C4d).

I’ve never heard about F4map supporting 3DMR.

F4Map use their own, non-free 3d models. So far, they haven’t expressed an interest in supporting 3DMR, but they’d be welcome of course. :slight_smile:

Wow, thats an amazing project. I dreamed about an OSM related 3D-modell database since a while (having 3D buildings, connect them with an OSM way/node, replace them in 3D renderings) and you exactly realized it. Just saw the FOSSGIS-Talk (german language) - unfortunately my Blender skills aren’t the best but maybee it’s enough to try a simple modell.
Much thanks for your work, I hope this projekt grows and becomes better known in the community!