3-THREE Avatar

1. 资源库

资源库为包含该种类的头像的所有资源,包括但不限于脸型,五官,皮肤,等材质

2. 头像描述 JSON

头像描述 JSON 用于描述某一个特定头像中所有信息,包括使用的资源库版本,使用的五官参数,皮肤参数。

{
  version: [1],
  shape: [1, 1, 0.9],
  eye: [1, 1, 1, -10, -10],
  nose: [1, 1, 1, 0, 0],
  mouth: [1, 1, 0.5, 0, 0],
  ear: [1, 1, 0.5, 0, 0],
  skin: [1, 2]
}

描述 JSON 中

  1. version, [number] 使用的所有资源库版本

  2. shape, [version, type, scale] [资源库版本,类型,缩放] 脸型

  3. eye, [version, type, scale, ratio, x-translate, y-translate] 眼睛

  4. nose, [version, type, scale, ratio, x-translate, y-translate] 鼻子

  5. mouth, [version, type, scale, ratio, x-translate, y-translate] 嘴巴

  6. ear, [version, type, scale, ratio, x-translate, y-translate] 耳朵

  7. skin, [version, type, dark] 皮肤

  8. decoratio1, [version, type, scale, ratio, x-translate, y-translate] 装饰品1

  9. decoratio2, [version, type, scale, ratio, x-translate, y-translate] 装饰品2

  10. decoratio3, [version, type, scale, ratio, x-translate, y-translate] 装饰品3

  11. decoratio4, [version, type, scale, ratio, x-translate, y-translate] 装饰品4

  12. background1, [version, type, fit-type, opacity] 背景1

  13. background2, [version, type, fit-type, opacity] 背景2

  14. background3, [version, type, fit-type, opacity] 背景3

3. 资源库的具体实现

资源库需要满足一下几个要求

  1. 可读性

    保证资源库文件可以被人类阅读,比如 图片,文本之类,避免需要特殊解释 binary 的文件。

  2. 不可修改性

    资源库的文件一经发布,就不能对其作出任何修改

  3. 说明文档

    资源库应该包含一个使用通用的语言对其每个资源以及对应配置的使用说明

  4. 开源协议

    资源库应该遵守某种开源协议来进行传播

3.1 脸型

脸型是一种特殊的资源文件,用来表明该种脸型五官的位置,以及肤色的变化

脸型可以使用

000010, 000020, 000030, 000040, 000050, 000060 六种不同的颜色来表示肤色

001000, 002000, 003000, 004000, 005000, 006000, 六种分别代表眼睛,鼻子,嘴巴,耳朵