我发现这个脚本让你点击一个项目然后拖动它旋转它,但它会根据你手指的位置旋转,我该怎样做才能像在俄罗斯方块中那样将物体旋转90度?
public class RotateDrag : MonoBehaviour {
void OnMouseDrag(){
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
float ang = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(ang, Vector3.forward);
}
}
在Photoshop中,如果要旋转图层中的项目,可以按住 Shift ,并在旋转时捕捉到45°角。
但我想要90°角度拍摄。
答案 0 :(得分:0)
你需要做的只是从选定的点开始,作为角度上的符号并将其应用到90度旋转:
float ang = 90.0 * Math.Sign(Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg);
transform.rotation = Quaternion.AngleAxis(ang, Vector3.forward);