Unity3d Unity对撞机有时会通过其他对撞机?

Unity3d Unity对撞机有时会通过其他对撞机?,unity3d,2d,collision,rigid-bodies,Unity3d,2d,Collision,Rigid Bodies,我正在尝试创建一个乒乓球克隆供练习。我在2D中设置我的项目 拨杆具有以下部件: -刚体2d(设置为运动学) -BoxCollizedR2D(是一个触发器) 球具有以下组件: -刚体2d(设置为运动学) -CircleCollider2D(是一个触发器) 通过拖动控制拨杆(用户在屏幕左/右拖动手指)。为此,我使用了EasyTouch插件 然后我用以下脚本移动球: void Update () { transform.position += new Vector3(xSpee

我正在尝试创建一个乒乓球克隆供练习。我在2D中设置我的项目

拨杆具有以下部件:

  • -刚体2d(设置为
    运动学
  • -BoxCollizedR2D(是一个
    触发器
球具有以下组件:

  • -刚体2d(设置为
    运动学
  • -CircleCollider2D(是一个
    触发器
通过拖动控制拨杆(用户在屏幕左/右拖动手指)。为此,我使用了
EasyTouch
插件

然后我用以下脚本移动球:

void Update () {
        transform.position += new Vector3(xSpeed * Time.deltaTime, ySpeed * Time.deltaTime);
    }
这就是我如何检测碰撞并在球击中某物时重定向球(水平对象是顶部/底部/挡板,而垂直对象是左/右屏幕边框):

问题是,有时球会穿过球拍,最终用户会觉得球拍有问题。我在网上搜索过这个问题,并尝试将刚体的
碰撞检测
属性设置为
连续
,而不是
离散
。但在某些时候,球仍然会穿过球拍

有人知道怎么解决这个问题吗?我设置/编码游戏的方式有什么问题


谢谢

如代码所示,转换由您自己控制,而连续检测需要物理引擎的控制,因此尝试用物理引擎控制游戏对象,而不是给它一个由您自己的代码修改的位置。

如代码所示,转换由您自己控制,而连续检测需要物理引擎的控制,因此请尝试使用物理引擎控制游戏对象,而不是给它一个由您自己的代码修改的位置。

您有一个非常简单的概念错误。 OnTiggerEnter2D(CollizedR2D)将获取碰撞器是否已进入其他碰撞器。换句话说,你可以穿过这个物体

您需要改用此功能:

OnCollisionEnter2D(Collision2D coll)
我建议您观看Unity教程,因为它很好地解释了这一切:

其他信息:


谢谢。

您有一个非常简单的概念错误。 OnTiggerEnter2D(CollizedR2D)将获取碰撞器是否已进入其他碰撞器。换句话说,你可以穿过这个物体

您需要改用此功能:

OnCollisionEnter2D(Collision2D coll)
我建议您观看Unity教程,因为它很好地解释了这一切:

其他信息:


谢谢。

物理引擎没有问题,因为您没有使用任何物理。添加一些调试日志,以检查球出现故障时发生的情况。有趣的是,人们认为它更有可能是单位的错误,而不是他们的错误。你为什么不找一本关于unity的乒乓球教程呢?有很多,而且只需要一两个小时,但是如果你在尝试自己的想法之前就知道事情是如何运作的,你就可以避免很多挫折。请不要认为这是冒犯,即使我一开始有点讽刺:)谢谢你们的建议。是的,我会继续学习教程和复习。我已经很久没有接触游戏开发和统一了。我觉得自己又像个新手了:PIt在物理引擎中没有问题,因为你没有使用任何物理。添加一些调试日志,以检查球出现故障时发生的情况。有趣的是,人们认为它更有可能是单位的错误,而不是他们的错误。你为什么不找一本关于unity的乒乓球教程呢?有很多,而且只需要一两个小时,但是如果你在尝试自己的想法之前就知道事情是如何运作的,你就可以避免很多挫折。请不要认为这是冒犯,即使我一开始有点讽刺:)谢谢你们的建议。是的,我会继续学习教程和复习。我已经很久没有接触游戏开发和统一了。我觉得自己又像个新手了:当我看到你的帖子时,我意识到它应该是OnCollisionCenter,而不是OnTiggerEnter,这是基于我的需要。我这边的菜鸟失误。我将继续你分享的教程!谢谢当我看到你的帖子时,我意识到它应该是OnCollisionCenter,而不是OnTiggerEnter,这是基于我的需要。我这边的菜鸟失误。我将继续你分享的教程!谢谢谢谢你。我试着把运动行为留给物理引擎,它不再通过对撞机,这很好。然而,产生的运动不是我想要的乒乓球游戏。我会继续看一些关于这个的教程,谢谢。我试着把运动行为留给物理引擎,它不再通过对撞机,这很好。然而,产生的运动不是我想要的乒乓球游戏。我会继续看一些关于这个的教程