[x3d-public] X3D Route Editing in the Maya Node Editor
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Fri Jan 17 11:28:38 PST 2025
Aaron this is totally great! Go Go Go!!! 🙂
As ever, when your sculptural hammering converges and the dust starts to settle, integrating any new methods or documenting design patterns for x3d.py will be great to consider.
P.S. Some cross checking might be helpful as you test these things, handling all ROUTE details in a scene can sometimes get tricky.
If i recall correctly, Holger has done interesting work with visual editing of ROUTE connections also. Somewhere near:
*
Sunrize Creating Routes Between Fields
*
https://create3000.github.io/sunrize/documentation/creating-routes-between-fields
Creating Routes Between Fields - Sunrize<https://create3000.github.io/sunrize/documentation/creating-routes-between-fields/>
Dynamic Routes Transform Scenes Instantly. Some fields can be routed to other fields. When two fields are routed, changing the value of one event automatically changes the values of the fields that it is routed to.
create3000.github.io
*
Sunrize: Using the Outline Editor
*
https://create3000.github.io/sunrize/documentation/using-the-outline-editor
Using the Outline Editor - Sunrize<https://create3000.github.io/sunrize/documentation/using-the-outline-editor/>
The Outline Editor lets you. browse and edit the X3D source file for your scene; edit field values; create routes between fields; make precise selections within the scene file
create3000.github.io
As a further double-check for your efforts, all of the X3D Examples have "X3D Documentation" that includes an Event Graph ROUTE Table shows event connections.
*
X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 07 Event Animation Interpolation
*
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation
*
X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 07 Event Animation Interpolation, Motion Interpolator Fish Prototype
*
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/MotionInterpolatorFishPrototypeIndex.html
*
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/MotionInterpolatorFishPrototype.html#EventGraph
The X3D Documentation pages are produced in HTML using X3D stylesheet X3dToXhtml.xslt, as ever under a Web3D Consortium open-source license. Constructing such documentation is also invocable using the appropriate x3d.py method, which bundles it.
Have fun with design visualization of X3D animation! 🙂
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman
________________________________
From: x3d-public <x3d-public-bounces at web3d.org> on behalf of Bergstrom, Aaron via x3d-public <x3d-public at web3d.org>
Sent: Friday, January 17, 2025 7:48 AM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
Cc: Bergstrom, Aaron <aaron.bergstrom at und.edu>
Subject: Re: [x3d-public] X3D Route Editing in the Maya Node Editor
Joe,
This implementation is primarily meant to be a GUI for Maya users to create routes through a familiar interface. Though I am trying to design the backend of it in a way that it might be extended in the future. Currently, it’s only passing Boolean values around to the different nodes… as in “are we connected? True”.
But there is now a Maya Dependency node for each X3D node in the 4.0 spec. I wrote a python script that ingested the node fields for each X3D node, that then generated a Maya Dependency node class in python for each X3D node, along with the necessary Node Editor Template XML files to show the X3D eventIn/eventOut fields in the Maya Node Editor.
Each Maya Dependency node is also a x3d.py node as the have dual inheritance from OpenMaya.MPxNode and their corresponding x3d.NODE. So for instance, the X3D_Transform node in the image is both a OpenMaya.MPxNode and an x3d.Transform node.
All of this is to pave the way for embedding X_ITE and/or X3DOM in a custom Qt Widget that includes a QTreeWidget for the X3D Scene graph similar to the Maya’s Outliner widget for the Maya DAG, and a tabbed panel for the Node Editor and a WebGL window based on QtWebEngine and X_ITE/X3DOM.
The idea is to give content authors the ability to immediate preview X3D content within maya, much in the same way anyone developing with Unity or Unreal can hit the “play” button to test their game engine scene.
Well, that and actually exporting out X3D files using x3d.py.
@Don – Sorry for all the creativity! I will try to limit the creativity in the future as much as possible, but for now, I just gotta get it out of my system!
😃
That said, none of this would be possible if there wasn’t already great work being done with x3d.py, X_ITE, and X3DOM.
Just trying to stand on the shoulders of giants.
Aaron
From: Joe D Williams <joedwil at earthlink.net>
Sent: Friday, January 17, 2025 4:12 AM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>; Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
Cc: Bergstrom, Aaron <aaron.bergstrom at und.edu>
Subject: Re: [x3d-public] X3D Route Editing in the Maya Node Editor
Hey Aaron,
That looks very interesting.
Under the covers there has to be a route-like list for event flows.
per frame.
Good stuff,
Joe
-----Original Message-----
From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org<mailto:x3d-public at web3d.org>>
Sent: Jan 17, 2025 1:17 AM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org<mailto:x3d-public at web3d.org>>
Cc: Bergstrom, Aaron <aaron.bergstrom at und.edu<mailto:aaron.bergstrom at und.edu>>
Subject: [x3d-public] X3D Route Editing in the Maya Node Editor
Here’s a screenshot of the Maya Node Editor demonstrating the capability of using Maya connections to create X3D Routes.
https://drive.google.com/file/d/1s0vi0_-OCFesbV2zGFSm9HNBtZ7iNQ_N/view?usp=sharing
There’s a lot of work to be done yet, but I’m super excited that I at least was able to get the GUI part of it to work.
Aaron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250117/82ef2b94/attachment-0001.html>
More information about the x3d-public
mailing list