<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Your definition sounds good to me.  Glad to hear that this is consistently sorted out and implemented in recent Blender version.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Here are X3D Tooltip hints for Viewpoint and orientation:</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">X3D Tooltips: Viewpoint</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">Viewpoint provides a specific location and direction where the user may view the scene. Viewpoints are the primary way for a user to navigate within a scene, and for an author to show critical aspects of a model. Unless modified
 by the orientation field, the default direction for a Viewpoint to look is along the -Z axis. </div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/x3d/content/X3dTooltips.html#Viewpoint</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof"><br>
</div>
</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof" style="margin: 0px;">X3D Tooltips: Viewpoint orientation</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/x3d/content/X3dTooltips.html#Viewpoint.orientation</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof"><b>[orientation <a href="https://www.web3d.org/x3d/content/X3dTooltips.html#accessType" id="OWA0c5c34c5-9ae6-ba96-ada6-7e542a63a5e1" class="OWAAutoLink" title="initializable field that can send or receive events at run time">
accessType inputOutput</a>, <a href="https://www.web3d.org/x3d/content/X3dTooltips.html#SFRotation" id="OWAf304c919-0588-52b5-b051-a5660baf03f8" class="OWAAutoLink" title="Single-Field 4-tuple value">
type SFRotation</a> <a href="https://www.web3d.org/x3d/content/X3dTooltips.html#CDATA" id="OWA9f162e5e-a6df-d2be-f707-24781b9c5c3a" class="OWAAutoLink" title="CDATA means Character Data plain text (DTD validation)">
CDATA</a> "0 0 1 0"]</b><br>
Rotation (axis, angle in radians) of Viewpoint, relative to default -Z axis direction in local coordinate system.<br>
<b>Hint:</b> this is orientation _change_ from default direction (0 0 -1).<br>
<b>Hint:</b> complex rotations can be accomplished axis-by-axis using parent Transforms.<br>
<b>Warning:</b> for VR/AR/MR/XR users wearing a head-mounted display (HMD), animating this field may induce motion sickness.</div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Improvements always welcome.  Have fun with X3D!  ðŸ™‚</div>
<div id="Signature" class="elementToProof">
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;"><br>
</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">all the best, Don</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">--</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;"> </span></p>
</div>
<div id="appendonsend"></div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> on behalf of vmarchetti--- via x3d-public <x3d-public@web3d.org><br>
<b>Sent:</b> Sunday, November 24, 2024 11:39 AM<br>
<b>To:</b> X3D-Public <x3d-public@web3d.org><br>
<b>Cc:</b> vmarchetti@kshell.com <vmarchetti@kshell.com><br>
<b>Subject:</b> [x3d-public] X3D, Blender, and which way is up.</font>
<div> </div>
</div>
<div style="line-break:after-white-space">I've seen that the email thread starting with the minutes of the last Blender-X3D support call had a subthread about the orientation conventions that glTF, Blender, and X3D use.
<div><br>
</div>
<div>I recommend Michalis' answer at <a href="https://web3d.org/pipermail/x3d-public_web3d.org/2024-November/020882.html" data-auth="NotApplicable">https://web3d.org/pipermail/x3d-public_web3d.org/2024-November/020882.html</a>.</div>
<div><br>
</div>
<div>One confusing aspect is that not only do Blender and glTF disagree about which axis is forward, they disagree about what the word "forward" means.</div>
<div><br>
</div>
<div>For Blender, the word "forward" refers to the axis that the viewer is looking along when they are viewing the front of the model. </div>
<div>The viewer is translated from the model in the -Y direction, and they are looking in the +Y direction. That, +Y,  is Blender "forward"</div>
<div><br>
</div>
<div>glTF defined "forward" by the model.Looking at the first sentence of the of section 3.4 of the glTF specification. <a href="https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units" data-auth="Verified" originalsrc="https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units" shash="LHIOLucY0kvdIARufUVLyUU8Imw4E/XBASKQb0bkh/kR4YhxnQdRsmAUhnkC5Ds/UUUVKmS6+sff+xOZZOXMbs77hIGN5R/UR5/Q+bf2ILV6hzvvg9WSnP8TjrYyAQD7ToFrp4RH0gftT2Je1reMLCT1751qP5ObWcH+1tO5IgY=">https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units</a>, </div>
<div><span style="font-family:-webkit-standard; font-size:medium"><br>
</span></div>
<blockquote type="cite">
<div><span style="font-family:-webkit-standard; font-size:medium">glTF uses a right-handed coordinate system. glTF defines +Y as up, +Z as forward, and -X as right; the front of a glTF asset faces +Z.</span></div>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>glTF says the "forward" refers to the direction the asset, a.k.a. model is facing and the spec shows this example picture . In Blender terminology this model is oriented "-Z forward"</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><img alt="boombox.png" data-outlook-trace="F:1|T:1" src="cid:5E260929-79CD-4D28-80BE-AAF6C1474AAA"></div>
<div><br>
</div>
<div>The X3D standard has the same orientation convention as glTF, by virtue of the X3D default placement of the Viewpoint at a Z=+10 position and looking in the -Z direction. That is why in Blender terminology the X3D convention should be considered -Z forward.
 The code in the Blender extensions server was changed to this default for X3D import and export on Nov 4 2024 and this default is in release 2.4.0 of this Blender extension.</div>
<div><br>
</div>
<div>Vince Marchetti</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
</body>
</html>