跳转至

数值提供器

数值提供器(Number Provider)是一项提供动态数值的机制,用于灵活配置数值。在支持数值提供器的数字属性中,数值提供器可以替代原本的数值以实现动态生成数值,例如音效的振荡器修正值。

类型

数值提供器的类型由 type 字段定义,可能不存在,默认为 uniform

binomial

type 取值为 binomial 时,数值提供器返回服从二项分布的随机数。

  • n:(数值或数值提供器)进行独立重复的伯努利试验的次数,默认为 0。
  • p:(数值或数值提供器)每次试验的成功概率,取值 0 ~ 1,默认为 0。

config

type 取值为 config 时,数值提供器返回配置文件中的数值。当读取到的配置项并非数值(包括未定义)且不可被转换为数值时视为读取失败。

如果配置项为数字字符串,则按字面量转换为数字。如果配置项为布尔值,则视 false 为 0、true 为 1。

需要注意的是,配置项是否被预定义并不影响读取,这意味着可以读取到未被预定义的用户自定义配置项。

  • config:(字符串)配置项名称。
  • fallback:(数值或数值提供器)当读取失败时提供的回退值。

constant

type 取值为 constant 时,数值提供器返回常数。

  • value:(数值)一个任意的确切数值。

summands

type 取值为 summands 时,数值提供器返回若干数值提供器的和。

  • summands:(数值提供器数组)要作和的数值提供器。

uniform

type 取值为 uniform 时,数值提供器返回两个值(含)之间均匀分布的随机数。

  • min:(数值或数值提供器)最小值,默认为 0。
  • max:(数值或数值提供器)最大值,默认为 1。
  • float:(布尔值)是否使用浮点数,默认为 false

示例

随机生成 0 ~ 100 的随机数
{
    "type": "uniform",
    "min": 0,
    "max": 100,
}