[x3d-public] Fwd: Re: motivations and potential renaming of OM4X3D as X3D Unified Object Model (X3DUOM)

John Carlson yottzumm at gmail.com
Sun Aug 20 01:10:45 PDT 2017


Leonard wrote:



5) Game engines for at least the last 10 years have used an Entity
Component System (ECS). ECS was developed in the early 2000's because of
performance issues with handing extensive object hierarchy. ECS is how
Unity, Unreal, and A-Frame work. It drives their internal data structure
and run-time. Without some sort of explanation of how X3D can be used in an
ECS, it will be dismissed by the entire game community. [Note that THREE
more closely aligns with WebGL and is more object-oriented.]


I think this is a good point and will drive separation of concerns in X3D.
  We already have components in X3DJSAIL and the object model.  You might
think of container fields as containing less generic components and
children fields as a way a way to add generic components.

We may want to make container fields children fields in the standard, but
there's probably a good reason for container fields?  Should we alter the
standard to support more generic ECS operations?

There's also room for components dealing with things like bounding boxes
etc.  I believe the object model reflects this, but not so much
X3DJSAIL--I'd have to check.   Perhaps it should?

How does XML, HTML or SVG reflect an ECS?  Should we be following those or
A-frame?

I think I explained how X3D is an ECS an not how it can be used in an ECS.
Leonard, do you want an explanation as to how X3D can be used in Unreal,
Unity and A-Frame? I believe my answer would be as XML snippets for
importing components, not as a full X3D file.   The XML could be used as an
imported namespace in a more engine-specific XML file.   This truly is the
beauty of XML that probably isn't widely used.   If only we had better APIs
for dealing with multiple namespaces.

How does one distinguish between a component and a transform in A-frame?

John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170820/1dcce1ad/attachment.html>


More information about the x3d-public mailing list