我在更新中有这个,出于某种原因,x
值有效,但y
被反转。
void Update(){
if(Input.GetMouseButtonUp(0)){
var v3 = Input.mousePosition;
v3.x = v3.x / Screen.width;
v3.y = v3.y / Screen.height;
Debug.Log(v3);
Emit(v3);
}
}
当我点击屏幕顶部时,发射器位于底部,当我点击屏幕底部时,发射器位于顶部。我需要什么公式,因此y位于鼠标位置。
x / y值介于0和1之间。
这是调试:
Top Click: (0.0, 1.0, 0.0)
Bottom Click: (0.0, 0.0, 0.0)
答案 0 :(得分:2)
您的调试日志显示正确的值。根据{{3}}:
屏幕或窗口的左下角位于(0,0)。屏幕或窗口的右上角位于(Screen.width,Screen.height)。
因此,热门点击确实会在1.0
轴中返回y
。如果你想要相反,你必须减去。
这确实有点令人困惑,因为Unity中的某些东西是另一种方式。例如, Rect ,xMin
和yMin
位于左上角,所以它恰恰相反。