Physics based pitch and yaw

Ended up omitting the integral term:

void AQControlledActor::PointAt(const bool isPointing)
{
	// Get the actor's location
	FVector ShipForward = -SkeletalMesh->GetForwardVector();
	FVector CameraForward = Camera->GetForwardVector();

	// Calculate the torque needed to rotate the ship towards the camera
	FVector PointingVector = FVector::CrossProduct(ShipForward, CameraForward);
	FVector AngularVelocity = SkeletalMesh->GetPhysicsAngularVelocityInRadians();
	FVector TorqueVector = SkeletalMesh->ScaleByMomentOfInertia(Kp * PointingVector - Kd * AngularVelocity);

	// Apply torque
	SkeletalMesh->AddTorqueInRadians(TorqueVector);
	
	//FVector ActorLocation = GetActorLocation();
	//DrawDebugLine(GetWorld(), ActorLocation, ActorLocation + ShipForward * 1000,
	//	FColor::Blue, false, 1, 0, 5);
	//DrawDebugLine(GetWorld(), ActorLocation, ActorLocation + CrossVector * 1000,
	//	FColor::Yellow, false, 1, 0, 5);
	//DrawDebugLine(GetWorld(), ActorLocation, ActorLocation + AngularVelocity * 1000,
	//	FColor::Orange, false, 1, 0, 5);
	//DrawDebugLine(GetWorld(), ActorLocation, ActorLocation + TorqueVector * 100,
	//	FColor::Red, false, 1, 0, 5);
	
}