问题标签 [unity3d-2dtools]

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 投票
3 回答
1708 浏览

ios - 如何为 iOS 版 Unity3d 添加可访问性

有什么方法可以通过 Unity3d 与 iOS 的 VoiceOver 可访问性原生支持进行通信?我们有一个需要可访问的应用程序,但我们不知道如何去做。

创建我们自己的自定义 VoiceOver 是不可能的,因为我们需要语言支持,所以我们需要本地化。我们的直觉告诉我们通过插件与 iOS 通信,但似乎 iOS 硬件无法捕获统一点击,而且它似乎覆盖了我们的一些手势。

任何建议将不胜感激。

0 投票
1 回答
1602 浏览

unity3d - Unity3D 2D 重置 2D 对象位置

我将以下脚本附加到一个对象。当它撞到左墙或右墙时,我想重新定位对象,但它似乎没有重置位置。

我确实在调试窗口中看到了“撞墙”。

0 投票
2 回答
12583 浏览

unity3d - 触控 Unity 2D

我调用了脚本PlayerCharacter来控制 Unity 2D 平台上的播放器。这是完美的,像往常一样工作。

当我尝试使用可触摸控制器修改脚本时出现问题。我已经用谷歌搜索了很多次并尽可能地修改了脚本,但它仍然没有给我任何结果(顺便说一句,我是 Unity 的新手)。TouchControls然后我从一个网站上找到了一个关于使用 GUI 纹理 ( )制作触摸控制器的教程。我认为该教程很容易学习。这是脚本

但我不知道如何实现教程 ( TouchControls) 中的脚本并将其分配给我的播放器控制脚本 ( PlayerCharacter)。如何结合这两个脚本,以便玩家可以通过可触摸控件来控制它?

0 投票
1 回答
571 浏览

unity3d - Unity 2D 游戏射击目标问题

所以基本上我有一个像射箭类型的目标 3 环(靶心,内圈和外圈)

现在我基本上使用圆柱体来创建这些,然后将它们添加到刚体 2D 和 circleCollider 2D 中,现在我的问题是因为环基本上是相互重叠的,所以我将它们在 z 轴上分层一点以使它们全部可见但是当涉及到在目标上进行 raycast2d 时,它并没有选择正确的,例如它从外圈直接到靶心并跳过内圈但所有对撞机都以相同的方式设置

我想不出一种方法来克服这个问题,如果不是生病的话,我必须改变一个没有重叠的不同目标才能让它工作,但我真的很喜欢射箭类型的目标

谢谢

0 投票
3 回答
16676 浏览

unity3d - Unity 2D 与 3D 差异

Unity 2D项目和unity 3D项目的主要区别是什么!unity 渲染 2D 项目是否比 3D 更快?或者 2D 预制件/纹理是否需要比 3D 更少的内存?是否有在 2D 项目中创建 2D 网格的选项?

感谢您的时间!

0 投票
1 回答
345 浏览

unity3d - 在unity3d的同一层中没有检测到碰撞

我正在研究 unity2d。我在屏幕上有一个名为“gameobject1”的游戏对象。它包含一个图像(名为“状态”)。当我在“gameobject1”上拖动一棵树时,在同一层中没有检测到碰撞。有人知道这个问题吗?

0 投票
0 回答
648 浏览

networking - Unity 网络 - Rigidbody2D

我正在开发多人足球游戏(1 对 1)。- 场景中有一个球,并附加了一个刚体2D。
- Player1(rigidbody2D) 正在使用 Network.Instantiated 在服务器注册时进行实例化。- Player2(rigidbody2D) 正在使用 Network.Instantiated 当客户端连接到服务器时进行实例化。

  • Player1 在 Update 函数中使用 RPC 发送它的位置。
  • Player2 在 Update 函数中通过 RPC 发送它的位置。
  • 服务器通过更新函数中的 RPC 发送球的位置和旋转。

在这种情况下,对面存在抖动问题(我的意思是,在控制作为服务器的 Player1 时,在客户端 Player1 的移动不顺畅,而在控制作为客户端的 Player2 时,在服务器端 Player2 的移动不顺畅)这是我的第一个问题,我不确定当我在手机上构建和运行它时它会继续。

