Хочу сделать вращение объекта мышкой как в Blender.
Для этого нужно из координат мышки вычислить рычаг за который будем крутить объект.
А чтобы вычислить этот рычаг нужно спроецировать курсор на сферу.
Есть идеи как это правильно сделать?
Сейчас так написал, но по-моему это не совсем правильно.
float tx = (Input.mousePosition.x-Screen.width/2)/Screen.width * 2;
float ty = (Input.mousePosition.y-Screen.height/2)/Screen.height * 2;
tx = Mathf.Clamp(tx, -1, 1);
ty = Mathf.Clamp(ty, -1, 1);
dir = new Vector3(tx, ty, 0);
dir.z = -Mathf.Clamp01(1-dir.magnitude);
dir.Normalize();
Т.е. если точка в самом правом углу дисплея, то рычаг будет справа на сфере. Рисунок немного неверный, нужно было обрезать синюю линию.