Привет, я начинающий разработчик игр, но ваша проблема мне знакома
Мне стала интересна одна тема, о которой вы говорите, чтобы мышь бегала по плоскости z=0 в Projection Perspective камере.
Если я понял всё верно, то я просто хотел бы рассказать как решил свою проблему. Я использую такой простой код:
Vector3 diference = HelpCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10)) - transform.position;
Дело в чём
Моя камера находится в координате
z=-10
То есть если мы знаем расстояние от камеры до плоскости z=0, то можем получить расположение мыши на этой плоскости
Ну я дальше потом 10 заменил на zdistance = Mathf.Abs(HelpCamera.transform.position.z);
Чтобы дистанцию знать до плоскости...
У меня всё работает