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