NOTE: THIS PROJECT IS NO LONGER ACTIVELY MAINTAINED. I'LL LEAVE IT UNARCHIVED SO THAT PEOPLE CAN CREATE AND COMMENT ON ISSUES WITH EACH OTHER, BUT I DON'T PLAN TO MAKE ANY MORE CHANGES TO IT ANY TIME SOON. THANKS!
QueasyCam is a super-simple first-person-shooter camera for 3D Processing sketches. It steals its name and its desired ease of use from PeasyCam. A QueasyCam camera can be controlled using the mouse and WASD keys (as well as Q and E for upward and downward motion).
Here's an example. Setting the camera speed and sensitivity are optional.
import queasycam.*;
QueasyCam cam;
void setup(){
size(400, 400, P3D);
cam = new QueasyCam(this);
cam.speed = 5; // default is 3
cam.sensitivity = 0.5; // default is 2
}
void draw(){
background(0);
box(200);
}
API
Here's the full API.
controllable
= a boolean that lets you turn on / off the mouse / keyboard controls
speed
= a float value that represents the speed coefficient of the camera
velocity
= a 3D PVector that represents the direction and magnitude of movement of the camera in space
sensitivity
= a float value that represents the mouse sensitivity coefficient of the camera
position
= a 3D PVector that represents the position of the camera
pan
= a float value that represents the rotation of the camera around the vertical axis
tilt
= a float value that represents the rotation of the camera around the horizontal axis
friction
= a float value that represents how much the camera slides as it moves around
getForward()
= returns the forward-pointing PVector of the camera
getRight()
= returns the rightward-pointing PVector of the camera