[X3D-Ecosystem] Soft body physics baking in Blender X3D export

John Carlson yottzumm at gmail.com
Wed Dec 3 09:07:08 PST 2025


Don,

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.

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.

I doubt if one can do thousands of multicolored humanoids, but MuJoCo can
do 100 single-colored stick-like figures.  It’s not clear if these are
soft-bodies, but they are jointed.

Obviously, one can’t do the same thing with rendering in real-time games.

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.

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.

AFAIK, baking is only for video or export to non-physics related rendering.

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.

I don’t think that eschewing real-time soft-body physics, 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.

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.

On Wed, Dec 3, 2025 at 6:14 AM Don Brutzman <don.brutzman at gmail.com> wrote:

> Thanks for the reminder that general computation of soft-body physics is
> not a real-time capability.
>
> Nevertheless "baking" such animations in advance can be a useful technique
> for real-time playback, as your animated-poncho example showed.
>
> I've added the following green-highlighted highlighted prose to our design
> guidelines in draft HAnim v2.1 architecture.
>
>    - HAnim architecture draft  v2.1, clause 4 Concepts, 4.2.3 Tiered
>    design for skeleton, skin, coveroids
>    -
>    https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#TieredDesign
>
> *n. Currently available: first-order physics*. Simple user-to-geometry
> collision detection is already available in X3D Collision
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/navigation.html#Collision> node
> and NavigationInfo *avatarSize*
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/navigation.html#NavigationInfo> node
> respectively. Current X3D capabilities also include a variety of means to
> simulate kinematics motion (interpolator nodes, scripting, etc.) and the Rigid
> body physics component
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/rigidBodyPhysics.html>.
> 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.
>
> o. *Deferred: specification requirements for higher-order physics*. 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.
>
> Improvements always welcome.  Useful designs always include careful
> choices.
>
> Again thanks John and everyone for considering the possibilities.
>
> all the best, Don
> --
> X3D Graphics, Maritime Robotics, Distributed Simulation
> Relative Motion Consulting  https://RelativeMotion.info
>
>
> On Tue, Dec 2, 2025 at 12:14 AM John Carlson via X3D-Ecosystem <
> x3d-ecosystem at web3d.org> wrote:
>
>> I’ve been working with 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.
>>
>> 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.
>>
>> I am thinking of a custom property or other identifier for soft bodies
>> may be indicated.
>>
>> Does anyone know if Transforms can be used to adjust
>> CoordinateInterpolators, potentially by adjusting Coordinate.point via
>> matrix multiplication?
>>
>> John
>> --
>> X3D-Ecosystem mailing list
>> X3D-Ecosystem at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-ecosystem_web3d.org/attachments/20251203/2f91cf56/attachment-0001.html>


More information about the X3D-Ecosystem mailing list