Unity报错CS0029:无法将float隐式转换为UnityEngine.Quaternion
解决CS0029: 无法将float隐式转换为UnityEngine.Quaternion错误
错误原因
Quaternion.Angle方法返回的是float类型的数值(代表两个四元数对应的旋转之间的夹角,单位为度),但你的代码里将这个结果赋值给了Quaternion类型的变量quaternion,类型不匹配直接触发了编译错误。
修改后的代码
如果你的需求是获取两个四元数的夹角,需要将接收结果的变量改为float类型:
case Operation.Angle: Quaternion quaternion1 = new Quaternion(values[0], values[1], values[2], values[3]); Quaternion quaternion2 = new Quaternion(values2[0], values2[1], values2[2], values2[3]); float angle = Quaternion.Angle(quaternion1, quaternion2); break;
Quaternion.Angle 方法说明(官方文档翻译)
该方法用于计算并返回两个旋转四元数之间的最小夹角,单位为度:
- 参数:
- a:第一个待比较的四元数旋转
- b:第二个待比较的四元数旋转
- 返回值:两个旋转之间的夹角,范围在0到180度之间
内容的提问来源于stack exchange,提问作者Maxime66410
相关产品推荐
相关产品推荐

