游戏中的随机值-高斯随机值、随机筛选值、柏林噪声

本文介绍了游戏开发中提高随机性的技术,包括如何生成高斯随机值以模拟真实世界分布,如射击手打靶;通过筛选随机值避免过于极端的随机现象,以增强游戏体验;以及探讨了柏林噪声在游戏AI中的应用,如角色行为和动画效果。这些技术有助于创建更丰富、更自然的游戏世界。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了使游戏增加丰富度,不断给玩家新鲜感,很多时候我们都需要用到随机值。下面介绍三种高级的随机值技术,在某些场景下,他们比rand()表现更好。

一、高斯随机值

在日常生活中,我们的身高,体重和智商、运动员奔跑的速度,市区的房价,都满足正态分布(高斯分布)。在游戏中同样如此,比方说我们需要模拟一名射击手打靶:
在这里插入图片描述
作为一名专业的射击,显然右侧的更接近真实状况。要不然怎么参加比赛啊。
那么我们用函数怎么取到高斯随机值呢。
根据中央极限定理,对[-1,1]范围内均匀随机求和,那么我们的取值结果会逼近0,标准差为√k/3的正态分布。K为参与求和的随机值数量。比如我们每次取三个数求和,那么标准差是1,就是一个标准的正态分布。

下面的函数取[-3,3]之间随机3个数相加,通过伪随机数生成器使用异或位移操作产生均匀随机数。
66.7%的位于在一个标准差范围内,95.8%的位于在两个标准差范围内,100%的值位于三个标准差范围内。

unsigned long seed = 61829450;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值