How to create b3dm models and render on Cesium globe

3,713 views
Skip to first unread message

Parthesh Bulbule

unread,
Oct 27, 2015, 4:49:13 AM10/27/15
to cesium-dev

 Hello everyone,

            I have started working recently on visualization of 3D city models on Cesium and it is painful that we still don't have a working method to do so. Now I know that people at AGI are working really hard towards developing 3D tiles, but it would be great to know that how in the NewYork example (http://cesiumjs.org/NewYork/) they were able to create b3dm models and render them on the globe. Although this link (https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/b3dm)tries to explain but people like me would still be puzzled about what's going on. If someone could simplify it a bit down then it would be quite beneficial to find other ways also for tiling schemes and model rendering.

Thanks
Parthesh B.

Patrick Cozzi

unread,
Oct 28, 2015, 7:46:09 AM10/28/15
to cesium-dev
Hi Parthesh,

As of now, that link is the best information available.  As 3D Tiles progress, more details will come out.  We're still planning to finalize this in the spring.  Watch this thread for the latest news.

Patrick

jbo023

unread,
Oct 28, 2015, 9:00:17 AM10/28/15
to cesium-dev
Hi Parthesh, 

we can provide another demo dataset from berlin, maybe this will help you. 

The buildings are from the Berlin 3D open dataset see http://www.businesslocationcenter.de/en/downloadportal

If you check out single B3DM Files and see the plain text json at the end and start of the file you can maybe arrive at an solution. 

Jannes

Parthesh Bulbule

unread,
Oct 29, 2015, 3:13:04 AM10/29/15
to cesium-dev
Thank you very much Jannes, I'll try.

Gergely Padányi-Gulyás

unread,
Nov 17, 2015, 8:26:44 AM11/17/15
to cesium-dev
I tried what Jannes adviced, managed to load the tiles.json by specifying the url as "http://hosting.virtualcitysystems.de/demos/intergeo/berlin/berlin_untextured/output".
I zoom to a specific model (15/35208/6832.b3dm) by setting a rectangle to its extent. In the browser I can see the 6832.b3dm file, it is downloaded correctly. But I still can't see the model itself.

What was I missing? Here is my code:

    var viewer = new Cesium.Viewer('cesiumContainer');
    var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        show: true
    }));
    var redRectangle = viewer.entities.add({
        name : 'Red translucent rectangle with outline',
        rectangle : {
            coordinates : Cesium.Rectangle.fromDegrees(13.40483721, 52.46717907, 13.404882244, 52.46724347),
            material : Cesium.Color.RED.withAlpha(0.0),
            outline : true,
            outlineColor : Cesium.Color.RED
        }
    });
   
    viewer.flyTo(redRectangle, {
        offset : new Cesium.HeadingPitchRange(Math.PI / 2, -Math.PI / 4, 20)
    });


Thanks in advance

           Gergely

b3dm.png

jbo023

unread,
Nov 17, 2015, 3:02:45 PM11/17/15
to cesium-dev
Hello Gergely,

the dataset does not work with the current Version of the 3d-tiles branch because of some changes in the 3d-tiles Spezifikation.

You can either use an old Version of the branch or wait for some days, we will put an updated version of the dataset online soon.

Best regards
Jannes

Gergely Padányi-Gulyás

unread,
Nov 17, 2015, 4:42:36 PM11/17/15
to cesium-dev

Hello Jannes,

Thank you for the information. Can't wait to try the updated dataset! Keep up the good work.

Best,
     Gergely


--
You received this message because you are subscribed to a topic in the Google Groups "cesium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/75HXcS5aIiU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cesium-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

jbo023

unread,
Nov 24, 2015, 9:58:28 AM11/24/15
to cesium-dev
Hello Gergely, 

if you are still interested in an b3dm dataset, we just updated our berlin dataset. 


It should work with the current 3d-Tiles branch.

Best, 
Jannes

Gergely Padányi-Gulyás

unread,
Nov 25, 2015, 3:29:29 AM11/25/15
to cesium-dev
Hello Jannes, 

Thank you so much for the new tiles url. This works like a charm!

Best,
          Gergely

Gergely Padányi-Gulyás

unread,
Nov 25, 2015, 3:54:40 AM11/25/15
to cesiu...@googlegroups.com, jbo...@googlemail.com
Hello Jannes,

Just one more question.
What terrainProvider should I use for the Berlin dataset?
If I use the "official" cesium terrainprovider ("//assets.agi.com/stk-terrain/world") it seems to be covering most of the buildings.

Best,
          Gergely

jbo023 <jbo...@googlemail.com> ezt írta (időpont: 2015. nov. 24., K, 15:58):

Parthesh Bulbule

unread,
Nov 25, 2015, 4:35:50 AM11/25/15
to cesiu...@googlegroups.com
Hey Gergely,

    Can you kindly show the link for the 3D tiles working branch, because this link (https://github.com/AnalyticalGraphicsInc/3d-tiles) has only figures, ppts and json files but no javascript files. I get the error "Cesium.Cesium3DTileset is not a function".

Thanks
Parthesh

Gergely Padányi-Gulyás

unread,
Nov 25, 2015, 4:46:41 AM11/25/15
to cesiu...@googlegroups.com
There is no 3d-tiles repository. It is a branch in the official cesium repository.
Go to https://github.com/AnalyticalGraphicsInc/cesium, change the branch to "3d-tiles" that is what you need.

If you wish to clone the repo, this is how you can do it from the command line:
git clone https://github.com/AnalyticalGraphicsInc/cesium --branch 3d-tiles --single-branch
Good luck!

         Gergely

Message has been deleted

shri...@hartleylab.com

unread,
Nov 17, 2016, 2:22:47 AM11/17/16
to cesium-dev
I am trying to implement the 3D output but getting following error

TypeError: Cesium.Cesium3DTileset is not a constructor

I am using Build 1.27. Here is my sample code

var viewer = new Cesium.Viewer('cesiumContainer');

var url = 'output/tileset.json';

var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
url : url
}));

Gergely Padányi-Gulyás

unread,
Nov 17, 2016, 11:50:17 AM11/17/16
to cesium-dev
Are you sure you cloned the correct branch? I played around with 3D Tiles quite a while ago, but at the time there was a branch called 3d-tiles. You should clone and build that one instead of the master branch.

Hope that helps.

       Fegyi

To unsubscribe from this group and all its topics, send an email to cesium-dev+unsubscribe@googlegroups.com.

liang...@gmail.com

unread,
Dec 21, 2016, 9:11:19 PM12/21/16
to cesium-dev
Does this dataset still work? I can't get it to show anything on the current 3d-tiles branch.

Lucas Silvestre

unread,
Mar 21, 2017, 11:05:42 AM3/21/17
to cesium-dev, liang...@gmail.com
I can't get it working either.

Am I missing something?

Sean Lilley

unread,
Apr 3, 2017, 8:25:21 PM4/3/17
to cesium-dev, liang...@gmail.com, lucas.s...@vrmtechnology.co.uk
The New York tileset was updated somewhat recently and I just tested that it works fine on the 3d-tiles branch. The tileset can be loaded with the url https://cesiumjs.org/NewYork/3DTiles.

The Berlin tileset linked above is down.

Arup Roy

unread,
Jun 15, 2018, 3:35:18 AM6/15/18
to cesium-dev
please anyone tell me how to create a B3DM file only for particular region  ?

like in the gltf  we can make a objects(buildings) using sketchup  tool .
like a same way how can I make this objects  and create a b3dm file of the particular region .
please help.
Reply all
Reply to author
Forward
0 new messages