1

首先,我使用的是 Unity3d。

使用纹理图集(和瓦片数据)创建一组具有 2D 对撞机的 2D 瓦片的最有效(就内存而言)方法是什么?

背景信息:我正在研究 2D 地形生成资产。它与泰拉瑞亚的随机生成非常相似。目前,每个图块都被实例化为一个单独的游戏对象。我现在知道,这是非常低效的,我应该使用纹理图集和平铺数据。这是我一直在关注的一个教程的链接,该教程在 3D 中处理这个问题:http: //studentgamedev.blogspot.co.uk/2013/08/unity-voxel-tutorial-part-1-generating.html

问题是网格对撞机是 3D 对撞机;3D 对撞机不能与 2D 对撞机发生碰撞。目前在 Unity 中,没有(我知道的)具有网格属性的 2D 对撞机;我需要动态更改 2D 对撞机以适应包含瓷砖的位置。我应该如何使用 2D 对撞机开发高效的 2D 瓦片系统?

以下是我对可能有效的技术的一些想法:

  • 为块中的每个图块添加一个盒子碰撞器 2D 组件到块 GameObject。
  • 不知何故,动态地使用 2D 多边形对撞机来拉伸所有实心瓷砖。

我已经阅读了几个线程,找不到解决这个问题的好方法。我主要是在寻找一种经过验证的技术/方法来解决这个问题,但我愿意接受任何建议或技术。我很乐意根据需要提供清晰度。感谢您的任何回答!我很感激你花时间回答我的问题——这很有帮助!

4

1 回答 1

0

正如您所说的那样,2D 对撞机不适用于 3D 对撞机。正确的方法是选择其中之一。

如果要混合 2D 和 3D 对象,请使用 3D。您可以限制对象受物理影响的轴,如本答案中所述。

于 2015-08-25T03:22:42.307 回答