[x3d-public] taste of X3D-BabylonJS converter/viewer

John Carlson yottzumm at gmail.com
Tue Dec 14 00:37:27 PST 2021


The simple web based X3D viewer on the desktop is way behind PlayCanvas 
authoring on the desktop IMHO, but there may be more features, I haven't 
looked at PlayCanvas seriously in some time--I'm not really much of a 
designer.   But I don't know how to support X3D on PlayCanvas yet.

I think the path forward for PlayCanvas may be to convert X3D to 
"PlayCanvas JSON" probably similar to how you've likely converted X3D to 
Babylon JSON.

John

On 12/13/21 23:52, Andreas Plesch wrote:
> I am interested in using BabylonJS, similar to ThreeJS, as a simple
> web based X3D viewer since it has all the latest rendering features,
> and a well supported code base and community.
>
> First, I am just looking at Shapes, no events or anything dynamic.
> Here is a first impression:
>
> https://observablehq.com/@andreasplesch/x3d-babylon-viewer/2
>
> Checkout out the node inspector. It is nice and could also provide
> some inspiration.
>
> Basic geometry and ITS as well as IFS work, as well as basic material
> and diffuse image texture. Background, Viewpoint, headlight and a few
> light types are also working. DEF/USE is also somewhat supported but
> has to be tweaked for node types since Babylon has various kinds of
> instancing for shapes, but other objects have to be shared by
> referencing on a JS level. The converter works by constructing a BJS
> scene, as intended, and then serializing to their JSON format which
> supports most features. There will need to be some postprocessing
> after importing back to reestablish some DEF/USE object references in
> memory.
>
> I think after adding Extrusion and ElevationGrid, this could already
> be useful for static uses. Not sure about Inline as it will require
> namescopes and invoking the parser from itself which ObservableHQs
> reactive dataflow may not like. One idea which came up in BJS forum
> was to hand code dynamic features around the imported Shapes (Meshes).
>
> I am using ObservableHQ for rapid development/testing for now.
> BabylonJS itself is TypeScript which will be an  interesting option.
>
>
>



More information about the x3d-public mailing list