奇怪的行为块放置,Raycast,hit.normal。 C#

时间:2017-03-21 19:10:53

标签: c# unity3d unity5

我试图制作一个简单的块放置脚本。 一切似乎在静止时(当它没有刚体时) 但是当我添加刚体并且我尝试在其上放置一个块时,它将不会出现。当我看到层次结构时,它会进入地下(Terrian)或已经放置的区域内的一个非常奇怪的位置。

这是脚本:

var TheBlock = Instantiate(Blocks[0], hit.transform.position +hit.normal / 4, Quaternion.identity);

有谁知道如何修复这种奇怪的行为/解释为什么会这样做?

提前致谢!

-Shinevision

1 个答案:

答案 0 :(得分:0)

  

但是当我添加刚体并且我尝试在其上放置一个块时,它   不会出现。当我看到层次结构时,它变得非常奇怪   在地下(Terrian)或已经放置的区域内的位置。

Rigidbody附着时,重力很可能是拉动物体。即使在地形下,默认的重力也会将其拉下来。实例化对象后禁用useGravity

var TheBlock = Instantiate(Blocks[0], hit.transform.position + hit.normal / 4, Quaternion.identity);
TheBlock.GetComponent<Rigidbody>().useGravity = false;