gpt4 book ai didi

使用 ALPHA map 随机放置对象

转载 作者:行者123 更新时间:2023-12-02 02:54:12 24 4
gpt4 key购买 nike

我想使用 ALPHA MAP 随机放置对象(只有黑色,不是灰度)。 map 上的黑色区域用于确定我们可以放置对象的位置。

我为什么要这样做?例如,我们有一些带有河流的地形。我们想在该地形上随机放置一个箱子,重点是我们希望我们的箱子不要在河里。我们有一个特殊的位置来放置该箱子,该位置可能具有非常复杂的结构。

带有湖泊和河流的简单 map :

link for simple map with lake and river image

放置物体位置的黑白 map :

link for black/white map of the location for placing objects image

当然,我们可以使用 Random.Range() 获取随机点,并通过将其与像素值进行比较来检查每个点:“该点是否在黑色区域上?”但是,如果我们有一个非常小的(<总面积的10%)和复杂的“可用”区域(例如,沼泽中的岛屿),那么就会有大量的“垃圾”点。因此这是非常低效的方法。

是否存在快速且高性能的技术来获得所需数量的“可用”积分?

最佳答案

理论上,您可以按颜色分割 alpha 贴图以获得区域的几何多边形表示,然后您可以生成一个点 algorithmically在一组黑/白多边形内。但如果您愿意以内存换取速度,则有一个更简单的解决方案:只需将 alpha 贴图表示为像素坐标的两个数组(黑色和白色),然后从所需数组中随机选取一个点。

关于使用 ALPHA map 随机放置对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35993190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com