COLLADA 1.5 Camera Orientation


#1

Hi,

I came here from: https://forums.khronos.org/showthread.php/10207-Camera-orientation

But COLLADA 1.5 says:
The camera is defined such that the local +X axis is to the right, the lens looks towards the local -Z axis, and the top of the camera is aligned with the local +Y axis (also see the <lookat> element). This orientation is affected by the <asset> element’s <up_axis> value.

I’m confused a bit, camera element has it’s own asset element and there is a global <asset> too.
Does camera element/orientation inherit the global (document) or any parent <asset><up_axis> if <camera> doesnt have one?


#2

The orientation of nested assets overrides those of the parent. They are not in terms of the parent’s parameters. This is covered first thing in <asset> section of the 1.5 PDF specification. That’s the first place you should look for semantics.


#3

Thanks, now I see the statement:

Details
In the case of hierarchical <asset> elements, where both the parent and child assets supply a value for the same metadata, such as for <unit>, the child asset’s value supersedes the parent’s value within the scope of the child element. This applies recursively.

But if camera always loking toward -Z (https://forums.khronos.org/showthread.php/10207-Camera-orientation)
then, Does <up_axis> meaningful for <camera>? There are lookat and other transform elements in <node> which are define camera orientation/rotation


#4

I don’t know. I don’t have any real experience with the semantics. If there was good software that implements COLLADA you could see what they do. These things can get very complicated.

The <up_axis> is mainly for numbers inside the element. So if <lookat> is inside the <camera> then it’s in terms of the camera. It’s for if you link to a document that uses different conventions.