3D Model Repository

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!

Thank you for the kind words, and I hope you enjoyed the FOSSGIS talk! Looking forward to your contributions if you manage to tame Blender! :slight_smile:

Yes, I added the tag in OSM. Just to a Node, about at the right place. There is no Building in OSM to correctly add the 3dmr-tag, could you add it? And you should edit the size value of you model in 3DMR or in C4D. In OSM, 1 unit is 1 Meter. Then you will see this:

We need to add more documentation to 3DMR, may be even a tutorial - as video.

The orientation value in the 3DMR is meant to rotate the model to the real compas direction of the building. Values for switching axises could be added to 3DMR but I hope, you will be able to correct it in C4D. If you still have trouble, tell me, we will solve it, together.

  • The start page of 3DMR shows the 6 last imported models. It takes quite a while until the models get visible. :roll_eyes: May be there sould only be pitures (screenshots of the rendereing). The rendering, rotating and scaling may be in the single model view only.

  • Quite a view models don’t render well. An info/error-message would be helpfull. I know, its on GitLab. I realy sould start to help there. :sunglasses:

Ok now the orientation/rotation and scaling of my 3d model it’s pretty ok.I don’t know exactly what i did in C4d - i flipped the Z Axis,swaped Y/Z axis,swapped faces in the obj. exporter options but in the end it turned ok.

Another aspect to consider it’s clearing the browser cache after you revised your 3d model,because in the first time i didn’t clear it all the time,and thus i couldn’t see all the “transformations” on the Osmgo page.

I should correct the position of the model,i mean move it in the horizontal axis,but this i think it should be fixed with making the area of the building in Openstreetmap editor and then assign the right 3dmr tag to it,isnt’it?

In OSMgo, the values of the parameter “origin” of 3dmr.eu are used now, to shift the zero/rotation point of the model. Meaning: [right,near,elevate]. :slight_smile: Mind: If you edit them, they toggle the sign! I think, it’s a error :confused:

To test the values of “origin”, 3D models now can be moved (shift & arrow keys), elevated and rotated (no shift) if selected. :sunglasses: Just click on it (only in control mode “View”, key X to select it).

It’s not final. We have to define a lot of things - later.

Moved flying 3D model Tardis

There is a new visible 3D model /9 . It has to be scaled yet.

And there is an error in the Javascript code, to be investigated.

https://osmgo.org/go.html?lat=46.11468713&lon=3.68270798&ele=7.96&dir=38&view=-30&dbg=1&fps=10&con=1&tiles=1&opt=0&name=montagne

church in OSMgo

