我想使用 ALPHA MAP 随机放置对象(只有黑色,不是灰度)。地图上的黑色区域用于确定我们可以放置对象的位置。
我为什么要这样做?例如,我们有一些带河流的地形。我们想在那个地形上随机放置一个箱子,关键是我们不希望我们的箱子在河里。我们有一个特殊的位置来放置那个箱子,这个位置可以有一个非常复杂的结构。
带有湖泊和河流的简单地图:
放置对象位置的黑白地图:
当然,我们可以使用 Random.Range() 获取随机点,并通过将其与像素值进行比较来检查每个点:“该点在黑色区域上吗?” 但是,如果我们有一个非常小(< 总面积的 10%)和复杂的“可用”区域(例如,沼泽中的岛屿),那么将会有大量的“垃圾”点。因此,这是一种非常低效的方法。
是否存在快速和性能技术来获得所需数量的“可用”点?