[x3d-public] [...] HAnim2 X3D4 BoxMan update

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Wed Jan 4 11:32:17 PST 2023


Hey Joe.  Follow-up from our discussion on BoxMan improvements.

 

a.	The online BoxMan4 is flawed because converters were unable to
import your hand-edited .x3dv version properly.  During our last call, it
sounded like you isolated the problem, occurring due to ROUTE children
within a Group not getting handled.  If able to diagnose and fix
VRML/ClassicVRML import problems, that is worthwhile.

 

b.	Discovered a problem: am unable to find original model, on my system
(version control) or on our website.  It must not have gotten checked in,
ouch. Joe (or anyone) can you find it?  Might require careful trawling in
the email archives.

 

*	original VRML97 model by James Smith of Vapour Technology
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/boxman.o
riginal.wrl (missing)

 

c.	Thanks to prior work on our part in 2017, two working versions using
X3D3 HAnim1 exist in the Legacy directory of our models archive.  These are
not the same as the original VRML97 model.  For clarity, recommend we add
"3" for X3D3 to each of the .x3d legacy file names.

 

*	X3D Example Archives: Humanoid Animation, Legacy, Box Man
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/BoxManIn
dex.html

 

*	X3D Example Archives: Humanoid Animation, Legacy, Box Man Animation
Panel
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/BoxManAn
imationPanelIndex.html

 

d.	Next, let's copy those two models as BoxMan4.x3d and
BoxMan4AnimationPanel.x3d for addition to the Skin directory.  Then we can
apply any further improvements you want, along with any further
diagnostics-driven cleanups that might be needed.

 

*	https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin

 

Over these many years, I think that our careful renaming (rather than
clobbering) of prior models has helped us demonstrate a steady working
evolution from X3D3 HAnim1 to X3D4 HAnim2.

 

Hope this progression makes sense to you too - thanks Joe.

 

p.s. interesting page:

 

 

*	Fundamental Laws of Engineering, maintained by Margaret
Fleckhttps://www.cs.hmc.edu/~fleck/laws.html
*	https://www.cs.hmc.edu/~fleck/laws.html

 

First Law: The correct order is: debug, then ship.

 

Second Law: If it isn't broken, don't fix it.

 

Third Law: If you fiddle with something long enough, it will break.

 

Fourth Law: It works better if you plug it in.

 

Fifth Law: If it's wedged, power-cycle it.

 

Sixth Law: A working example is worth a thousand manual pages.

 

Seventh Law: Failures occur where two parts join.

 

Eighth Law: Demos cause failures.

 

Ninth Law: Systems grow more complex with time.

 

Tenth Law: If it's too complex, rebuild it.

 

Eleventh Law: Small parts vanish when dropped.

 

Twelfth Law: Don't build from components what you can buy pre-packaged for
less.

 

 

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: Joseph D Williams <joedwil at earthlink.net> 
Sent: Monday, December 26, 2022 10:25 AM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; Michalis Kamburelis
<michalis.kambi at gmail.com>
Cc: h-anim at web3d.org; X3D Public Mailing List (x3d-public at web3d.org)
<x3d-public at web3d.org>; Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
Subject: RE: [...] HAnim2 X3D4 BoxMan update

 

Hi, 

I worked with the original .wrl and moved the original walk script to
timer-interpolator style and hooked up other animations. 

Humanoid Animation X3D Examples Archive, Legacy, Box Man (web3d.org)
<https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/BoxManI
ndex.html> 

The boxman is not moving. 

*
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examp
les/HumanoidAnimation/Skin/BoxManJoeAnim.reworked.x3dv

The boxman is moving. 

 

Will look for what is causing that conversion error. 

Thanks, 

Joe

 

From: Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu> 
Sent: Sunday, December 25, 2022 2:14 PM
To: Joseph D Williams <mailto:joedwil at earthlink.net> ; Michalis Kamburelis
<mailto:michalis.kambi at gmail.com> 
Cc: h-anim at web3d.org <mailto:h-anim at web3d.org> ; X3D Public Mailing List
(x3d-public at web3d.org) <mailto:x3d-public at web3d.org> ; Brutzman, Donald
(Don) (CIV) <mailto:brutzman at nps.edu> 
Subject: RE: [...] HAnim2 X3D4 BoxMan update

 

p.s. X3D-Edit (i.e. Netbeans) does a good job on bracket matching for both
squiggly and square brackets in .x3dv files.  Nevertheless I was not unable
to find a model error.

 

