C# 光线投射检查相邻块的特定状态时出现问题

C# 光线投射检查相邻块的特定状态时出现问题,c#,android,unity3d,game-physics,raycasting,C#,Android,Unity3d,Game Physics,Raycasting,很抱歉问了这么长的问题。我正在做一个简单的游戏,你点击一个立方体,它会将其材质更改为某种颜色(即泥土/草>>水,水瓷砖旁边的任何泥土“瓷砖”(基本上)将自动变为黄色)。这些颜色通过使用int值来标识状态来保持 我无法在c#中使用2d数组来存储这些立方体,因此我尝试使用光线投射来检查这些相邻关系。所有立方体均位于y=0的单个平面上,且其l=1m 这是检查邻居的代码 这是所有瓷砖都变成泥土的起始游戏板。这意味着,当我单击一个瓷砖时,它应该变成蓝色(正在工作),然后周围的棕色瓷砖应该将其状态更改为3,

很抱歉问了这么长的问题。我正在做一个简单的游戏,你点击一个立方体,它会将其材质更改为某种颜色(即泥土/草>>水,水瓷砖旁边的任何泥土“瓷砖”(基本上)将自动变为黄色)。这些颜色通过使用int值来标识状态来保持

我无法在c#中使用2d数组来存储这些立方体,因此我尝试使用光线投射来检查这些相邻关系。所有立方体均位于y=0的单个平面上,且其l=1m

这是检查邻居的代码

这是所有瓷砖都变成泥土的起始游戏板。这意味着,当我单击一个瓷砖时,它应该变成蓝色(正在工作),然后周围的棕色瓷砖应该将其状态更改为3,因此将它们变成黄色。然而,这里发生了什么。 首字母:

单击一个平铺后:

我添加了一些调试控制台代码来尝试和帮助,但没有个人运气。 这是:


谢谢你能给我的帮助。我是新来c#的,有很多麻烦

将我的光线投射更改为

check(tr,transform.forward)
而不是

check(tr,(tr+transform.forward))
我能从适当的位置投射光线。仍然有点困惑,但它是有效的