[x3d-public] HAnim Winter and Spring: some progress

Holger Seelig holger.seelig at yahoo.de
Tue Sep 19 07:02:55 PDT 2023


1. Restriction on possible connected points and number of displacers

After a night of meditation, I removed the restrictions on the number of references of a coordIndex and also the number of possible HAnimDisplacer nodes per HAnimJoint. This means that now these values depend only on the hardware used. The new implementation is optimal in the sense that only the used number of values adds to the computation time.

For the reason above I can't provide an optimized list, I apologize for this.

2. Negative Scale

A negative scale will not affect what is front face and what is back face. This means that a Text node with solid true, mirrored with negative scale (0 -1 0), also shows its front face to the camera. This makes it possible to create a text with solid true which has a mirrored counterpart which is a clone of the Text node.

A negative scale will not turn the model inside out, it stays as it is. The main advantage is as described above: we can use solid true models in many situations where a negative scale is used without flipping inside out.

This effect is achieved by detecting if there is any negative scale, which can be determined if the determinant of the scale-rotation matrix is less than zero. If this is the case, ccw must be exchanged with cw and vice versa.

Holger

--
Holger Seelig
Leipzig, Germany

holger.seelig at yahoo.de
https://create3000.github.io/x_ite/

> Am 19.09.2023 um 03:06 schrieb Joe D Williams <joedwil at earthlink.net>:
> 
> Thanks Holger, sorry to make a problem, but it seems to be on purpose at this time.
> Important items in these models for now are:
>  
> DEF Tufani HAnimHumanoid { scale 1 1 -1 
> and
>  geometry FALSE
>  
> I need that to make it visible due to the importation process.
> I know fromexperience that X_ITEX3D is not honoring one of those in the rendering of the archive model. 
> The skin is appearing partially transparent, it is being viewed from the transparent side and seeing the texture on the inside side of the skin, looking fairly real, showing the joint marker boxes, through the transparency. until you turn it. Story: the skin and skeleton were actually drawn in +Zin lefthand, so it sort of got turned inside out in the conversion to +Zout right-hand.
> (Hint if you try that, the z-axis reversal by scale does not change handness of any joint.)
> If you know a another style other than just sending it back to the authoring program to fix, then OK, but what you have should work.
>  
> Can you give me back the more optimized listing of the 'edited' index and weights?
>  
> From the running animations, it now appears all skin points are connected to skeleton. Thanks, a fine step. However, this limitation of four weights? is not quite enough to also account for use of displacers. True, four actuators should be enough for most, but still, I think the hardware usually says a vertex can use up to 16, with most mostly 0s. That is obviously way too many, I mean who needs 16 variables to compute a vertex data point location? However 4 may not be enough for facial? Please check with current hanim facial animation project. It is easy to think of a facial expression wanting to animate with more than two joints and two displacers for a total of more than four actuators. I mean we really always want to operate in 16D! 
>   
> X3DOM is working as expected, with everything connected when I click the archive link. And, when I use .x3d files generated at the archives, it works at home with view3dscene.
>  
> So, please let's fix the rendering of these models by X_ITEX3D (and find missing viewpoint) maybe by comparing what you see in other players, along with some thoughts on the importation problem(s) and solution(s). 
>  
> Thanks for All,
> Joe
>  
>  
>  
>  
>  
> -----Original Message-----
> From: Holger Seelig <holger.seelig at yahoo.de>
> Sent: Sep 18, 2023 1:01 PM
> To: Joe D Williams <joedwil at earthlink.net>
> Cc: Donald Brutzman <brutzman at nps.edu>, X3D <x3d-public at web3d.org>
> Subject: Re: [x3d-public] HAnim Winter and Spring: some progress
> 
>  
> I have now released a version that tries to work around the issue of too many references. Since I can't combine more than 4 joins with weights on the GPU, excess joins are now filtered out, namely the ones that are smallest. This works at least well for the three poblematic models here:  Leif, Lily, Tufan. These now cut a better figure.
>  
> One small gripe: The ccw field of the geometry should be set to `false`.
>  
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/index.html
>  
>  
> --
> Holger Seelig
> Leipzig, Germany
>  
> holger.seelig at yahoo.de
> https://create3000.github.io/x_ite/
> 
> Am 18.09.2023 um 03:30 schrieb Joe D Williams <joedwil at earthlink.net>:
>  
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring
>  
> Thanks, but, the today published Lief model displays but has several failures in X_ITE. Choose Look At and scroll to get it in range to view, then choose Examine to rotate. It operates by cycling through several different animations over a 100 second interval.
>  
> For the default view (X_ITE) several connections were broken in the code translation. Leif, Lily, Tufani models broken in same or similar ways, skin bindings and joint rotations. 
> The file labelled X3D Model ("Original XML" although the model was submitted in.x3dv) works as expected in view3dscene. 
> The file labelled Classic VRML (derived from Classic input transcoded to xml then back to Classic) has simple error will not run.
> The file labelled VRML97 will not run, having nodes not in VRML97.
> The file labelled labelled Canonical XML worked fine in view3dscene when downloaded and renamed. 
> X3DOM selection fails -  no TimeTrigger node? fixed
> X_ITE selection very badly broken for unknown reason(s) same as default view. 
>  
> Joe
>  
>  
>  
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>  

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


More information about the x3d-public mailing list