Triggers 如何在unity3d中找到盒子对撞机的中心?

Triggers 如何在unity3d中找到盒子对撞机的中心?,triggers,rotation,unity3d,Triggers,Rotation,Unity3d,嗨,我正在尝试建立一个游戏,如果我在设备上滑动,那么玩家在进入近距离对撞机后应该旋转90度。我希望旋转只发生在盒子对撞机的中心。现在,当扳机被触发时,玩家正在转弯。。请帮助..您可以通过以下方式获得对撞机的中心: Vector3 center = collider.center; 还有一个建议是实现你想要的: Detect Collider.OnTriggerStay(),一旦收到此事件,开始记录玩家的输入 Detect Collider.OnTriggerExit(),收到此事件后,停止录制

嗨,我正在尝试建立一个游戏,如果我在设备上滑动,那么玩家在进入近距离对撞机后应该旋转90度。我希望旋转只发生在盒子对撞机的中心。现在,当扳机被触发时,玩家正在转弯。。请帮助..

您可以通过以下方式获得对撞机的中心:

Vector3 center = collider.center;
还有一个建议是实现你想要的:

  • Detect Collider.OnTriggerStay(),一旦收到此事件,开始记录玩家的输入
  • Detect Collider.OnTriggerExit(),收到此事件后,停止录制播放机的输入,如果播放机滑动屏幕,请转动您的演员
  • 重新定位你的扳机
  • 下面是一些psuedo代码:

    bool shouldTurn = false;
    
    void OnTriggerStay()
    {
        if (true//player swiped)
        {
            shouldTurn = true;
        }
    }
    
    void OnTriggerExit()
    {
        if (shouldTurn)
            //turn your actor
    
        shouldTurn = false;
    }
    

    希望这能有所帮助。

    谢谢你的帮助。。我还有一个疑问。。如果之前在碰撞机附近用扳机停留时进行滑动,我希望玩家只在碰撞机的中心旋转..我想你可以稍微移动一下碰撞机,我想你的玩家应该根据你的场景在某个点旋转,而不是根据你的碰撞机,所以你可以移动你的对撞机来配合你的场景,让你的玩家在正确的位置转向。