Survey of Tool Default Coordinate System Update
Table 1. Authortime Default Coordinate spaces: Global, Scene, Model
More Candidates:
Vulkan 2D uses a coordinate system where (-1, -1) is in the top left quadrant. So (-1, 1) is in the bottom left quadrant
Vulkan 3D defaults to a left-handed coordinate system with +Y down, +Z out of the screen (behind the default view) and +X to the right.
X3D Edit
Rhino
AgiSoft
ArcScene
SketchUp
Creoform
PointFuze
MayAvi
Titania
Unity
POV-Ray,
VRM
Matlab
Paraview
Modo
polytrans
Meshlab
Vivaty Studio
Table 2 Art Work and listing of RunTime tools Not Complete
Right-Hand +Yup +Z forward X3D SAI
Left-Hand +Zup UNREAL Engine
Table 2. RunTime Default World Coordinate Space
Hi All,
An important topic, one that I hope I can tell
about here and that this wg can develop as the
basis for a recommendation for a
"Standard" Interoperable Avatar suitable as
development platform of Digital Twin concept.
First, it is the opportunity of defining a
"Standard" Host environment for the user
to employ the character in any and all "Standard"
realtime anytime interactive alive applications
available via our beloved WWW.
The target is is the "Standard" World in which
a "Standard" twin is expected to be practical.
That is, the model carries some "Standard" identification
intended for the host and can produce certain expected
"Standard" actions and interactions with the host
scene graph and other characters locally or distributed
into scenes of other Worlds also via our beloved WWW.
The normative content is intended to be platform agnostic.
It is possible that a virtual interactor character
that does not conform to "Standard"
structures and processes is Interoperable
in a "Standard" scene if the entity can reproduce the
required interactions using the "Standard" interfaces.
Extensions and Innovations to these "Standard" features
are negotiable with the host and other entities.
Generally, the user and the model should adapt to
the host "Standard" feature set and not require
extensive conversion operations by the host.
So the first step in this is defining global features of
the Host authortime. For consistency with intentions of the WWW this must be open and free of
license restrictions for the "Standard" features.
Likewise, for the runtime, it must recognize and execute
certain "Standard" structures and interfaces to support
activities under control of the user.
Developing the scene graph delivered to the host runtime
is the authortime, where the user generates the user code.
The organization and functions of the authortime
must accommodate certain functions of the runtime
and can include many syntax and structural validation
steps that may not be desirable of a runtime
that expects to process error-free user code.
To deliver a standardized authortime and resultant
user code certain basic environmental determinations
must be made.
Of first priority is matching the most basic definitions
of the target host environment.
Most basic of that is defining the World, or Global,
coordinate system. At first thought, at least mine anyway,
says of course, it is the GL, most probably the WebGL, and
anything else GL related.
Or, since 2D and 3D computer graphics has been around
a long, long time, maybe it is best to survey the
current field of authoring tools. And, as was done at
the infancy of the GL, find if best practices lead
instead to an alternative form.
These tables show definitions of default Global and Model
coordinate systems used in a collection of 3D authoring tools.
As shown, the major distinctions are whether the space is
y-up or y-down or z-up and either right- or left-hand positive rotation of
each axis. It seems safe to say +x is always to the model left, viewer right.
Another factor is the default viewpoint camera, which is pointing toward -z, aimed at the model at 0 0 0.
In this case, forward is how the model gaze is oriented.
Probably important to see that some of the
authoring tools listed can set their global and model local
space to any of the choices.
Also important to see that although a model can be
converted from drawn and animated in one space
to any other space at authortime, some conversions
are obvious and straight forward and some can be
exhaustive and require some special tips and tricks
only reasonable to implement at authortime.
Table of Global and local coordinate systems with added z direction (gaze of model).
....................Left-Handed........Right-Handed.....+Z Forward.....-Z Forward
Y is UP...................................webGL............webGL
Z is UP
Also see Table 1 supplied by Zeno.
Overall, it is important that the user code
be delivered ready to run in the "Standard"
environment.
On the other hand, it is possible that given
accurate and complete documentation of the
content of the current user code
and of the "Standard" model expected
by the execution context, that an
on-board the model intelligence could configure
most any model for desired functions
in whatever target runtime.