当生成时,物理对象在另一个对象内部。如何设置产卵点?

时间:2018-03-31 18:37:48

标签: c# unity3d geometry

我在为spawn(实例化)计算GameObject的位置时遇到问题。有:1)立方体。 2)房间有地板和墙壁。 3)用户点击鼠标。立方体有刚体和对撞机所以当我在用户点击时产生它时,立方体就在地板或墙壁的一半内,而物理将它推开。

点击次数==立方体的中心。所以它会在另一个对象中生成一半。

问题是如何以正确的方式计算产卵的位置?

示例图片:

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Collider.bounds,如下所示:

Collider col = cube.GetComponent<Collider>();
cube.position = mouseClickPos - col.bounds.extents;

Haven未对代码进行测试,但希望您明白这一点。您可以在此处找到有关Bounds的更多信息:https://docs.unity3d.com/ScriptReference/Bounds.html

答案 1 :(得分:0)

多维数据集的位置取自中心,要解决此问题您可以更改多维数据集的Pivot点。创建空游戏对象将空游戏对象带到多维数据集的边缘并将多维数据集放入其中。