首页 文章

在Unity(C#)中在运行时以程序方式放置对象

提问于
浏览
0

我希望我的游戏能够在地形上铺设石头 . 然后玩家可以拿起这些石头 . 我的地形非常庞大(统一术语大约5000x5000) . 我不认为将数百(甚至数千)石头作为游戏对象放置是最佳的 . 由于我的游戏是多人游戏,我不能只是在玩家走路时实例化石头,因为两个玩家相互接近会看到石头产生 . 我也不能把石头添加到我的地形的树木和大量放置它们因为它会与我的砍树和砍伐剧本相冲突 .

我脑海中的解决方案是以某种方式在没有玩家注意的情况下以程序方式放置石头 . 这是最好的方法吗?如果是这样,怎么样?

我不需要任何代码,但如果有人可以概述他们将如何处理这个问题呢?我想不出最好的方法......任何想法都会很棒!

1 回答

  • 1

    我不久前就自己解决了这个问题 . 我建议阅读"Linear congruential generators" 1 .

    它们用于生成伪随机数 . 但随机数取决于给定的种子 . 因此,如果每个玩家拥有相同的种子,则应该可以在玩家行走时生成宝石 . 由于同一种子,所有玩家都会在x,y位置获得相同的随机数,并且在这些位置上他们都会在相同的位置生成相同的石头 .

相关问题