nice example. I implemented this way for prototyping. you can also use IncAngle() if you dont like that the player follows the mouse that fast. so it take some msec to turn 180°
self.camera:Pick(App.window:GetMousePosition().x, App.window:GetMousePosition().y, self.mouseInfo, 0.0, true)
--angle to mouse/joystick
if self.mouseInfo.position.z - self.playerPosition.z >= 0 then
self.mouseAngle = Math:ATan((self.mouseInfo.position.x - self.playerPosition.x)/(self.mouseInfo.position.z - self.playerPosition.z))
end
if self.mouseInfo.position.z - self.playerPosition.z < 0 then
self.mouseAngle = Math:ATan((self.mouseInfo.position.x - self.playerPosition.x)/(self.mouseInfo.position.z - self.playerPosition.z))+180
end
self.playerAngle = Math:IncAngle(self.mouseAngle, self.playerAngle, 20.0)
self.entity:SetRotation(0,self.playerAngle,0) --later use SetInput