【问题标题】:How to Spawn objects only in a certain radius / unity2d如何仅在特定半径/ unity2d 内生成对象
【发布时间】:2021-11-09 04:11:11
【问题描述】:

我对编程很陌生,我需要确保对象只在某个半径内产生,我想出了这个解决方案:

Vector2 incircle = Random.insideUnitCircle * 10;

这很好用,但问题是我想确保没有对象可以直接在播放器旁边生成。就像一个什么都不会产生的小内圈?

【问题讨论】:

  • 像圆环? Finding random position in torus, 还是内圆与外圆不同的圆心?那么也许您可以生成一堆位置并选择不在内圈内的位置?

标签: c# unity3d 2d-games


【解决方案1】:

可能是这样的(实际上并没有检查,但我认为这会起作用)

Vector2 incircle = Random.insideUnitCircle * (10 - reservedRadius);
incircle = incircle + incircle.normalized * reservedRadius;

假设reservedRadius是玩家周围的半径

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多