unity3d CS0104:“System.Numerics.Vector3”和“UnityEngine.Vector3”之间的引用不明确

yebdmbv4  于 2023-02-05  发布在  其他
关注(0)|答案(3)|浏览(601)

我无法在代码中使用Vector 3。
错误:严重性代码说明项目文件行隐藏状态错误CS 0104“Vector 3”是“System. Numerics. Vector 3”和“UnityEngine. Vector 3”程序集-CSharp C:\Users\BJ\Documents\New Unity Project(1)\Assets\move.cs 9 Active之间的不明确引用

uujelgoq

uujelgoq1#

对于System.NumericsUnityEngine,分别有一个using指令,这两个名称空间都包含一个Vector3,所以你必须确定你指的是哪一个。
您可以像这样完全限定类型以解决歧义:

UnityEngine.Vector3 move; // Probably this is what you meant, I'm guessing

或者...

System.Numerics.Vector3 move;

......取决于你想要哪一个。
您还可以删除不需要的名称空间的using语句。例如,如果不希望System.Numerics使用using指令,则删除如下所示的行:

using System.Numerics;

这将迫使您完全限定System.Numerics中您可能在其他地方使用过的任何其他类型,但是您可以只说Vector3 move;,它将明确地解析为UnityEngine.Vector3

3vpjnl9f

3vpjnl9f2#

您可能使用了冲突的命名空间,请检查代码顶部的using指令,您没有提供完整的代码,因此我不确定,但是如果您在代码中同时使用UnityEngineSystem命名空间,请使用完全限定的类型名

bpsygsoo

bpsygsoo3#

添加上面的using Vector3 = UnityEngine.Vector3;也可能是一个解决方案。enter image description here

相关问题