仅限制一个矢量轴的单位

时间:2015-04-06 20:12:12

标签: unity3d constraints unityscript

我是stackoverflow的新手,所以嗨伙计们!

我也是Unity的新手。我有一个限制我的对象的问题。(对不起我的英语,如果不是那么好。) 我想限制我的玩家对象,但只限于一个轴.Y是0.0f,Z是独立的限制。我们可以使用带有刚体的MathF.clamp做这个工作吗?如果我们不能,我怎么能通过键入C#解决此问题,而不是使用Box&解开MeshCollider&添加对撞机。谢谢你提前:))

2 个答案:

答案 0 :(得分:1)

无需代码。看看Rigidbody的限制。

  

http://docs.unity3d.com/ScriptReference/Rigidbody-constraints.html

答案 1 :(得分:0)

是的,你说得对,也许我必须更具体。现在我的代码正在运行。 旧的和发行的部分就像--->

Hareket是预定义值,边界是公共边界;

...

GetComponent<Rigidbody>().Velocity=Hareket; LastZ = GetComponent<Rigidbody>().position.z; GetComponent<Rigidbody>().position = new Vector3 ( Mathf.Clamp (GetComponent<Rigidbody>().position.x,boundary.xMin, boundary.xMax), 0.68f, Mathf.Clamp (GetComponent<Rigidbody>().position.z,0f, LastZ) );

...

但我不应该将最后一部分用作Mathf.Clamp (GetComponent<Rigidbody>().position.z,0f, LastZ)    但它应该只是LastZ值。

并且还要保持球体上的旋转效果 GetComponent<Rigidbody>().Velocity=Hareket;部分应为GetComponent<Rigidbody>()AddForce(Hareket); ...

谢谢。