みつろぐ

やれることはやってみる

【Unity】GameView上のマウス座標の取得方法

Unityエディタ上でタッチイベントをデバッグするときに、現在ではデフォルトでタッチがマウスのクリックイベントとしてシミュレートされてしまうのでInput.simulateMouseWithTouchesのパラメータを変更する形で分離する方法を紹介しました。
mitu217.hatenablog.jp

ただ、なぜかシミュレートをDisableにしてもInput.mousePositionがタッチイベントに上書きされてしまうので、Unityエディタでデバッグ中の時だけ回避できるような処理を実装しました。Unityエディタで実行中の時のみcurrentMousePositionInGameViewを参照するようにすれば大丈夫かと思います。

#if UNITY_EDITOR
private Vector2 currentMousePositionInGameView;
void OnGUI()
{
	var x = Event.current.mousePosition.x;
	var y = Screen.height - Event.current.mousePosition.y;
	currentMousePositionInGameView = new Vector2 (x, y);
}
#endif