[x3d-public] Zee to thee or Zee to me?

Joe D Williams joedwil at earthlink.net
Sun Aug 13 18:35:35 PDT 2023


Question: I am building a Humanoid, should I use +Zout or +Zin?
answer Bing chat with GPT-4 :
"The choice between +Z in or +Z out depends on the software you are using. In general, +Z in is used for Maya and +Z out is used for Blender.
In Maya, the positive Z-axis points towards the camera while in Blender it points away from the camera. So if you are using Maya, you should choose +Z in and if you are using Blender, you should choose +Z out.
I hope that helps! Let me know if you have any other questions." 

However, this might as well say +Zout and +Zin is: one is world standard 3D righthand coordinate system for interactive graphical scenegraphs and thus for character animation, and one uses Dx lefthand system based on proprietary(?) gaming platforms?

One way I heard it was +Zout was designed a long time ago by true innovators of realtime interactive viz to reduce the effects of humans on global climate change and, so the tech would be free (true story). In this plan, the default view of the character to be animated from 0 0 0 is toward the audience, not the scenery at the back of the stage. The default camera is looking at the back of the stage which is in back of the character facing the audience out here in+Z. 

Another story was +Zin was chosen as best cockpit view with pilots butt rooted at 0 0 0 facing +z. In this case the default camera is looking +Z to see the airscape out the cockpit front window. However, for character animation, the Front camera is still looking at the front of the character, so the character to be animated in +Zin is facing -Z. 

Regardless of default Z, our X and Y are the same when viewing the world system Front. Just that for the view of the Front of the model at 0 0 0 is in positive space for +Zout, and in negative space for +Zin. 

So a fundamental disturbance began that made the vrml and the ogl righties and the Dx lefties a basic workflow conflict begin, now I am off the track, like html browser wars with some primary functionality. 

Whatever. For either system the default camera looking at 0 0 0 is going to be aligned along the z axis and looking either toward toward -Z if +Zout or +Z if +Zin, but always looking at the face of the model to be animated. The rear of the stage is visible behind the model. It is only fair to start there because default camera viewpoint looking at 0 0 0 is either either oriented toward -z for +Zout, or toward +z for +Zin.
In either case, the model at 0 0 0 is facing the default camera and the X and Y axis are the same. 

So what does this mean for transportable animations, which is the goal of all this. 

Joe


From: Joe D Williams <joedwil at earthlink.net>
Sent: Aug 10, 2023 3:18 PM
To: X3D Graphics public mailing list <x3d-public at web3d.org>, Vincent Marchetti <vmarchetti at kshell.com>
Subject: Re: Zee to thee or Zee to me?

So, does a debate emerge?. HAnim Humanoid space is by default same as x3d default coordinate space. Basically the x3d Right hand rule where the default viewpoint is facing -Z and if you are on the stage, at 0 0 0 you are looking into the camera, gaze toward +Z. If you move from 0 0 0, the translation to the right is negative, left is positive, up is +Y, and back is -Z and forward+Z. That is also the default rotation for any transform Transform (Joint) of the Humanoid. 

OK, so that was all there was, of course special transformations and rotations of the X Y Z directions for special purposes, including HAnim. For years data has been collected for examples of human stature. Many of those measurements happened to be of deceased and others with most data taken in while the subject is at rest face up. Thus, much of that data used X Y as the ground plane and z as elevation from the floor. Since that is not the model pose we needed for prior to animation pose, the measurement coordinate system was just tilted up, and the model then naturally was facing +Z. This worked fine along with other uses technically, so all is good. 

Until mid-19nineties or so. A major toolmaker, producer and distributor of graphics products decide that right-handedness has had its day and it was time for the lefties to create their niche. So, as the GL is forming along its traditions, Dx emerges. For some undeclared Dx reasoning, now the Z axis is yawed pi rads to make a lefthanded coordinate system. Funny things can happen when you animate a lefty with righty code. Think of the situation where the model doesn't know its Zs have been swapped. How will the model know this has happened? Born a righty but implemented as a lefty. Success or ptsd in store for user?

There is a clear way to convert righty models to lefty models and a systematic way to convert animation codings between the setups, but does the HAnim standard need to recognize both systems. With the goal of accumulating motion and interaction libraries, does x3d HAinimHumanoid need a property that says lefties are allowed and accommodated? 

Anyway, is it worth thinking anything about this now? 
Any common ways of dealing with import of lefty animations into x3d righty system?

Thanks,
Joe




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230814/47e4a527/attachment-0001.html>


More information about the x3d-public mailing list