Unity 权值分配

场景中要生成100个物体,这时需要动态决定每种物体分配的比例,如果直接按照比例生成并不是一个好的方式,尤其是比如每秒生成一个,这时还要去统计当前场景中的每种物体的数量,这里我们使用两种权重分配方式

1.动态权值(时间权重)

这里适合与场景中每隔一小段时间生成一个敌人的情况(其实学过计算机科学都知道,这是任务时间权重方案):我们给每种敌人设置一个权重,设置一个变量作为权值,权值+=权重*Time.deltaTIme,找出当前权值最大的怪物种类,生成这个怪物,同时让其权值重置为0。

2.静态权值(随机值区间)

这里适合于同时生成多个物体的情况:总权重=权重1+权重2+权重3,随机值=0到总权重值之间,如果随机值等于0到权重1之间,那么结果为第一个,如果随机值在权重1到(权重1+权重2)之间,那么结果就是第二个,去过随机值在(权重1+权重2)到总权重值之间,那么结果就是第三个。

以上可以看出,其实两个的结果都差不多,最终的结果都接近与权重比例之间,由于有时间值固定性,动态权值要更接近比例一些,并且,动态权值也更好计算。当然这两种权重也是可以在同时生成与时间间隔生成上使用的。

posted @ 2020-11-18 00:26  小辉歌  阅读(738)  评论(0编辑  收藏  举报