问题标签 [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.
c# - 如何在 Unity 中随机生成一个不与我的游戏地形发生冲突的预制件
我正在开发一个 3D 游戏,如果这只鸟成功地穿过管道,它会得分,否则它就死了。我能够很好地实现这一点。
此外,我正在通过脚本生成管道(这是一个预制件)。生成的管道的位置是在鸟前面的随机位置。代码如下。这段代码是在负责游戏状态的 GameControl 脚本中编写的。
SpawnPipe 函数负责创建管道的部分。我已将管道预制件附加到检查器中的管道 GameObject 上。
现在问题来了。当我生成管道时,我不希望它接触地形的任何部分。如果它碰到了我想重生,直到我把管道放在不接触地形的位置。为此,我在管道预制件中附加了一个脚本,并在 OnCollisionEnter 函数中销毁了管道。下面是代码:
上面的逻辑是,如果生成的管道与地形接触,则将其销毁。在这种情况下,当生成的管道被破坏时,更新函数再次运行以生成新的管道。只要它不与地形发生碰撞,它将是一次又一次地产生。
但实际上我仍然能够看到管道接触,与地形很好地融合在一起。对于地形,我添加了一个网格对撞机,并通过 isKinematic 检查使其成为刚体。当鸟儿撞到地形时它工作得很好,我可以通过消息显示游戏
对于管道,我添加了 3 个盒子碰撞器,一个在管道底部,另外两个在管道侧面。当它与鸟碰撞时,它成功显示 Game Over 消息。但是管道和地形之间的卷曲没有被检测到。我不知道我哪里出错了。请帮忙。我对 Unity 也很陌生
<<<------------------------编辑------------------------>
地形的FBX模型的链接
https://docs.google.com/uc?export=download&id=1kFUtPpQnopa7489i-iQwC2qEiQECbWCu
ios - 不正确的 RealityKit generateConvex(from mesh: ) collider
我一直在尝试使用它的网格在 USZD 模型(通过 Reality Converter 从 .glb 转换)上创建一个合适的对撞机,但结果看起来像一个大盒子,而不是真实模型的网格。这是示例代码
这个也产生了另一个奇怪的盒子
unity3d - Unity中粒子系统中的连续碰撞检测(CCD),这可能吗?
根据这篇文章,可以统一解决快速移动物体的碰撞问题。
如果您有粒子系统使用对撞机和重力修改器发射 1 个球体粒子(例如投球)。还有另一个带有刚体的移动对撞机(例如棒球棒),当它们以“高速”碰撞时,是否有可能使这些物体不通过?您不能在粒子上设置“碰撞检测”。
为了更好地理解,我在下面添加了两个屏幕截图。
随时提出任何问题。
unity3d - 两个模型相邻的网格对撞机问题
正如您可以从视频链接中查看的那样,我有一个由两个模型创建的网格,由于某种原因,有时球会与两个模型之间的中间部分发生碰撞,在我在视频中看到的测试中,我在 Blender 中合并了两个模型并合并了顶点按距离,我还测试了将两个网格彼此相邻放置(仅在 Unity 中而不导出到 Blender),情况更糟。我还将默认接触偏移设置为非常低(2e-05)并将碰撞检测设置为连续但没有任何效果
感谢您提供任何帮助
unity3d - Unity 角色控制器
除了 Solider 是重命名为 Player 的游戏对象的子对象之外的所有对象上都有 Mesh Colliders。
玩家有一个围绕儿童或蓝色士兵的角色控制器。在 Game Play 中,他在半路摔倒并卡在 Unity 中。这个有办法解决吗????
我注意到 Unity 论坛自 2019 年以来没有回答过类似的问题。
c# - Unity3D 播放器在石头上穿行
大家好,我的玩家正在石头上行走并穿过石头。名为 Champ 的玩家有一个 Box Collider,而 Stone 有一个 Mesh Collider。玩家也有刚体。我尝试了我发现的一切,但没有任何帮助解决我的问题。
MovePlayer.cs 脚本
谢谢你们的帮助!:)
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 的虚拟方法。我真的不知道每个虚拟方法的含义。
谢谢。