c# - Unity Camera panning when zoomed in/out -
i have method pans camera forward/back , left/right. not sure why, causing camera move nice when zoomed in close terrain move slow when zoomed out?
here how panning camera:
void camerapan(){ if(input.getmousebutton(2)){ transform.rotation = transform.rotation; transform.translate(vector3.right * -input.getaxis("mouse x") * 20f, space.world); transform.translate(vector3.forward * -input.getaxis("mouse y") * 20f, space.world); } }
here how zooming:
void camerazoom(){ float scroll = input.getaxis("mouse scrollwheel"); if(scroll < 0){ transform.translate(0, 0, scroll * scrollspeed); }else if(scroll > 0){ transform.translate(0, 0, scroll * scrollspeed); } }
what can pan camera @ same speed no matter if zoomed in or out?
calculate zoom factor - number can represents zoom (for example, can distance camera object in center of view)
use zoom factor multiply translate parameter when calculate camerapan (for example - if zoom factor distance, pan more when zoomed out = @ greater distance)
Comments
Post a Comment