<div dir="auto">Don,</div><div dir="auto"><br></div><div dir="auto">First off, don’t take running speed of Python as a rule for limiting soft-body physics, when we have Blender and MuJoCo doing okay with C++ without baking.</div><div dir="auto"><br></div><div dir="auto">I didn’t mean to imply soft-body physics was not real-time.   MuJoCo apparently does real-time and well as Blender, with its primitive rendering (minus export).   I think if materials are limited, like 1-2 colors, and non-bendable geometries for skin+skeleton (the joints transform) plus 1 cloth object in the case of MuJoCo, there can be real-time rendering.  The poncho and hammock examples in MuJoCo show limited real-time soft-body physics is possible.</div><div dir="auto"><br></div><div dir="auto">I doubt if one can do thousands of multicolored humanoids, but MuJoCo can do 100 single-<span style="font-family:-apple-system,sans-serif">colored stick-like figures.  It’s not clear if these are soft-bodies, but they are jointed.</span></div><div dir="auto"><br></div><div dir="auto">Obviously, one can’t do the same thing with rendering in real-time games.</div><div dir="auto"><br></div><div dir="auto">Whether X3D can achieve real-time photo-realistic effects is questionable, especially with uncompiled JavaScript or Python, I think NVIDIA’s soft-body results may still be video.  AFAIK, Blender and MuJoCo are both real-time, but perhaps limited in complexity.</div><div dir="auto"><br></div><div dir="auto">It’s pretty much up to the exporter to determine whether to bake or export soft-body physics or possibly use an AI trained model that simulates soft-body physics.</div><div dir="auto"><br></div><div dir="auto">AFAIK, baking is only for video or export to non-physics related rendering.</div><div dir="auto"><br></div><div dir="auto">Maybe I will produce some poncho examples without baking.  It’s easy enough to save a .blend file after exporting to X3D to *experiment* with real-time physics.</div><div dir="auto"><br></div><div dir="auto">I don’t think that eschewing real-time soft-body physics<span style="font-family:-apple-system,sans-serif">, especially in the case of of compiled code (Java, JavaScript and Python are all seeing natively compiled projects) is wise, and will only put X3D out of business long term.  That’s why I’ve been trying to move towards binding-encodings like CPPON, to leverage both C++ speed and C++ to DOM conversion.  I do think the apparel industry can accept baking, perhaps overnight, but they would like to see simplified real-time for debugging before waiting for baking.  Plus, X3D hasn’t really touched modern graphics like Vulkan and WebGPU.</span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif"><br></span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">Also realize that my modelling abilities are limited, and there are probably people in the Blender and Maya communities working with soft-body physics as I type this who are creating wonderful effects.  Think about X3D as input to soft-body tools.  Yes, there can be a soft-body profile defined.</span></div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Dec 3, 2025 at 6:14 AM Don Brutzman <<a href="mailto:don.brutzman@gmail.com">don.brutzman@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thanks for the reminder that general computation of soft-body physics is not a real-time capability.</div><div><br></div><div>Nevertheless "baking" such animations in advance can be a useful technique for real-time playback, as your animated-poncho example showed.</div><div><br></div><div>I've added the following green-highlighted highlighted prose to our design guidelines in draft HAnim v2.1 architecture.</div><div><ul><li>HAnim architecture draft  v2.1, clause 4 Concepts, <span style="background-color:rgb(0,255,255)">4.2.3 Tiered design for skeleton, skin, coveroids</span></li><li><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#TieredDesign" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#TieredDesign</a></li></ul></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><i style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">n. Currently available: first-order physics</i><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">. Simple user-to-geometry collision detection is already available in X3D </span><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/navigation.html#Collision" style="font-family:Verdana,Arial,Helvetica,sans-serif" target="_blank">Collision</a><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> node and </span><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/navigation.html#NavigationInfo" style="font-family:Verdana,Arial,Helvetica,sans-serif" target="_blank">NavigationInfo <i>avatarSize</i></a><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"> node respectively. Current X3D capabilities also include a variety of means to simulate kinematics motion (interpolator nodes, scripting, etc.) and the </span><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/rigidBodyPhysics.html" style="font-family:Verdana,Arial,Helvetica,sans-serif" target="_blank">Rigid body physics component</a><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">. <span style="background-color:rgb(217,234,211)">Although advanced capabilities such as soft-body physics for cloth are not currently computable in real time, planned animations can be precalculated and stored as interpolators for controllable run-time playback.</span></span></div><div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">o. </span><i style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">Deferred: specification requirements for higher-order physics</i><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">. We assume that future systems will include dynamics (forces and accelerations) and inverse kinematics (IK). For the present, we are focused on compatible synchronized coherence between tiers. Connections between coveroids and an underlying humanoid must first be defined. Such a design approach attempts to be compatible with future requirements, identifying critical parameters or limitations when appropriate. Once such a stable tiered design is available, meaningful physics-based examples can be modeled, which is a necessary prerequisite before testing implementation and evaluation of alternatives that might define new specification requirements.</span></div><div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"><br></span></div></blockquote><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Improvements always welcome.  Useful designs always include careful choices.</font><div><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><br></font></div><div><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Again thanks John and everyone for considering the possibilities.<br></font><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting  <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div></div><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 2, 2025 at 12:14 AM John Carlson via X3D-Ecosystem <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank">x3d-ecosystem@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I’ve been working with <span style="font-family:-apple-system,sans-serif">soft body physics baking in Blender X3D export to CoordinateInterpolator and I’m wondering if anyone is interested in this feature in the main exporter.  Just be warned, it will be an optional feature, to be replaced by a soft body solution in the standard.  Also be aware, I’ve personally seen it take over 50 minutes for 250 frames to export, with just one soft body. But I remember the days when it took 2 hours for 1 frame, in 1986.  The interpolator performs adequately, but with low resolution sampling.</span><div dir="auto"><span style="font-family:-apple-system,sans-serif"><br></span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">So far, it’s not a great solution, a soft body may go right through a solid object.  I don’t know if that’s Blender, AI or a sampling issue currently.</span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif"><br></span></div><div dir="auto">I am thinking of a custom property or other identifier for soft bodies may be indicated.</div><div dir="auto"><br></div><div dir="auto">Does anyone know if Transforms can be used to adjust CoordinateInterpolators, potentially by adjusting Coordinate.point via matrix multiplication?</div><div dir="auto"><br></div><div dir="auto">John</div>
-- <br>
X3D-Ecosystem mailing list<br>
<a href="mailto:X3D-Ecosystem@web3d.org" target="_blank">X3D-Ecosystem@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org</a><br>
</blockquote></div>
</blockquote></div></div>