• 简体中文
  • 角色阵容

    有名字的角色,每个形状一个。每一个都是一个形状、一种墨色加一点性格——没有什么是一对 { shape, color } 复现不出来的,只是多了一个名字,让产品可以提供「选一个角色」而不是「选一个形状和一种墨色」。阵容与形状一一对应:引擎新增一个形状,就必须同时新增它的名字。

    糯糯Mochimochi

    软软的小年糕,底是平的,头是圆的,是最先认识的那个朋友。

    shape
    mochi麻薯
    color
    blue蓝
    accent
    #0D7EFF
    圆圆Dotdot

    一枚纯粹的橙色圆,所有笑脸最早就画在它身上。

    shape
    circle圆形
    color
    orange橙
    accent
    #F25C0F
    团团Pippip

    一坨青蓝软团,从来坐不老实。

    shape
    blob果冻
    color
    cyan青
    accent
    #0899B8
    比特Bytebyte

    圆石小方壳,浑身是安静的器件紫。

    shape
    pebble石子
    color
    violet紫
    accent
    #6F55E0
    桃桃Momomomo

    蜜桃粉的小蛋蛋,上尖下鼓,坐得比谁都稳。

    shape
    egg蛋
    color
    red朱红
    accent
    #E0363A
    包包Baobao

    奶黄小馒头,头顶一个小揪揪,热乎乎的。

    shape
    bun包子
    color
    yellow琥珀
    accent
    #E9A20C
    青青Tealteal

    湖水青的小豆腐块,方而不楞,圆而不塌。

    shape
    tofu豆腐
    color
    cyan青
    accent
    #0899B8
    薯薯Tatotato

    躺平的小胶囊,两端圆帽中间直腰,一刻也坐不住。

    shape
    pill胶囊
    color
    red朱红
    accent
    #E0363A
    六六Hexahexa

    湖青圆角六边形,每个角都被磨软了。

    shape
    hex六边
    color
    cyan青
    accent
    #0899B8
    尖尖Tritri

    圆角小饭团三角,蹦得利落落得稳,浑身都是冲劲。

    shape
    onigiri饭团
    color
    magenta洋红
    accent
    #D12D8C
    晶晶Gemmagemma

    软切面小宝石,头顶一层浅色冠面,每个角都是圆的。

    shape
    gem宝石
    color
    cyan青
    accent
    #0899B8
    云宝Nimbonimbo

    雾蓝薰衣草色的蓬松云朵,波浪扇贝边,总比世界慢半拍。

    shape
    cloud云朵
    color
    blue蓝
    accent
    #0D7EFF
    滴滴Dewdew

    晴空蓝的小水滴,落地也不散,永远饱满欲滴。

    shape
    drop水滴
    color
    blue蓝
    accent
    #0D7EFF
    叶叶Leafyleafy

    一片斜着的小叶子,带一截小梗,像刚决定要舒展开。

    shape
    leaf叶子
    color
    green青绿
    accent
    #1B9A5C
    仙仙Bloombloom

    霞粉小花,花瓣一圈软软的,花心里是一张安静的脸。

    shape
    flower花
    color
    magenta洋红
    accent
    #D12D8C
    幸幸Luckylucky

    四片圆鼓鼓的叶,中间一张安静的脸,好运不吵不闹。

    shape
    clover四叶草
    color
    green青绿
    accent
    #1B9A5C
    芽芽Sproutsprout

    顶着两片嫩叶的小圆籽,像刚决定要长出来。

    shape
    sprout豆芽
    color
    green青绿
    accent
    #1B9A5C
    菇菇Shroomshroom

    红帽小蘑菇,帽子上三颗浅色斑点,柄又粗又稳。

    shape
    mushroom蘑菇
    color
    red朱红
    accent
    #E0363A
    橡橡Oakoak

    戴着大一号帽子的棕色小橡果,悄悄囤着小秘密。

    shape
    acorn橡果
    color
    brown棕褐
    accent
    #C46A32
    刺刺Pokeypokey

    两只圆胳膊的小仙人掌,隔着一点点距离抱抱你。

    shape
    cactus仙人掌
    color
    green青绿
    accent
    #1B9A5C
    梨梨Nashinashi

    头顶一片小叶的圆胖小梨,上圆下宽,坐得稳稳的。

    shape
    pear梨
    color
    yellow琥珀
    accent
    #E9A20C
    苹苹Pommepomme

    凹着一个小窝、顶着一片叶子的青苹果,难过的时候也脆脆的。

    shape
    apple苹果
    color
    green青绿
    accent
    #1B9A5C
    莓莓Berryberry

    戴着绿王冠、满脸小雀斑的红草莓,甜里带一点点酸。

    shape
    strawberry草莓
    color
    red朱红
    accent
    #E0363A
    樱樱Chericheri

    一根梗上挂着两颗樱桃,说话的总是大的那颗。

    shape
    cherry樱桃
    color
    magenta洋红
    accent
    #D12D8C
    亮亮Twinkletwinkle

    圆尖软五角星,边上没有波浪,金黄得发亮。

    shape
    star星星
    color
    yellow琥珀
    accent
    #E9A20C
    心心Luvluv

    圆鼓鼓的小红心,心事都写在脸上。

    shape
    heart爱心
    color
    red朱红
    accent
    #E0363A
    焰焰Emberember

    一苗侧倾的小火苗,尖顶轻轻甩。

    shape
    flame火苗
    color
    orange橙
    accent
    #F25C0F
    叮叮Chimechime

    紫色小铃铛,底下一颗圆圆的铃舌,响之前先晃一晃。

    shape
    bell铃铛
    color
    violet紫
    accent
    #6F55E0
    水灵Jellyjelly

    杏橙色的简约小幽灵,慢悠悠地漂。

    shape
    ghost幽灵
    color
    orange橙
    accent
    #F25C0F
    哔哔Beepbeep

    青蓝小机器人,方圆的脑袋,天线一晃一晃。

    shape
    bot机器人
    color
    cyan青
    accent
    #0899B8
    露娜Lunaluna

    圆鼓鼓的小月牙,安安静静地弯着,永远想睡觉。

    shape
    crescent月牙
    color
    yellow琥珀
    accent
    #E9A20C
    波波Bobaboba

    棕色的珍珠奶茶,杯底三颗珍珠,吸管直指天空。

    shape
    boba奶茶
    color
    brown棕褐
    accent
    #C46A32
    鱼鱼Finnfinn

    圆滚滚的青色小鱼,尾巴大大分叉,原地也能游起来。

    shape
    fish小鱼
    color
    cyan青
    accent
    #0899B8
    墨墨Inkyinky

    紫色的小章鱼,四条胖腿,从来对不上方向。

    shape
    octopus章鱼
    color
    violet紫
    accent
    #6F55E0
    喵喵Misomiso

    一只竖着两只尖耳朵的橘猫,什么都想凑过去看看。

    shape
    cat猫咪
    color
    orange橙
    accent
    #F25C0F
    跳跳Hophop

    粉粉的小兔子,长耳朵圆屁股,随时准备蹦一下。

    shape
    bunny兔子
    color
    magenta洋红
    accent
    #D12D8C
    熊熊Brunobruno

    圆滚滚的棕熊,两只小圆耳朵,心比谁都软。

    shape
    bear小熊
    color
    brown棕褐
    accent
    #C46A32
    啾啾Chirpchirp

    一团黄绒绒的小鸡,头顶一撮毛,脚丫小小的。

    shape
    chick小鸡
    color
    yellow琥珀
    accent
    #E9A20C
    摇摇Waddlewaddle

    肚皮圆圆发亮的小企鹅,走起路来左摇右晃。

    shape
    penguin企鹅
    color
    blue蓝
    accent
    #0D7EFF
    哼哼Oinkoink

    耳朵折向两边、鼻子圆圆的粉色小猪,总能闻出点心在哪。

    shape
    pig小猪
    color
    pink粉
    accent
    #E8628F
    狐狐Rustyrusty

    心形小脸、白下巴的橘色狐狸,狡黠得很有礼貌。

    shape
    fox狐狸
    color
    orange橙
    accent
    #F25C0F
    琪琪Kikikiki

    齐刘海的波波头,暖棕色,一丝不乱。

    shape
    bob波波头
    color
    brown棕褐
    accent
    #C46A32
    丸丸Marumaru

    粉色丸子头,扎得高高的,随时开工。

    shape
    topknot丸子头
    color
    pink粉
    accent
    #E8628F
    小刺Zipzip

    一头蓝色刺毛,梳子说什么都不管用。

    shape
    spiky刺头
    color
    blue蓝
    accent
    #0D7EFF
    卷卷Fuzzfuzz

    一团绿色卷毛,底下是一张很淡定的脸。

    shape
    curly卷毛
    color
    green青绿
    accent
    #1B9A5C
    露露Lulululu

    两边各一个紫色小丸子,对得整整齐齐。

    shape
    twinbuns双丸子
    color
    violet紫
    accent
    #6F55E0

    巡演会让一张卡片依次走过所有协议编号。

    使用预设

    <CharacterMark preset="bao" state="happy" />
    <StagedMark preset="dew" />
    <AgentAvatar agent={{ id: 'u-1', preset: 'nimbo' }} />

    预设只在没有给出 shape 和 color 时提供它们,别无其他:与 preset 一起传入 shape 会覆盖预设的形状。它是原语之上的一层便利,不是新的维度。

    {
      "id": "bao",
      "name": {
        "en": "Bao",
        "zh": "包包"
      },
      "desc": {
        "en": "A warm little bun with a knot on top.",
        "zh": "奶黄小馒头,头顶一个小揪揪,热乎乎的。"
      },
      "shape": "bun",
      "color": "yellow",
      "accent": "#E9A20C"
    }
    import { CharacterMark, castMember } from '@aora-bot/react';
    
    export default function Demo() {
      const bao = castMember('bao');
      return (
        <div className="site-demo">
          <CharacterMark preset="bao" state="happy" sizePx={96} />
          <CharacterMark preset="bao" color="violet" state="happy" sizePx={96} />
          <CharacterMark preset="bao" shape="cloud" state="happy" sizePx={96} />
          <pre style={{ margin: 0, fontSize: 12 }}>{JSON.stringify(bao, null, 2)}</pre>
        </div>
      );
    }

    预设里有什么

    interface CharacterPreset {
      id: CastId;
      name: { en: string; zh: string };
      desc: { en: string; zh: string };
      shape: ShapeId;
      color: ColorId;
      accent: string; // 角色设计时用的十六进制色
      face?: FaceStyle; // 按线条脸绘制的预设
      nose?: NoseId;
    }

    color 是最接近的调色板条目,也是实际渲染的墨色。accent 是角色绘制时的精确色相;保留它是为了文档里的色板,以及有自己调色板的宿主。内置成员都不设置 face 或 nose——阵容保持默认脸——但宿主自己的预设可以,而且所有选择器都会尊重它们。

    查找

    castMember('mochi'); // CharacterPreset
    castMember('nobody'); // null —— 存下来的偏好过期了也安全
    isCastId('byte'); // true
    CAST_IDS; // ['mochi', 'dot', 'pip', 'byte', …]

    castMember 对未知编号返回 null 而不是抛出,所以存储的偏好里出现未知编号时会降级为默认角色,而不是让页面崩溃。

    接下来

    • 形状——每个角色的图纸
    • CastStage——多个角色依次入场