Might be a conversion error - perhaps something is unexpectedly triggering a
problem in the view3dscene converter.  At line 687, the model transitions
from a series of OrientationInterpolator declarations to a series of ROUTE
declarations.  These are all within the DEF StopAnimation Group children [.]
field, which looks legal to me.

 

[lines 683-689]

 

  DEF Stop_r_pinky1RotInterp OrientationInterpolator { key [0,0.5,1]
keyValue [0 0 1 0,0 0 1 0,0 0 1 0] }  

  DEF Stop_r_pinky2RotInterp OrientationInterpolator { key [0,0.5,1]
keyValue [0 0 1 0,0 0 1 0,0 0 1 0] }  

  DEF Stop_r_pinky3RotInterp OrientationInterpolator { key [0,0.5,1]
keyValue [0 0 1 0,0 0 1 0,0 0 1 0] }

 

  ROUTE StopTimer.fraction_changed TO
Stop_HumanoidRootTransInterp.set_fraction

  ROUTE StopTimer.fraction_changed TO
Stop_HumanoidRootRotInterp.set_fraction

  ROUTE StopTimer.fraction_changed TO Stop_sacroiliacRotInterp.set_fraction

 

 

all the best, Don

-- 

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu
<mailto: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: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu
<mailto:brutzman at nps.edu> > 
Sent: Sunday, December 25, 2022 1:40 PM
To: Joseph D Williams <joedwil at earthlink.net <mailto:joedwil at earthlink.net>
>; Michalis Kamburelis <michalis.kambi at gmail.com
<mailto:michalis.kambi at gmail.com> >
Cc: h-anim at web3d.org <mailto:h-anim at web3d.org> ; X3D Public Mailing List
(x3d-public at web3d.org <mailto:x3d-public at web3d.org> ) <x3d-public at web3d.org
<mailto:x3d-public at web3d.org> >; Brutzman, Donald (Don) (CIV)
<brutzman at nps.edu <mailto:brutzman at nps.edu> >
Subject: RE: [...] HAnim2 X3D4 BoxMan update

 

This is great, thanks Joe.  Looks like you worked with

*
http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/BoxMan.x3d
v

With original moved and now maintained at

*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/BoxMan.x
3d
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/BoxManIn
dex.html

 

Your updated ClassicVrml .x3dv model is checked into version control as

*
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examp
les/HumanoidAnimation/Skin/BoxManJoeAnim.reworked.x3dv

 

Next, imported .x3dv to .x3d using Castle Game Engine tovrmlx3d Convert
everything to X3D server.  However, got one significant error:

*	https://castle-engine.io/convert.php
<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcastle-en
gine.io%2Fconvert.php&data=05%7C01%7Cbrutzman%40nps.edu%7C94412e3682e8489336
8c08dae76e9015%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C6380767593342572
86%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1ha
WwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=r0amIemAHtRiCOnxHwoPxQPozZMGBxmEKhYv
8aHqONU%3D&reserved=0> 
*	tovrmlx3d: Warning: VRML/X3D: Error when reading, will skip the rest
of X3D file: Error at line 687 column 8: Expected node type or DEF or USE,
got keyword "ROUTE"

 

Unfortunately that error prevented any conversions of ROUTES, dropping
everything following the HAnimHumanoid.  Current partial result checked into
version control as BoxMan4.x3d

*
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examp
les/HumanoidAnimation/Skin/BoxMan4.x3d
<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourcefor
ge.net%2Fp%2Fx3d%2Fcode%2FHEAD%2Ftree%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexam
ples%2FHumanoidAnimation%2FSkin%2FBoxMan4.x3d&data=05%7C01%7Cbrutzman%40nps.
edu%7C94412e3682e84893368c08dae76e9015%7C6d936231a51740ea9199f7578963378e%7C
0%7C0%7C638076759334257286%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQI
joiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=YdDmCry9ZiI7
LiKPkRJBkXRfyQ4MKdd4%2Fo19iUMov9g%3D&reserved=0> 

 

I looked for a squiggly square bracket mismatch in your .x3dv source but
could not isolate one.  Can you find the fix?

 

Next for Michalis:  something in your (excellent) converter is slowing us
down.  Currently a lot of trailing digits are added to many numeric values
by the converter, making it difficult to perform version-control diffs and
difficult to keep values easily readable.  Example:

*	Background { groundColor [ 0.6 0.6 0.6 ]  [ 0.75 0.75 0.75 ] }

turns into

*	<Background

                     groundColor="0.60000002384185791 0.60000002384185791
0.60000002384185791"

                              skyColor="0.75 0.75 0.75" />

 