我的第二个也是最大的问题是 Player2 的刚体 2D 工作不正常,我的意思是,当他击球时,OnCollisionEnter2D 函数正在工作(那里有一条 AddForce 线),但标准的刚体 2D 行为不起作用,当我走到当我删除 OnCollisionEnter2D 函数时,球、Player2 和球就停止了!---- 但是Player1 的rigidbody2D 工作得很好。所以,我不明白为什么它不能很好地工作,球没有在服务器或客户端实例化,没有理由对每个球员的球采取不同的行动......

请帮我解决这两个问题。另外,如果您对构建此类游戏的网络结构有更好的想法,请告诉我。

0 投票
2 回答
7099 浏览

unity3d - 多边形碰撞器 2D 可以与 Unity 中的网格碰撞器一起使用吗?

编辑:这是一个相当简单的问题。我有一个真正需要多边形碰撞框精度的 2D 精灵。出于效率原因,其周围基于瓦片的 2D 世界使用瓦片 Mesh,因此具有 Mesh Collider。

以前,世界上的瓷砖都是带有 Box Colliders 和 Rigidbody 2D 的 GameObjects,船和瓷砖碰撞得很好。但是,现在我使用的是 Mesh Collider,它们不能发生碰撞。(我已经读过这是因为一个是 2D,一个是 3D。)那么我应该怎么做才能让多边形船和 2D 瓦片网格之间发生碰撞(最好是刚体物理)?[结束编辑]

在一个 2D、基于图块、程序生成、基于块的探索游戏中(在 Unity 4.5 中),我有一艘玩家飞船,它使用 2D 刚体和 2D 多边形对撞机进行碰撞检测。
当我将 Rigidbody 2D / Box Collider 2D 用于世界图块时,这效果很好。但是,这非常慢,所以我使用 Mesh Collider 和其他相关用具将离散块替换为 tile 网格。

问题是:我根本无法让碰撞检测工作。我在 xy 平面上有瓷砖,碰撞网格(我可以在场景视图中看到它,所以我知道它有效)由四个垂直于瓷砖的矩形组成。(如果你无法想象这一点,我不怪你。看这里。)

到目前为止我看到了什么?好吧,我验证了(2D)船实际上通过了场景视图中的碰撞框。此外,这两个对撞机都不是“触发”。
由于似乎没有关于如何实际使用网格的官方文档(有吗?在哪里?),我无法确定 Mesh Colliders 和 Polygon Colliders 是否真的可以交互。因为一个是 2D,一个是 3D,这不起作用吗?如果是这样,那我应该怎么做呢?我尝试为船使用 Box Collider [3D],但这也不起作用。不过,我可能在这里犯了一个错误。

我是否应该手动处理碰撞(使用 OnCollisionEntered [或其他] 方法)?以前,rigidbody2D 对象会自动处理所有内容。否则,是否还有其他可能的原因碰撞可能不起作用?

0 投票
1 回答
2026 浏览

unity3d - Unity:忽略基于轨迹或速度等上下文的 2D 碰撞

我浏览了文档,但找不到使用内置物理引擎实现最简单的联系人管理的方法。

我有一种情况,当例如 2 个对象以相似的速度沿相似方向行进时(基本上当它们的速度矢量减法的距离太短时),应该忽略 2D 碰撞......

这些对象位于定义在正常情况下应该与之碰撞的其他类型对象的层中。相交(而不是碰撞)的对象数量可以任意增加。所以改变层不是一个可行的选择。

使用常规 box2d,我将使用来根据对象的掩码和其他参数b2ContactListener.PreSolve过滤对象,具体取决于掩码。Unity 的 2D API 的等价物是什么?

0 投票
1 回答
1207 浏览

unity3d - 解决正常物理周期之外的碰撞

有没有办法在通常的碰撞系统之外测试和解决碰撞?

有一种情况,我希望大多数游戏对象使用统一提供的基本过滤器系统发生碰撞。

但是一组非常特殊的对象(在 4 个不同的层内)会表现不同,并且在某些情况下会发生不同的碰撞。

我将添加带有循环触发器的子对象作为广泛阶段,然后我想仅在对象应该发生碰撞时才调用引擎的碰撞解决方案。

我应该如何继续手动触发冲突解决?