Advertisement
dawrehxyz

Untitled

Aug 6th, 2016
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.79 KB | None | 0 0
  1. public class Camera
  2. {
  3.     private Player player;
  4.     private float horizontalDistanceFromPlayer;
  5.     private float verticalDistanceFromPlayer;
  6.  
  7.     private Vector3 eye;
  8.     private Vector3 center;
  9.     private Vector3 up;
  10.  
  11.     private float[] viewMatrix;
  12.     private float[] rotationMatrix;
  13.     private float[] translationMatrix;
  14.  
  15.     public Camera(Player player)
  16.     {
  17.         this.player = player;
  18.         horizontalDistanceFromPlayer = 1.25f;
  19.         verticalDistanceFromPlayer = 0.75f;
  20.  
  21.         up = new Vector3(0, 1, 0);
  22.         center = player.getWorldMidPoint();
  23.         center.y += player.getPlayerRadius().y * 2;
  24.         eye = new Vector3(center.x, center.y + verticalDistanceFromPlayer, center.z + horizontalDistanceFromPlayer);
  25.  
  26.         viewMatrix = new float[16];
  27.         rotationMatrix = new float[16];
  28.         translationMatrix = new float[16];
  29.     }
  30.  
  31.     public float[] getViewMatrix()
  32.     {
  33.         Matrix.setLookAtM(viewMatrix, 0, eye.x, eye.y, eye.z, center.x, center.y, center.z, up.x, up.y, up.z);
  34.         return viewMatrix;
  35.     }
  36.  
  37.     public void updateCamera()
  38.     {
  39.         center = player.getWorldMidPoint();
  40.         center.y += player.getPlayerRadius().y * 2;
  41.         float angle = -player.getIncrementalRotationAngle();
  42.         float c = (float)Math.cos(Math.toRadians(angle));
  43.         float s = (float)Math.sin(Math.toRadians(angle));
  44.         eye.x = center.x + (s*horizontalDistanceFromPlayer);
  45.         eye.y = center.y + verticalDistanceFromPlayer;
  46.         eye.z = center.z + (c*horizontalDistanceFromPlayer);
  47.         if(player.getPlayerRunningStatus())
  48.         {
  49.             eye.addVector(player.getPlayerTimeBasedVelocity());
  50.         }
  51.     }
  52.  
  53.     public Vector3 getCameraEyeVector()
  54.     {
  55.         return new Vector3(eye.x, eye.y, eye.z);
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement