跳转到内容

4. 为故事建立视觉形象

本课仍使用 0.3,增加两张原创几何教学图:温室与透明背景的 Rowan 肖像。这些素材简单且可复用;需要其他风格时,请换成你拥有使用权的素材。

字段 面向读者的用途
publication.cover_asset_id 故事封面
entries[0].hero_asset_id 入口的介绍图片
reader_cards[].image 角色卡或场景卡图片
reader_cards[].avatar 角色头像使用的正方形裁剪
visual_anchors[].references 用于保持生成一致性的视觉参考
illustrations + opening_illustrations 在指定开场段落之后放置作者插图

将 finished 中完整的 assets 目录与 media-manifest.json 复制到工作稿旁边。参照完成稿的 JSON,加入素材声明、作品介绍、场景卡、肖像绑定、视觉锚点和插图。保持 ID 引用准确。例如 greenhouse_art 是素材,greenhouse_arrival 是插图,greenhouse 是场景卡,它们是不同对象。

素材声明记录 MIME 类型、SHA-256 和真实字节数。修改或重新编码 PNG 都会改变摘要。media-manifest.json 中的路径只告诉本地工具如何找到文件,不会上传它们。兼容的上传器必须附上传与声明完全匹配的实际字节。

头像裁剪的 x、y、width、height 使用 0 到 1 的归一化坐标,对应应用方向信息之前的原始像素。本例肖像为 256×256,从像素 (68, 20) 开始选择 120×120 的正方形。裁剪必须非空,且在实际像素中是正方形,而不只是缩放后看起来方正。

开场插图位于段落 0 之后,并用段落摘要定位。修改该段后,使用第 3 课的命令,将索引改为 0,重新计算摘要。视觉参考并不自动成为读者可见的插图;每种用途都需要相应绑定与显示条件。

将修订号设为 5,运行结构校验,并直接打开 PNG 检查内容。预期:兼容阅读器中出现温室封面与介绍图、Rowan 卡片与头像,以及第一段后的插图。站点测试检查摘要、图片解码、裁剪范围与服务引用关系;实际布局仍需私有试玩。

若服务报告 missing_asset,补传声明的文件。遇到 invalid_attachment,对照摘要、大小和 MIME。插图不出现时,检查插图 ID、入口范围、段落索引与摘要。在完成发布流程前,保留私有可见性及待审核状态。

原创教学素材

以下是下载包中真实图片的静态预览。立绘帧分别展示便于对照,这里不是真实播放器。

原创几何教学图:温室玻璃、夕阳与幼苗。
greenhouse_art
透明画布上的原创 Rowan 几何教学肖像。
rowan_neutral

在本地检查作品

在解压目录中创建环境并安装一次固定版本的依赖,然后检查两份文件。修改之后再次检查起始稿。每课都可以使用相同命令。

macOS / Linux

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python check.py start/pack.json
.venv/bin/python check.py finished/pack.json

Windows PowerShell

py -3 -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
.venv\Scripts\python.exe check.py start/pack.json
.venv\Scripts\python.exe check.py finished/pack.json

完成稿的预期输出: Structural check passed: Creator Pack 0.3 随后显示确切 Schema SHA-256。这是结构检查,不代表服务准入或真实试玩通过。

完成稿中的可用片段

此片段直接取自经过检查的下载文件,并非完整 Pack。请在 start/pack.json 中修改相应字段,或对照 finished/pack.json。

{
  "hero_asset_id": "greenhouse_art",
  "opening_illustrations": [
    {
      "after_paragraph_index": 0,
      "paragraph_digest": "4858bd538509c8c3f8d2d7b0f89309bdec855b357e95b7c31b2f81cf141870ba",
      "illustration_id": "greenhouse_arrival"
    }
  ],
  "avatar": {
    "asset_id": "rowan_neutral",
    "crop": {
      "x": 0.265625,
      "y": 0.078125,
      "width": 0.46875,
      "height": 0.46875
    }
  }
}

查询相关字段: assets · illustrations · visual_anchors

下一课