In the last days, some models have been uploaded. Rendering them and implementing was a challenge, may questions raised. Some user of 3dmr.eu missed descriptions. This is a collection of topics. Please check them, if I am correct. We should place the user documentation to a Wiki page and work it out incrementally. It’s not done, the more difficult obstacles are still on the way. (I did not code the replacement of relations and building:parts yet.)

  1. Create and upload Zip-file.

  2. Tag model in OSM

  3. Fine tune parameters metadata of the model

  4. Create and upload Zip-file

  • Edit your own 3D model or find a good one. In this case clarify the copyright! You may use Blender, Sketchup or any tool you like. Set the positive y to the north and positive x to the east,

  • The file format actually is OBJ with MTL. Both should have the same name. There may be multible material files JPG, PNG? No unused and none missing please. It would be better, if the images sizes are power of two (i.E. 512x256). Don’t add extra data, as macOS used to do! (You may clean the zip by the two commands: zip -d name.zip *.DS_Store zip -d name.zip "__MACOSX*”)

  • Put all the files on one ZIP file. Do not use any path, just a flat list. There mustn’t any path in the MTL file to!

  • Later we may also support other file formats like Collada

  • Login into www.3dmr.eu with you OSM login. (AOout??)

  • Add a new model by “Upload Model”. Give it a name, description, tags and categories (more hints needed)

  • If it is a uniq object, set its position by map or values. The GPS position is NOT the position used by the renderer, only to find repository models in an given bounding box.

  • You may already know the scale

  • A model like a bench should have its origin at the center, to make rotation possible. To adjust this, you may set the offset origin values now or later by testing it out. The meaning of the 3 values are: with/right , dept/back , elevate up. Their unit is the models unit before scaling, not afterwards in Meter.

  • The rotation value may be needed to let the modes direct to the expected side (like a bench is directed to the view you have, if you sit on it. All instances of i.e. a bench should have its direction tag. So both values later are added by the renderer. The direction tag may also be “along” to place a bench along the nearest way it is placed to.

  • A unique model like the Eiffel Tower may only use the repository value.

  • Licensing: More Info!

  • And finally upload the ZIP file

  1. Tag model in OSM
  • Multiple used models like a benches usually placed by an OSM Node. So just add the Tag “3dmr” = “id-number” (or uuid, mesonic name, in discussion) For objets like a bench, an Tag “direction” is recommended. See the wiki page for all the options. - The default symbol or object, the Node usually is shown will not get rendered but replaced by the model.
  • A model may also be tagged to an OSM way, like a “building" or an small “amenity”. Never on open ways? How is the “center” of an area calculated? All renderers should use the same algorithm. Maybe we need an pseudo code for it. If it is a unique used model, the origin Metadata may fit the model to the right place. - The default object, the Way usually is shown will not get rendered but replaced by the model. That includes all building:parts inside this area, partial to?
  • An OSM relation is NOT adequate to place a model because it does not have a defined position. But the “outer” member as an are is fine. In this case, all member objects of the relation will not get rendered but replaced by the model, also including building:parts. If the area, a relation covers does not fit to the model, the model should be divided in multiple parts, an extra relation for a model should be avoided.
  1. Fine tune parameters metadata of the model
  • Depending on the data refresh cycle of the used 3D renderer, that may be a view minutes with overpass, the model should now be visible.
  • Changing the Metadata in the repository should be valide at once. Refresh the rendering (mind the cache!) and repeat this until the model is placed accurate. The 3D renderer may provide an interactive fine-tuning of the model and set direct or show you the values to edit into the metadata.

Now scaling is also posible. :sunglasses:
The controls are soft now, the display unified for all values

Fine tuning of a 3D model, rendered out of http://www.3dmr.eu
Click the model to select. Start to find out its metadata
<> rotate/direction ^v scale
shift <>^v and pageUp/down to place origin (right,back,up)
0 or o reset all

Tweet with movie: https://twitter.com/OSM__go/status/984003969071673346 :smiley:

How to get from a model in 3dwarehouse.sketchup.com to 3dmr

In 3dwarehouse:

If no Collada.dae file is present, download the SketchUp.skp
Open skp in SketchUp (I user 2017)
File Export 3D Model to *.dae .... wait
Set the Options! Two-Side, NO Edges, Export textur maps
Next to the Name.dae will be a folder Name with the textures.

Open Blender

Erase the block and import the dae. Textures are NOT visible
Export to OBJ .... wait
Set the Options! NOT include Edges, Write Materials
You will see a Name.obj and Name.mtl but NO Textures. Use the folder from SketchUp

For 3DMR.eu you need more steps:

Move obj and mtl into the folder from SketchUp
Edit the Name.mtl and remove (Text replace all) all path at the texture files
Create a ZIP with obj, mdl and all textures and upload it to 3DMR.eu

If you check the log output of OSM-go you will see a lot of warnings because the texture sizes are not Power-of-Two. It works anyway. To be perfect, resize the textures to the values of the warnings before you ZIP the model.

Hi all,
when I try to login at https://3dmr.eu/ I got a “Server Error (500)”…

Login is broken? After Logging in by OSM, I get Error 500.

3DMR is online again!

From my friend Martin, I got a small container-crane and uploaded it. Th moving parts are missing yet and will follwe. 3DMR does not support moving models yet (windmills, London Eye, etc. but also moving sequences like building site cranes etc. That may be done one day to.

It was not to much work to place multiple instances of the crane in OSM. As I assumed, there were some cranes, visible by satellite images, in the port of Cologne (Köln) and (hurray) there were already nodes in OSM: https://www.openstreetmap.org/node/2561999495

I had to add the tags 3dmr and direction. And I had to move one of the nodes to have them all at the same distance to the water:
http://osmgo.org/go.html?lat=50.97991&lon=6.97676461&ele=37.12&dir=158&view=-16&name=crane&tiles=6&opt=2

Cranes in Cologne port

The tagging of the nodes just did say: container crane, no size, no type nor the company it was build. But because it is not at a see port, it most probably its a small crane, not a big container crane for oversee ships. In theory, any node, tagged the same way could be replaced by a crane model without the 3dmr-tag. Well, you need some AI to find the water border and adjust direction and position this way :-o Yes, I am dreaming.

For now it should be done manually. Overpass does show uns quite a view cranes as candidates.
node"seamark:crane:category";
But there are a lot of other types! We could ask the building company for a list. They would get dubious, wouldn’t they? This one looks good:
https://www.openstreetmap.org/edit?editor=id&node=2544979831#map=17/51.62641/6.60709

Adding the tags is done quickly. Even the direction is easy to set by iD. Only the position is a problem. May be we should set the 0.0 point in 3DMR to the water border? No that would mean to shift all notes to this point to. In OSMgo is a nice function to find the coordinates for 3DMR. It also should be able to find the needed lat/lon for the node.