当前位置: 首页 > 知识库问答 >
问题:

如何在Unity3d中检测网格冲突?

壤驷华辉
2023-03-14

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

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

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

共有1个答案

司空繁
2023-03-14

因为这不是工作原理

如果希望网格用作碰撞器,则应将网格设置为MeshCollider组件的目标。但是,网格碰撞器非常昂贵:每次移动、缩放、旋转或更改边界时,Unity都需要重新计算它们。

但是,有这个资产可以对渲染器网格体执行光线投射,而无需碰撞体,但我不知道这会对性能造成什么样的影响。

 类似资料:
  • 我使用下面的类制作了一个项目符号列表和一个精灵列表。如何检测子弹是否与子画面发生碰撞,然后删除该精灵和子弹?

  • 我写了下面的JavaFX程序,其中两个矩形节点正在转换转换: 如何对“平移转换”中的两个矩形节点实施冲突检测?

  • 我正在尝试检查StackPane中节点的冲突检测。下面是我的代码: 在这里,如果我使用AnchorPane,碰撞检测就会工作。但在StackPane的情况下,我无法做到这一点。我猜这是因为堆栈窗格的坐标系统(如果我错了,请纠正我)。 所以请帮我实现上述两个矩形的碰撞检测。另外,如果我想更改节点的坐标,请提供一些建议(如果您知道),以便在StackPane内的节点上实现此类冲突检测。

  • 问题内容: 如何检测用户的Java视网膜显示?我已经知道可以使用来检测比例因子,但是java不允许我将返回的值转换为int。我想知道如何将其转换为int或另一种检测视网膜显示的方法。 问题答案: 我将以这种方式获得价值

  • 问题内容: 如何创建一个JavaScript页面来检测用户的互联网速度并将其显示在页面上?诸如 “您的互联网速度为?? / ??”之类的信息 Kb / s”。 问题答案: 可能在某种程度上但不是很准确,其想法是加载具有已知文件大小的图像,然后在其事件中测量触发该事件之前经过的时间,然后将此时间除以图像文件大小。 可以在这里找到示例:使用javascript计算速度 应用了建议的修复的测试用例: 与

  • 我目前正在为一个学校项目制作一个小游戏,冲突检测有问题。 这是我的时间线和跳转按钮代码: 这是我对碰撞检测的尝试: 我只能假设这不起作用,因为它不会不断地寻找X和Y位置,但我不确定如何做到这一点。