Unity 选择具有不同概率的项

这篇博客介绍了如何在Unity中根据不同的概率选择项。通过将概率映射到0-10之间的区间,并利用Random.value进行随机选择,可以实现不同概率的随机选择。文章以NPC遇到玩家的四种反应为例,解释了如何构建和处理概率数组,以确保正确选择到对应概率的项。
摘要由CSDN通过智能技术生成

假设权重分别为3,2,5

随机一个0-10之间的数  Math.random()*10    // [0,10)  区间开闭看实际情况

数字落在[0,3),[3,5),[5,10)哪个区间就对应选择谁

 

判断落在哪个区间可以通过依次减去区间长度后是否有余

 

例如随机数为7.856:

7.856-3=4.856  说明属于后面的区间则继续

4.856-2=2.856  说明依旧属于后面的区间

2.856-5<0  说明属于该区间

例如随机数为2.856:

2.856-3<0  说明属于该区间

 

查看文档时发现文档也有提到这个,https://docs.unity3d.com/2019.3/Documentation/Manual/RandomNumbers.html

选择具有不同概率的项

有时需要随机选择项,但有些项比其他项被选中的几率更高。例如,NPC 在遇到玩家时可能会以几种不同的方式做出反

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值