Login or Signup

How to limit camera rotation

BlitzMax Forums/OpenGL Module/How to limit camera rotation

Warner1+ years ago #1
In response to a question:

Arska1+ years ago #2
What if i need my character entity to point another entity which is positioned to pickedx, pickedy and pickedz (camerapick). With 'pointentity' problem is that it points entity to another in all angles.

Maybe picture explains better:

Warner1+ years ago #3
So you want pointentity only at one axis? You could copy PointEntity from the engine to your main program, and take out two of the three angles to do that.

In maths, you would need to use atan2 to achieve this. These are 2D maths.
If you have two 2d coordinates, you can calculate the angle from point 1 to point 2 using atan2:

angle# = atan2( y2-y1, x2-x1 ) 'gives angle between (x1,y1) and (x2,z2)

The 3d scene could be seen as a 2d world lying down. Then, the y-coordinate is not important, and you only take x and z in account:

angle# = atan2( z2-z1, x2-x1 )

Here is a working sample:

Arska1+ years ago #4
Thanks! Now my program is working.

Blitz BASIC Founders Fund