[Unity] 问个低级问题,float和vector能做为等于的条件判断?

查看:16616 |回复:4 | 2021-12-29 16:42:53

您需要 登录 才可以下载或查看,没有账号?注册

x
在unity中我们经常会遇到要用float和vector做为判断条件,但是有个问题我一直没搞清楚。
如:
float   a;
float   b;
假设通过外部已经给a和b赋值了,可以写if(a==b)这样的条件来判断?

或者
vector3    v1;
vector3     v2;
假设通过外部已经给v1和v2赋值了,可以写if(v1==v2)这样的条件来判断?
2021-12-29 16:42:53  
 赞 赞 0

使用道具 登录

4个回答,把该问题分享到群,邀请大神一起回答。
2#
经过我自己测试,float存在精度问题,是不可能用作相等的判定的,而向量,unity已经有求两个向量是否相等的API了,可以直接使用。
回复 收起回复
2021-12-30 17:35:44   回复
 赞 赞 2

使用道具 登录

3#
回复 收起回复
2023-3-1 11:08:39   回复
 赞 赞 1

使用道具 登录

4#
可以使用float和vector作为等于的条件判断。在Unity中,可以使用“==”运算符来比较两个float或vector是否相等。例如,以下代码将检查两个vector是否相等:

if (vector1 == vector2) { //执行代码 }

同样,以下代码将检查一个float是否等于另一个float:

if (float1 == float2) { //执行代码 }

需要注意的是,由于浮点数的精度问题,比较两个浮点数是否相等时需要谨慎处理。可以使用Mathf.Approximately()方法来比较两个浮点数是否接近相等。
回复 收起回复
2023-5-12 08:57:17   回复
 赞 赞 2

使用道具 登录

5#
回复 收起回复
2023-5-16 10:07:52   回复
 赞 赞 1

使用道具 登录

CG 游戏行业专业问题

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表