unity3d - 在 Unity 中旋转后移动具有固定轴的物理按钮
问题描述
我正在尝试制作一个基于物理的按钮,如下所示。
当施加力并击中触发器(浅灰色框)时,红色立方体应沿 Y 轴向下移动。
我通过使红色立方体成为刚体并冻结旋转和位置(Y 轴除外)来实现这一点。红色立方体通过 sprint 关节连接到触发器。
这工作得很好,直到我尝试旋转按钮的整个容器,然后按钮按下世界 Y 轴(下面的红色箭头)而不是它的本地 Y 轴(下面的绿色箭头)。
我怎样才能解决这个问题?谢谢!
解决方案
想通了,这段代码将限制移动到局部 y 轴,并删除刚体组件上的冻结位置标志
void Update()
{
transform.localPosition = new Vector3(0, transform.localPosition.y, 0);
}