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

时间:2013-03-26 06:29:20

标签: triggers rotation unity3d

嗨iam试图建立一个游戏,如果我在设备上滑动,那么玩家应该在进入附近的对撞机后转90度。我希望转弯只发生在箱式对撞机的中心。现在,当输入触发器时,玩家正在转动..请帮助..

1 个答案:

答案 0 :(得分:2)

你可以通过这个获得对撞机的中心:

Vector3 center = collider.center;

并建议实施您想要的内容:

  1. 检测到Collider.OnTriggerStay(),收到此事件后,开始记录玩家输入。
  2. 检测到Collider.OnTriggerExit(),收到此事件后,停止录制玩家输入,如果玩家刷过屏幕,则转动你的演员。
  3. 重新定位您的触发器。
  4. 以下是一些伪代码:

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

    希望这会有所帮助。