class ViewTestPlayerController extends xGame.xPlayer config(ViewTest); // The player view is determined by this function. function event PlayerCalcView(out actor ViewActor, out vector CameraLocation, out rotator CameraRotation ) { bBehindView = false; if(ViewActor != None) { /* Equation is x/(length(velocity)+x) * y where y is the default FOV, and x is... something */ FOVAngle = (100/(sqrt(ViewTarget.Velocity.x*ViewTarget.Velocity.x + ViewTarget.Velocity.y*ViewTarget.Velocity.y + ViewTarget.Velocity.z*ViewTarget.Velocity.z)+100)) * 170.0; } log("FOVAngle: " $FOVAngle); Super.PlayerCalcView(ViewActor, CameraLocation, CameraRotation); }