使用方法
- 在「种族」下拉框选一档(示例默认人类 Human),六族的音节池互不混用。
- 在「生成数量」填 1~50 的整数(示例 8),非整数或超范围会给出具体提示。
- 勾选「附带家族名 / 氏族名」可把人类 Ashford 这类姓拼到名字后;取消勾选只出名。
- 点「生成」;在数量框里按回车键也会立即触发。结果区默认带有 6 条服务端直出的演示名。
- 点「复制结果」把当前整组名字复制成每行一个的纯文本,可直接贴进跑团记录。
DD字符名字生成器能解决什么
三个典型场景:一是开新团时玩家卡在起名环节,按角色种族点一次出 8 个候选(示例:人类出一组 Coren Ashford、Jorlin Highmoor 这类「音节名 + 家族名」);二是地下城主临时需要一批 NPC,选兽人一次抽出十几个 Gormok、Thoknak 配灰牙氏族这类部落式全名;三是跑团外的轻量用途——写奇幻短篇、给桌游角色占位。注意本页的定位是「按 D&D 玩家手册(PHB)各族的命名习俗做音节组合」,不是通用英文名,也不做账号用户名;通用奇幻风格命名由站内奇幻风格名字生成器承担,精灵、矮人、兽人等单一族深挖页分别由精灵名字生成器、Dwarf名字生成器、Orc名字生成器承担,本页不做单族海量词库。
原理与变量:音节池与随机源
实现上是「前缀 + 后缀(+ 姓)」的音节拼接法:每族维护三个数组,例如人类是 16 个前缀、8 个后缀、16 个家族名,名 = 前缀随机一个 + 后缀随机一个(16 × 8 = 128 种),附带姓氏时 16 × 8 × 16 = 2048 种全名组合;DD字符名字生成器的六族合计 5216 种组合,全部组合数都由数组长度实算得出,不是估值。取随机数不用 Math.random(),而用 crypto.getRandomValues(new Uint32Array(1)):取模前先做拒绝采样,把 2^32 里无法被池大小整除的余数区间丢掉——2^32 mod 36 = 4,若直接取模,池中前 4 个元素的概率会略高于其余,拒绝采样把这点偏差归零,这也是安全编码场景的通行做法。各族的拼接规则不是同一套模板:人类与精灵是「名 + 家族名」,矮人是「名 + 氏族名」,半身人的姓氏取自茶叶、树篱这类田园词源,兽人把部落名当姓用,提夫林按 PHB 习俗使用「憧憬」或「抗拒」的美德词当姓(Dawn、Ambition 等),所以切种族后抽出的名字气质完全不同。
完整示例(数值仅作演示)
默认设置:人类、8 条、附带家族名。点一次生成,得到的名字形如 Coren Ashford、Wilwin Greywell——每个名字都来自「16 前缀 × 8 后缀 × 16 家族名」这 2048 种组合之一。换成提夫林、5 条、不勾姓氏,得到 Raios、Nemith 这类地狱语系音节短名,正好对应美德姓规则被关闭后的形态。演示区那 6 条(Coren Ashford、Aelrith Amakiir、Brugrim Ironhelm、Merco Tealeaf、Gormok 灰牙氏族、Raios Dawn)覆盖了六族各一条,可与下面的对照表逐行对上。
输入范围与种族对照表
数量允许 1~50:低于 1 或高于 50、填了小数或非数字都会按字段与范围报错,不会静默取整后照跑。对照表按六族列出明名示例、全名示例、组合数与命名习俗,默认显示 12 行,点「加载更多」补出后 6 行,可导出带 BOM 的 CSV。
| 种族 | 明名示例 | 全名示例 | 含姓组合数 | 命名习俗 |
|---|---|---|---|---|
| 人类 | Coren | Coren Ashford | 2048 | 音节名 + 家族名 |
| 人类 | Wilwin | Wilwin Greywell | 2048 | 家族名多为地形词源 |
| 精灵 | Aelrith | Aelrith Amakiir | 768 | 名含流音,家名如花语 |
| 精灵 | Sylriel | Sylriel Siannodel | 768 | 元音连缀、尾音 -iel |
| 矮人 | Brugrim | Brugrim Ironhelm | 640 | 名 + 氏族名 |
| 矮人 | Durdin | Durdin Stoneforge | 640 | 氏族名出自锻造词源 |
| 半身人 | Merco | Merco Tealeaf | 640 | 田园词源家族名 |
| 半身人 | Rosana | Rosana Underbough | 640 | 名短音节、姓两词根 |
| 兽人 | Gormok | Gormok 灰牙氏族 | 480 | 部落名当姓 |
| 兽人 | Thoknak | Thoknak 血拳氏族 | 480 | 硬辅音、喉音为主 |
| 提夫林 | Raios | Raios Dawn | 640 | 美德词当姓 |
| 提夫林 | Nemith | Nemith Ambition | 640 | 地狱语名 + 美德姓 |
输入范围、边界与精度说明
数据链路是:读种族与数量 → 校验数量 → 按池做拒绝采样取下标 → 拼接去重输出。边界上,数量为空、非数字、小数、小于 1、大于 50 各有独立提示文案;勾选「去重」后若请求数超过当前池的组合上限,会明确提示上限是多少,而不是悄悄重复。DD字符名字生成器不做大小写混排以外的改写,输出为纯文本,因此同一种族反复生成会稳定呈现同一批词根——这是词库法的特征而非缺陷,想要更多变化只能扩充音节池。
常见问题
名字里的「DD」到底是什么意思?
本工具英文原名是 D&D Character Name Generator,DD 就是龙与地下城(Dungeons & Dragons,D&D)的缩写,中文页名按数据源直译保留了下来,所以它不是「字符特效」或「前缀 DD」的含义。
生成会重复吗?
单次生成内部按「抽取后移除」处理,同一批结果内不重复;跨批次不查重,因为连续两批各 50 条已超过人类族 128 个明名的一半,跨批去重会显著缩小可选面。
为什么不同种族名字风格差很多?
六族各自维护独立音节池与拼接规则:精灵用元音连缀,兽人用硬辅音加部落名,提夫林用地狱语音节配美德词,规则本身来自玩家手册的种族命名章节,不是随机洗词。
随机数用的是 Math.random 吗?
不是,用的是 crypto.getRandomValues 的 32 位整数加拒绝采样。取模偏差 2^32 mod 36 = 4 对不做处理的取模法意味着前 4 个词根出现概率略高,拒绝采样把这一偏差归零。
可以用于商业作品或 NPC 命名吗?
音节组合结果不构成受版权保护的文本,可自由使用;但把名字与特定种族、设定组合成品牌或完整作品时,仍受你自身创作素材的授权约束。
为什么最大只能一次生成 50 条?
50 条已足够一次团备 NPCs 使用,同时避免把结果区刷成数千行的长列表导致移动端滚动卡顿;需要更多可以多点几次,每次都是独立均匀抽样。
能加自定义词根吗?
本页不提供自定义池输入;需要完全自控的命名请用站内昵称生成器或用户名生成器,它们面向的是账号与昵称口径而非种族习俗。
生成过程有网络请求吗?
没有。词库内联在页面里,随机数走浏览器本地 crypto 接口,全程无请求,可在开发者工具 Network 面板确认。