C# 将一个物体移动到统一体中另一物体的相同位置

C# 将一个物体移动到统一体中另一物体的相同位置,c#,unity3d,C#,Unity3d,我试图将一个对象移动到另一个对象的完全相同位置,因此我尝试了以下代码: public void Click(){ x=GameObject.Find("Corner7"); y=GameObject.Find("Corner8"); x.transform.position=y.transform.position; x.transform.rotation=y.transform.rotation; } 但是什么也没动!

我试图将一个对象移动到另一个对象的完全相同位置,因此我尝试了以下代码:

public void Click(){
        x=GameObject.Find("Corner7");
        y=GameObject.Find("Corner8");
        x.transform.position=y.transform.position;
        x.transform.rotation=y.transform.rotation;
    }
但是什么也没动!我试着打印两个对象的位置,结果是相同的位置,尽管它们位于两个不同的位置!有人能帮忙吗?作为回报,谢谢你。 这是层次结构,x对象是corner7,y对象是corner8。

这看起来像是父/子位置问题。也许你的一个对象是一个子对象,你只移动了该游戏对象的子对象而不是父对象。因此父对象和子对象的位置不同。如果y游戏对象有子对象,请尝试获取其子对象的位置。

发布x和y游戏对象以及层次结构的屏幕截图。这将有助于回答你的问题。@Programmer x object是corner8,y是corner7这是与你自己交谈的截图,伙计?@Vucko因为奇怪的巧合,我们有相同的用户名lol不,我不喜欢自己是的,哈哈。。看看你的问题是否与它们所属的坐标系有关->据我回忆,它们可以在全局和局部系统中,并且它们的坐标不同。用谷歌搜索并仔细检查。这两个对象是同一个父对象的子对象,这可能是问题所在吗?看起来像。对象内有对象,然后是对象内和对象内。显示拐角8和拐角7内的内容。还有哪一个名为x,哪一个名为y?我看到你更新了你的代码。我想查看Corner8和Corner7的层次结构。我更新了屏幕截图,它们的子对象只是用3DMAX制作的平面。如果要将对象设置为子对象,应确保场景中的子对象变换为零。然后你可以移动父母,这个问题就不会出现了。将Corner8和Corner7中的所有子项归零,您的代码应该可以工作。如果出于某种原因您不想这样做,您可以使用代码来匹配黄色和红色、蓝色和白色。。。。而不是匹配拐角8和拐角7。