我正在使用Unity,我有一个填充了瓷砖的Tilemap。在给定的时间点,我在场景中创建具有指定宽度和高度的Collider2D。我需要做的是获取Tilemap中与我刚刚创建的Collider2D对象重叠的切片列表。
Collider2D[] results = new Collider2D[16];
int count = rb2d.OverlapCollider(contactFilter, results);
for (int i = 0; i < count; i++)
{
Collider2D result = results[i];
Tilemap breakableMap = result.gameObject.GetComponent<Tilemap>();
breakableMap.SetTile(breakableMap.WorldToCell(..........), null);
}
使用上面的代码,我可以确定我重叠的Collider2D对象。但是,为了从Tilemap中移除一个图块,我需要一个实际的Vector3坐标,它指示两个碰撞器之间重叠区域之间的某个接触点。
我的问题是,关于这个问题,目前的方法是理想的方法吗?如果是这样,可以做些什么来轻松检索重叠图块的坐标,以便可以将其删除?
发布于 2018-08-14 18:18:59
你有一个碰撞者列表。要获得坐标,需要一个已发生碰撞的列表。这是使用OnTriggerEnter(...)和OnCollisionEnter(...)之间的区别
https://stackoverflow.com/questions/-100002160
复制相似问题