update method
Updates the controls. Usually called in the animation loop.
Implementation
void update(double delta){
if(enabled == false) return;
if(heightSpeed) {
double y = MathUtils.clamp<double>(object.position.y, heightMin, heightMax );
final heightDelta = y - heightMin;
autoSpeedFactor = delta * (heightDelta * heightCoef);
}
else {
autoSpeedFactor = 0.0;
}
double actualMoveSpeed = delta * movementSpeed;
if(moveForward ){
velocity.add( getForwardVector().scale(actualMoveSpeed));
}
if(moveBackward){
velocity.add( getForwardVector().scale(-actualMoveSpeed));
}
if(moveLeft){
object.rotation.y += movementSpeed*math.pi/180;
}
if(moveRight){
object.rotation.y -= movementSpeed*math.pi/180;
}
object.position.setFrom(velocity);
cameraAngle = (1-0.01)*cameraAngle+0.01*object.rotation.y;
camera.position.setFromSphericalCoords( 15, 1, cameraAngle );
camera.position.setFrom(object.position).add( offset );
camera.lookAt( object.position );
}