Hoping you can reduce output precision.  A good default is four trailing
digits, which is typical for HAnim suggested values and most other X3D
defaults.  Thanks for considering this improvement.

 

all the best, Don

-- 

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu
<mailto: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: Joseph D Williams <joedwil at earthlink.net
<mailto:joedwil at earthlink.net> > 
Sent: Saturday, December 24, 2022 12:41 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu <mailto:brutzman at nps.edu>
>; X3D Public Mailing List (x3d-public at web3d.org
<mailto:x3d-public at web3d.org> ) <x3d-public at web3d.org
<mailto:x3d-public at web3d.org> >
Cc: h-anim at web3d.org <mailto:h-anim at web3d.org> ; Brutzman, Donald (Don)
(CIV) <brutzman at nps.edu <mailto:brutzman at nps.edu> >
Subject: RE: Design patterns for HAnimHumanoid skin and apparel using
HAnim2standard in X3D4

 

Hi Don,

Attached is reworked boxman, with skin and interpolators rather than the
script used in original version.

Thanks, 

Joe

 

From: Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu> 
Sent: Saturday, December 24, 2022 11:42 AM
To: X3D Public Mailing List (x3d-public at web3d.org)
<mailto:x3d-public at web3d.org> 
Cc: h-anim at web3d.org <mailto:h-anim at web3d.org> ; Joseph D Williams
<mailto:joedwil at earthlink.net> ; Brutzman, Donald (Don) (CIV)
<mailto:brutzman at nps.edu> 
Subject: Design patterns for HAnimHumanoid skin and apparel using
HAnim2standard in X3D4

 

Joe, thanks for steady efforts making progress on HAnim models.  Your latest
examples are online as follows, with diagnostics and testing continuing.  At
some point we will want to produce cleaned-up versions of legacy BoxMan
models too.

 

*	X3D Example Archives: Humanoid Animation, Skin
*	https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin

 

In order to keep track of all the different ways that apparel might be
included with an HAnim2 X3D4 model, we have come up with the following list
of possibilities.

 

 

*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/DesignPatt
ernsApparelVariations.txt

 

   Design patterns for HAnimHumanoid presenting skin and apparel

                   using HAnim2 standard in X3D4

 

   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

 

a. *Simple Skeleton*. skeleton field, simple skeleton structure, invisible
or

    visualized by rendered ball-and-stick for joints, segments, sites.

 

b. *Simple Skeleton Mesh*. skeleton field, Shape geometry attached to
segments,

   moving with skeleton but rendering is crude since no deformation occurs

   during animation if overlapping.

 

c. *Skin, Indexed Geometry only*. skin field, indexed Coordinate mesh with

   skinCoordIndex and weight connections at each of joint nodes for browser

   performance of smooth deformation when moving.

 

d. *Skin, Shape holding indexed geometry*. Allow skin field to hold Shape

   containing Appearance with Material or texture, similarly holding indexed

   mesh with skinCoordIndex connections at joints for smooth deformation 

   when moving. (Specification revision pending, Mantis 1408).

 

e. *Switch or LOD*. Similarly allow skin field to hold Switch or LOD, then a

   single Shape holding indexed mesh.  If agreed upon that this is extremely

   similar will require specification change resembling Mantis 1408.

 

f. *Synthesis*. Extra-large Coordinate mesh using duplicate points for 

   inner-volume (flesh mesh) and outer-volume (apparel mesh) geometry.  

   Likely possible with existing X3D4 specification but requires complex

   preprocessing of humanoid geometry.  Applying cloth physics likely not

   practical or possible.

 

g. *Apparel*. Add apparel field to future specification versions (namely

   HAnim2.1 and X3D4.1), allowing separate definition of clothing that is

   independent of skin mesh.  Likely want an MFNode array to permit multiple

   clothing layers.  Likely need to consider special cases for cloth
physics.

 

h. *Anatomy*.  Similar to apparel field: multiple epithelial tissue layers

   for surfaces of human organs are common, often with similar construction

   about concentric center-line spine through deformable organ.  This
suggests

   that an adapted Extrusion node may be more relevant than meshes.  Likely 

   will also need to consider special cases for organ physics.  Note that
this

   is similar (possibly identical) rationale to preceding analysis of
apparel.

 

 

also thanks to Vince and Dick for thoughtful discussions as we have
proceeded.

 

Happy Holidays everyone!

 

all the best, Don

-- 

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu
<mailto: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

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230104/98d668f5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5353 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230104/98d668f5/attachment-0001.p7s>


More information about the x3d-public mailing list