Mouselook script: //Without time delta adjustment:using UnityEngine;using System.Collections; - Pastebin.com
I tried without considering timedelta (like Unity’s own mouselook script) and with it multiplied into the input, neither fixed the problem.
I’m on OSX which has mouse acceleration by default, but I’ve downloaded SmoothMouse to get rid of it. Unity doesn’t seem to recognize it.
You can try it for yourself here: http://overpoweredgames.com/MouseAccelTest.zip (both windows and mac builds in the zip). With mouse acceleration disabled in Windows, it behaves correctly. I’d like the same flexibility on OS X. I tested Counter-Strike: Global Offensive and you can play without acceleration in that game on OS X just fine.
Thoughts? Any other way to read mouse input? Any alternatives to SmoothMouse that Unity actually recognizes? Can I filter the input to negate the acceleration?
I’m hoping to build a competitive FPS, so this sort of thing is pretty important. Most competitive players disable all mouse acceleration and smoothing settings so they have more accuracy/consistency. Basically, X distance of mouse movement should ALWAYS give Y distance of movement within Unity – how fast you move the mouse over that distance shouldn’t affect how far you travel in Unity.