Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vector3.ToString";轮数;生成后的小数_String_Unity3d_Vector_Coordinates_Resolution - Fatal编程技术网

Vector3.ToString";轮数;生成后的小数

Vector3.ToString";轮数;生成后的小数,string,unity3d,vector,coordinates,resolution,String,Unity3d,Vector,Coordinates,Resolution,我正在尝试使用Input.mousePosition.x.ToString(“F4”)在Unity3D中获得非常精确的Input.mousePosition并且在编辑器中一切都正常。我得到了4个小数点符号,正好符合我的需要。但是,在我构建应用程序之后,我一直得到x.0000 重要的是,在编辑器中,只有当我选择精确分辨率,而不是纵横比或自由纵横比时,我才得到零。我尝试使用构建分辨率设置,例如禁用所有纵横比、设置精确分辨率、窗口/全屏模式。到目前为止没有任何帮助 似乎内置的应用程序会禁用中间像素位置

我正在尝试使用
Input.mousePosition.x.ToString(“F4”)在Unity3D中获得非常精确的Input.mousePosition并且在编辑器中一切都正常。我得到了4个小数点符号,正好符合我的需要。但是,在我构建应用程序之后,我一直得到x.0000

重要的是,在编辑器中,只有当我选择精确分辨率,而不是纵横比或自由纵横比时,我才得到零。我尝试使用构建分辨率设置,例如禁用所有纵横比、设置精确分辨率、窗口/全屏模式。到目前为止没有任何帮助

似乎内置的应用程序会禁用中间像素位置,我不知道为什么


我知道有很多关于vector3小数的问题和信息,但我的问题主要是关于Unity中的显示分辨率(像素坐标之间)。提前感谢您的建议。

听起来Vector3不是问题,而是您所获得的价值。4位小数精度的中间像素值对您的应用程序至关重要吗?如果你想一想:通常鼠标正好在某个像素上,并且在两个值之间。。老实说,我不知道他们为什么会存在于UnityEditor@derHugo是的,不幸的是,这种精度是必不可少的。我同意通常鼠标(逻辑上应该是)在精确的像素上,但Input.mousePosition确实是向量3,至少有6-9个小数点。我确信有可能获得这些精确的值,因为我在编辑器的debug.log中获取它们。但是你有
ToString(“F4”)
,也就是用4位小数格式化浮点,对吗?您是否尝试过只做
ToString()
,看看您得到了什么?您是使用ToString(“F4”)调用
Debug.Log
还是只使用
Debug.Log(Input.mousePosition.x)
?编辑:我读错了,我认为
x.0000
的意思是说你得到了4个小数,这太少了。看起来很奇怪,浮点会被舍入到最接近的整数
x.0000
。。。你确定你在打印之前没有在代码中做一些取整的事情吗?如果在构建游戏时浮动突然变成
int
,那么会有无数的错误报告听起来这不是Vector3的问题,而是你得到的值的问题。4位小数精度的中间像素值对您的应用程序至关重要吗?如果你想一想:通常鼠标正好在某个像素上,并且在两个值之间。。老实说,我不知道他们为什么会存在于UnityEditor@derHugo是的,不幸的是,这种精度是必不可少的。我同意通常鼠标(逻辑上应该是)在精确的像素上,但Input.mousePosition确实是向量3,至少有6-9个小数点。我确信有可能获得这些精确的值,因为我在编辑器的debug.log中获取它们。但是你有
ToString(“F4”)
,也就是用4位小数格式化浮点,对吗?您是否尝试过只做
ToString()
,看看您得到了什么?您是使用ToString(“F4”)调用
Debug.Log
还是只使用
Debug.Log(Input.mousePosition.x)
?编辑:我读错了,我认为
x.0000
的意思是说你得到了4个小数,这太少了。看起来很奇怪,浮点会被舍入到最接近的整数
x.0000
。。。你确定你在打印之前没有在代码中做一些取整它的事情吗?如果在构建游戏时浮动突然变成
int
,将会有无数的错误报告