问题标签 [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 回答
77 浏览

c# - Unity 2D圆形对撞机摇晃运动

所以,我在一个非常简单的 2D 平台游戏中遇到了摇晃运动的问题,一个方形玩家,一个圆形对撞机。玩家的动作是摇晃的,而不是地面。我认为这是对撞机的问题,因为我一直在另一个帖子上试图修复脚本,我想我做到了。很长一段时间以来,我一直在尝试解决此问题。

0 投票
1 回答
1519 浏览

unity3d - 如何统一改变胶囊对撞机的特征

我希望我的问题不重复。我需要在运行时更改胶囊对撞机的功能我的代码:

但我明白了

错误。请帮我 。

0 投票
1 回答
87 浏览

unity3d - 在 Unity3d 中为不同的对象配置反弹

我有一个带有物理材料的对象,将反弹设置为 1.0,摩擦设置为 0.0

现在,我有 2 个对撞机:

Wall-A : 用砖和

Wall-B:用橡胶制成

我应该如何配置Wall-B反弹慢而Wall-A反弹快?

0 投票
0 回答
1495 浏览

c# - ContactFilter2d 图层掩码 - 用于地面检查

小细节:

大家好!我在工作时没有电脑在我面前。我实际上是在看回家后要做的事情的视频,所以我会尽我所能提取代码。

当谈到在平台角色上创建跳跃时,在大多数情况下,我看到的是一个附着在角色底部的物体,然后会创建一个地面检查以查看该物体是否撞到了什么东西。

我正在关注的教程可以检查许多不同的组件。( https://youtu.be/05TCTrpGB-4?t=6m54s )| 代码的确切时刻。

实际问题:

所以我一直试图想出我自己的方法,看起来更简单,但我被卡住了。所以我想,我想说的是,如果这个玩家身上的对撞机接触到任何其他对撞机,Grounded 是真的。

然后我按照参考指南:https ://docs.unity3d.com/ScriptReference/Collider2D.IsTouching.html

所以,要应用这个,它说使用public bool IsTouching(Collider2D collider);

我不知道 Collider 是否是它正在撞击的对撞机的名称,如果是这样,我将它命名为平台并放置它。一旦我测试它,我得到了一个错误。

我试图为你们搜索错误,但它本质上说 Ninja1.IsTouching 需要有一个主体,因为它没有被标记为某物。

据我了解,这意味着需要调用 IsTouching。我无法让它工作,所以我改用 Laymasks 尝试使用 ContactFilter ( https://docs.unity3d.com/ScriptReference/ContactFilter2D-layerMask.html )

然后尝试在它自己的函数中调用它,但我不知道如何设置它。参考指南(https://docs.unity3d.com/ScriptReference/Collider2D.IsTouching.html)仅提供有关它作为变量的信息:

如果我创建一个方法并在 handlemovement 内部调用该方法,它会中断得更多。我试过查找它,但我找不到使用 IsTouching 的引用,并且统一的引用让我循环创建一个变量,但我不知道如何应用该变量。

我将永远感激理解为什么这不起作用,以及我错过了什么。我知道这篇文章有点冗长,但我最好添加更多细节,而不是在有问题的帮助下留下。像往常一样提前谢谢大家。

0 投票
1 回答
1444 浏览

unity3d - Unity:Collider.bounds.extends.x 自最新更新以来返回半径 - 为什么?

今天我将我的项目更新到 2017.2.0f3 版本(之前在 2017.1.1f1 上工作)。

这个...

...用于返回我的 SphereCollider 世界空间中的边界,但现在它只返回组件的半径。文档说它应该返回世界空间的边界。

当整个 GameObject 重新缩放时,我的 SphereCollider 的半径总是相同的。例如,在补丁之前用于返回正确值的每个方法现在只返回可以在检查器中设置的半径。

我错过了什么,这是一个错误还是自上一个补丁以来发生了变化?我对这个有点迷茫。

0 投票
3 回答
1300 浏览

c# - Unity - 使用枚举属性来检测碰撞的对象

昨晚我在做一个 C-Sharp 项目,试图围绕 GameObjects 相互碰撞进行编码。我想要不同的门类型(例如木头、石头、金属),它们可以被不同的武器(例如棍棒、剑、斧头)分解。

为了检测 GateManager 上的碰撞,我为每个门使用了标签。例如:

上面的代码并不准确,但应该给出一个想法。将每种门类型设置为不同的标签感觉是错误的(如果每种门类型都有不同的标签,每种材料类型都有不同的标签,等等,那么我最终会得到数百个标签)。

所以我想出了一个替代方案。我设置了 GateType 的枚举并创建了 3 个值(WoodenGate、StoneGate、MetalGate)。然后,我将公共 GateType 属性附加到 GateManager 类。这使我可以在统一的“检查器”窗口中选择与每个预制件相关的枚举。它非常整洁,我真的很高兴。

然后出现了一个问题:我在列表的中间添加了第四个枚举(例如 GlassGate)。因为枚举只是 int 值,所以第三项不再是 MetalGate,而是现在的 StoneGate。这意味着金属门预制件突然有了一个 GateType 石门。这打破了我的游戏。

抱歉,对于这个冗长的问题,但我的问题是我应该如何最好地标记和识别许多不同类型的项目?我不想使用标签(因为我需要太多标签)并且我不想使用枚举(因为它们在与统一检查员结合使用时会形成脆弱的问题。

我认为这一定是许多游戏的共同要求(例如,在游戏中,您可以在许多不同的游戏对象上使用镐来收集不同的资源)所以只是想知道最佳实践吗?

0 投票
1 回答
2219 浏览

unity3d - unity OnTriggerEnter 触发错误

我有一个游戏,我希望我的玩家从一个平台跳到另一个平台。在我的平台上,我有一个盒子对撞机。

当我尝试跳跃时,有时我的玩家会撞到对撞机的一侧并开始磨蹭它并滑倒并最终触发死亡条件。为了防止这种情况,我在我的平台旁边放了一个触发对撞机。我还将触发对撞机放在盒子对撞机下方,这样万一我的玩家跳到边缘,他就不会同时激活两者。

如果触发器激活,我会玩死亡功能,否则我会假设玩家已经进行了稳固的跳跃并继续其他游戏逻辑。但是,我注意到有时当玩家降落在平台边缘时,它会进入碰撞功能以及触发事件。

这很奇怪,因为我在场景视图中注意到玩家对撞机尚未进入平台下方的触发对撞机。

我已经尝试将光线投射添加到混音中,但我仍然遇到这个错误,即使有光线投射,我也不明白为什么OnTriggerEnter在玩家没有进入触发器时触发。

我确实考虑过玩家对撞机可能会推入平台对撞机,因为玩家正在以一定速度下落,但我认为它会出现在场景视图中。

带有网格和对撞机的图片

仅具有对撞机方向的图片

我的问题是,当我降落在平台对撞机上时,触发对撞机如何触发?我在它上面跳,而不是从下面跳。如果我完全错过了平台,触发器会按预期触发,但有时它会落在平台顶部,与触发对撞机没有重叠,仍然会触发它。

/e

草图

这是我的 3d 环境的一个侧面。这不是确切的描述,而是为你们简化它。我的玩家正在从一个平台跳到另一个平台,这两个平台都是用于各种方式和目的的 3d 立方体和盒子对撞机。在两个平台之间,但在稍低的水平上,我有一个触发对撞机。

当我的玩家击中触发器时,它的游戏就结束了。我的问题是有时我的玩家会像在草图中那样落在盒子对撞机的边缘,但是由于某种原因,当我的玩家对撞机没有穿透触发对撞机时,它会触发游戏结束触发对撞机,如您所见他们之间有足够的空间,他们甚至没有接触。

总而言之 - 当我的玩家和触发对撞机之间没有可见的接触时,我的 ontriggerenter 正在运行,问题是为什么?

实际游戏截图

忽略draw ray,如您所见,我的玩家对撞机牢牢地位于平台盒式对撞机的顶部,但是平台旁边和下方的对撞机的ontriggerenter被触发并且我的玩家进入死亡动画。我不能再具体了,现在由你们来帮助我并解释为什么会发生这种情况。我的玩家离他们没有接触的 triggercollider 很远。

0 投票
1 回答
287 浏览

go - 无法构建对撞机(Go 中基于 websocket 的信号服务器)

我正在尝试构建 apprtc 信令服务器(对撞机)。根据教程,我们只需要输入

去获取 collidermain

设置 $GOPATH 后。但我得到了这样的错误

然后我试图建立对撞机文件夹。但我得到了这样的错误

与此相关的实际问题是什么?我需要构建和部署对撞机应用程序

0 投票
0 回答
139 浏览

git - webrtc 的 apprtc 的部署说明所需的信息 - MAC OS 上的 https://github.com/webrtc/apprtc

1. 我已经克隆了 apprtc 的 git repo - https://github.com/webrtc/apprtc 2. 更改了代码以包含状态消息 3. 在本地成功运行代码 - 它在本地主机上运行良好。4. 尝试在线部署代码时卡住了

我正在尝试使用 MAC OS 部署此代码。坚持使用对撞机构建指令 - 去获取 collidermain。有没有人有关于如何部署此代码的详细说明?什么时候需要使用以及如何使用谷歌应用引擎/谷歌云引擎来部署代码?

新手在这里,非常感谢任何形式的帮助。

0 投票
0 回答
1063 浏览

unity3d - 凹面MeshCollider上的Raycast

所以我试图检测我的玩家相机是在凹面对撞机(管)内部还是外部。我目前的方法如下所示:

从理论上讲,如果两条射线相撞,那么我们就在管外。(一个在外面,一个在里面)。但不知何故,Raycasts 忽略了对撞机的外部,它直接通过了。有什么方法可以防止这种情况,或者可能有更好的解决方案?注:绿线为射线