问题标签 [mesh-collider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
381 浏览

c# - 如何在 Unity 中随机生成一个不与我的游戏地形发生冲突的预制件

我正在开发一个 3D 游戏,如果这只鸟成功地穿过管道,它会得分,否则它就死了。我能够很好地实现这一点。

此外,我正在通过脚本生成管道(这是一个预制件)。生成的管道的位置是在鸟前面的随机位置。代码如下。这段代码是在负责游戏状态的 GameControl 脚本中编写的。

SpawnPipe 函数负责创建管道的部分。我已将管道预制件附加到检查器中的管道 GameObject 上。

现在问题来了。当我生成管道时,我不希望它接触地形的任何部分。如果它碰到了我想重生,直到我把管道放在不接触地形的位置。为此,我在管道预制件中附加了一个脚本,并在 OnCollisionEnter 函数中销毁了管道。下面是代码:

上面的逻辑是,如果生成的管道与地形接触,则将其销毁。在这种情况下,当生成的管道被破坏时,更新函数再次运行以生成新的管道。只要它不与地形发生碰撞,它将是一次又一次地产生。

但实际上我仍然能够看到管道接触,与地形很好地融合在一起。对于地形,我添加了一个网格对撞机,并通过 isKinematic 检查使其成为刚体。当鸟儿撞到地形时它工作得很好,我可以通过消息显示游戏

对于管道,我添加了 3 个盒子碰撞器,一个在管道底部,另外两个在管道侧面。当它与鸟碰撞时,它成功显示 Game Over 消息。但是管道和地形之间的卷曲没有被检测到。我不知道我哪里出错了。请帮忙。我对 Unity 也很陌生

<<<------------------------编辑------------------------>

地形的FBX模型的链接

https://docs.google.com/uc?export=download&id=1kFUtPpQnopa7489i-iQwC2qEiQECbWCu

0 投票
0 回答
66 浏览

ios - 不正确的 RealityKit generateConvex(from mesh: ) collider

我一直在尝试使用它的网格在 USZD 模型(通过 Reality Converter 从 .glb 转换)上创建一个合适的对撞机,但结果看起来像一个大盒子,而不是真实模型的网格。这是示例代码

这个也产生了另一个奇怪的盒子

0 投票
1 回答
302 浏览

unity3d - Unity中粒子系统中的连续碰撞检测(CCD),这可能吗?

根据这篇文章,可以统一解决快速移动物体的碰撞问题。

如果您有粒子系统使用对撞机和重力修改器发射 1 个球体粒子(例如投球)。还有另一个带有刚体的移动对撞机(例如棒球棒),当它们以“高速”碰撞时,是否有可能使这些物体不通过?您不能在粒子上设置“碰撞检测”。

为了更好地理解,我在下面添加了两个屏幕截图。

随时提出任何问题。

对撞机(墙)不动,粒子会反弹

对撞机(墙)以“摆动”的速度向球移动,粒子穿过

0 投票
1 回答
55 浏览

unity3d - 两个模型相邻的网格对撞机问题

正如您可以从视频链接中查看的那样,我有一个由两个模型创建的网格,由于某种原因,有时球会与两个模型之间的中间部分发生碰撞,在我在视频中看到的测试中,我在 Blender 中合并了两个模型并合并了顶点按距离,我还测试了将两个网格彼此相邻放置(仅在 Unity 中而不导出到 Blender),情况更糟。我还将默认接触偏移设置为非常低(2e-05)并将碰撞检测设置为连续但没有任何效果

感谢您提供任何帮助

测试视频

0 投票
1 回答
162 浏览

collision-detection - UE4 Mesh几个碰撞点检测

当我的网格碰撞时,我需要找到所有命中点(顶点),因为使用 OnHit,结构中只有一个冲击点,并且只有一个(红色调试球体)。有没有办法做到这一点?(例如在 Unity 碰撞结构中有一个包含这些点的数组collision.contacts:)

这是一个例子,当 2 个立方体与面接触并且有很多接触点(不是 1 个)

введите сюда описание изображения

0 投票
1 回答
45 浏览

unity3d - Physics.Raycast 似乎无法始终如一地工作

在此处输入图像描述

我正在研究基于光线投射的寻路系统。基本上我要做的是在对象周围生成点/检查该对象是否可以到达这些点,并检查这些点是否可以到达目标。目标是照片背面的绿色圆柱体。这是我的图层蒙版,它基本上说将玩家作为对撞机/障碍物忽略:

layerMask = Physics.DefaultRaycastLayers & ~(1 << 3);

这是我的光线投射代码:

最后是我的寻路功能:

由于某种原因,光线投射在障碍物的右侧而不是左侧触发。此外,如果我增加障碍物大小或对撞机大小,我最终可以挡住左侧。不知道为什么左边的光线投射是绿色的并且仍然通过对撞机。

0 投票
1 回答
46 浏览

c# - Unity3d CharacterController Collider 不与 Player Mesh 一起移动

我在我的播放器网格中添加了一个角色控制器,但由于某种原因,角色控制器没有随着播放器网格移动。

这是角色移动的代码

[在我开始和搬入之前的 CharacterController 和 Player Mesh 的图片

[1]:https ://i.stack.imgur.com/P3jzh.png [1]

[那是我进入游戏模式并移动]游戏]

[2]:https ://i.stack.imgur.com/Bg1g7.png [2]

0 投票
1 回答
99 浏览

unity3d - Unity 角色控制器

除了 Solider 是重命名为 Player 的游戏对象的子对象之外的所有对象上都有 Mesh Colliders。

玩家有一个围绕儿童或蓝色士兵的角色控制器。在 Game Play 中,他在半路摔倒并卡在 Unity 中。这个有办法解决吗????

我注意到 Unity 论坛自 2019 年以来没有回答过类似的问题。

0 投票
2 回答
92 浏览

c# - Unity3D 播放器在石头上穿行

大家好,我的玩家正在石头上行走并穿过石头。名为 Champ 的玩家有一个 Box Collider,而 Stone 有一个 Mesh Collider。玩家也有刚体。我尝试了我发现的一切,但没有任何帮助解决我的问题。

MovePlayer.cs 脚本

检查器中的播放器设置

检查器中的石头设置

场景预览

谢谢你们的帮助!:)

0 投票
1 回答
82 浏览

unity3d - 如何正确获得统一的空间网格对撞机?

我试图获得从 MS Hololens 获得的空间网格上的最近点。我可以通过此参考轻松获得 SpatialAwarenessMeshObject 对撞机和游戏对象(https://docs.microsoft.com/en-us/windows/mixed-reality/mrtk-unity/features/spatial-awareness/usage-guide?view=mrtkunity -2021-01 )

它正在运行,但不是我所期望的。计算的最近点不正确。我做对了吗?请让我知道 OnObservationAdded 和 OnObservationUpdated 方法之间的区别。

在此处输入图像描述 LineManager.cs 脚本:我想在空间网格上从某个点到最近点绘制一条线。该脚本尝试获取 SpatialAwarenessMeshObject 的 Collider 并找到其上最近的点。

在此处输入图像描述 MeshManager.cs :此脚本实现来自 SpatialAwarenessHandler 的虚拟方法。我真的不知道每个虚拟方法的含义。

谢谢。