【问题标题】:How to detect mesh collision in Unity3d?如何检测 Unity3d 中的网格碰撞?
【发布时间】:2019-02-16 12:30:29
【问题描述】:

我们可以在 unity3d 中检测网格碰撞吗?我想在碰撞时显示一些纹理,目前我正在使用盒子碰撞器,这就是为什么它的表面/边缘与物体网格不匹配的原因,即使我在网格表面上得到了命中点,我也不知道如何将纹理放在网格上特定位置的网格上,是否有任何内置组件特定于相同类型的要求或在 unity3d 中的解决方法?

正如我们在图片中看到的,在游戏对象内部检测到碰撞,因为盒子碰撞器位于目标对象网格内 注意:这里是我用虚拟立方体网格替换的实际网格

但是有什么方法可以检测子弹对撞机/网格实际上何时穿过目标对象的网格,如下图所示,我已经显示了我想要检测目标对象网格和子弹网格/对撞机之间的命中点以及如何在此处绘制纹理(网格上的命中点)。

【问题讨论】:

    标签: c# unity3d collision-detection mesh mesh-collider


    【解决方案1】:

    简短回答:否

    因为那不是这样的。

    长答案:

    如果要将网格用作对撞机,则应将网格设置为MeshCollider component 的目标。但是,网格碰撞器非常昂贵:Unity 需要在每次移动、缩放、旋转或以其他方式更改其边界时重新计算它们。

    不过,this asset 会针对 renderer 网格执行光线投射,而不需要碰撞器,但我不知道会产生什么样的性能影响。

    【讨论】:

      猜你喜欢
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多