组件
React 层刻意很小。大部分工作发生在引擎里;这些组件决定何时动画、何时共享动画,以及何时干脆不动。
核心
头像
活动与特效
HUD
智能体
编辑与模板
场景
其他
它们如何关联
四层。引擎对 React 一无所知;核心把它包成组件,并决定何时共享动画;智能体层把协议编号喂给核心;其余一切由这两层组合而来。
怎么选组件
单独一个角色。 CharacterMark。
很多角色,其中大多数长得一样。 MarkStageProvider 加 StagedMark。每种不同的形状-状态组合一个引擎,其余用镜像。
用户或智能体的头像。 AgentAvatar。它在照片、群组簇和角色之间替你选择,并从 id 推导稳定外观,所以你不必存储一份。
会报告自己在做什么的智能体。 AgentStateProvider 加 CharacterMark。钩子和中继讲的是情绪协议;仲裁器决定脸上显示哪一个会话。
脸旁边要有一个数字。 任何角色都有 hud,规格由协议携带;需要标题和数值并排时用 HudPlate,两者都该由 provider 提供时用 AgentHud。
同一个智能体同时画在几个地方。 角色指令——事实只发布一次,这个智能体的每一个名册行、头像和活动行都跟着走。
让人选择或编辑外观。 设置表单里用 CharacterPicker;对话框里用 AgentCharacterPicker;注册表单旁用 CompactCharacterPicker;还允许上传图片时用 AvatarEditor;外观属于一个正在创建的模板时用 TemplateDialog。
一整个场景。 死胡同用 RestrictedScene,不确定时长的等待用 BootLoop,有脚本的表演用 CastStage,引导流程用引导页组件。
用手绘吉祥物代替程序化角色。 SpriteMark,用同一套协议编号索引帧。
虚拟列表里的几百个。 都不用——用 renderAvatarDataUrl 渲染图片。
全部导出
一页看完:API 索引。
接下来
- CharacterMark——一个会动的角色
- API 索引——所有导出集中一处
- 对话流——一行带脸的状态