Well that’s no good if they are always the same value. 3D in c3 seems broken and incomplete.
Maybe those values get set when you use lookAt and not when you set the camera angle?
If the forward expressions can’t be relied on then maybe you can calculate them manually from the expressions that do?
I’m hoping the camera xyz expressions do work. Then maybe there is an expression to convert a screen location to a position in 3D space? Then you’d subtract the camera position from that point and divide it by the distance between the points to get your own forward vector. I honestly am not sure if there is and expression that gives a 3D position from the screen though.
Another idea is the build a 3x3 matrix of the cameras orientation manually with the same info you feed into the 3Dcamera object. Seems labor intensive though. Or maybe the js api provides more access the stuff in the 3Dcamera.
Anyways, just some ideas. I unfortunately don’t have the time to try the ideas or see if I’m missing something obvious.