Compare commits

..

5 Commits

6 changed files with 471 additions and 2 deletions
+6
View File
@@ -1,4 +1,10 @@
/.claude
/.git
/.vscode
/Content
/DerivedDataCache
/docs
/GameConfig
/Intermediate
/Saved
/tools
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
+129
View File
@@ -0,0 +1,129 @@
# 主角角色模型 — AI 生成提示词
> 关联设计文档:`docs/design/protagonist-character.md`
> 目标规格:Lowpoly < 3000 面,512×512 贴图,卡通比例(头偏大)
> 生成日期:2026-06-02
---
## 一、混元3D 提示词
> 混元官方推荐格式:`{量词}+{主体},{详细描述},{风格}`
### 方案 A — 完整角色(推荐首选)
```
一个低多边形风格的中国男孩角色,约10岁,微壮结实的体格,圆脸带点婴儿肥,小麦色皮肤,短而蓬松的深棕色头发,前额有碎发刘海,穿一件宽松的浅蓝色短袖T恤、深蓝色宽松短裤、深蓝色塑料凉鞋,左手腕戴着灰色电子手表,脖子上挂着红绳穿着的钥匙,低多边形风格
```
### 方案 B — 精简版(生成更稳定)
```
一个低多边形风格的中国小男孩,圆脸,小麦色皮肤,蓬松的短发,穿浅蓝色宽松T恤、深蓝色短裤和塑料凉鞋,低多边形风格
```
### 方案 C — 英文版(备用)
```
A low-poly 3D character of a Chinese boy around 10 years old, sturdy build, round face with baby fat, tanned wheat-colored skin, short puffy dark brown hair with bangs, wearing a loose light blue T-shirt, dark blue shorts, dark blue plastic sandals, a gray digital watch on left wrist, a key on red string around neck, low-poly style
```
---
## 二、Tripo AI 提示词
> Tripo 官方角色模板:`[风格] design of a [主体], with a [体型]. Key characteristics are [特征1] and [特征2]. Presented in [姿势]. [服装/皮肤描述]. [质量/技术规格]. (negative: [排除项])`
### 方案 A — 完整角色(推荐首选)
**Prompt:**
```
Low-poly cartoon design of a 10-year-old Chinese boy character, with a sturdy build and slightly large head. Key characteristics are a round face with baby fat and tanned wheat-colored skin. Presented in A-pose. Wearing a loose light blue round-neck T-shirt, dark blue knee-length shorts, and dark blue plastic sandals. Short puffy dark brown hair with messy bangs, a gray digital watch on left wrist, a house key on red string around neck. Hand-painted flat color textures, game-ready model. (negative: no background, no weapons, no modern smartphone, no realistic proportions)
```
**推荐高级设置:**
| 设置 | 推荐值 | 原因 |
|------|--------|------|
| 风格 | Cartoon | 匹配 Lowpoly 卡通化比例 |
| 高清纹理 | ✅ 开启 | 保证 T恤/短裤的色彩区分度 |
| PBR | ❌ 关闭 | Lowpoly 手绘风格,不需要物理渲染材质 |
| 面数限制 | 中 | Lowpoly 目标 < 3000 面 |
| 姿势 | A-pose | 游戏角色标准绑定姿势 |
| Tripo 版本 | 2.5 | 最新最高质量 |
| 模型比例 | 默认 | 保持儿童比例 |
### 方案 B — 精简核心版(生成更稳定)
**Prompt:**
```
Low-poly 3D character of a young Chinese boy, round face, tanned skin, short messy dark brown hair, wearing light blue loose T-shirt and dark blue shorts with plastic sandals, cartoon style, A-pose, flat colors, game asset. (negative: no background, no realistic details)
```
### 方案 C — 仅上半身(聚焦头部和服装细节)
**Prompt:**
```
Low-poly cartoon bust of a 10-year-old Chinese boy, round face with baby fat, warm tanned wheat skin, short puffy dark brown hair with messy bangs, thick short eyebrows, small round nose, slightly thick lips with a subtle smile, wearing a loose light blue T-shirt with simple chest print, a gray digital watch on left wrist, a red string necklace with a small key, hand-painted texture style. (negative: no background, no adult proportions, no realistic skin detail)
```
**推荐高级设置:**
| 设置 | 推荐值 | 原因 |
|------|--------|------|
| 风格 | Cartoon | — |
| 高清纹理 | ✅ 开启 | 面部五官和 T恤印花需要清晰 |
| PBR | ❌ 关闭 | — |
| 面数限制 | 中-高 | 半身像可适当提高面数 |
| 姿势 | 无 | 半身像不需要 |
### 方案 D — 中文版(备用)
**Prompt:**
```
低多边形卡通风格的中国小男孩角色,约10岁,结实微壮的体型,头部略大,圆脸带婴儿肥,小麦色皮肤,短而蓬松的深棕色头发,前额有碎刘海,穿浅蓝色宽松圆领T恤,深蓝色及膝短裤,深蓝色塑料凉鞋,左手腕戴灰色电子手表,脖子挂红绳钥匙,手绘平面色彩纹理,游戏角色模型,A姿势。 (negative: 无背景, 无武器, 无现代手机, 无写实比例)
```
---
## 三、提示词要素对照表
| 设计要素 | 混元3D | Tripo AI | 文档来源 |
|---------|--------|----------|---------|
| 风格 | 低多边形风格 | Low-poly cartoon | style-guide.md |
| 年龄 | 约10岁 | 10-year-old | §一 角色定位 |
| 体型 | 微壮结实 | sturdy build, slightly large head | §三 体型比例 |
| 脸型 | 圆脸带婴儿肥 | round face with baby fat | §四 面部特征 |
| 肤色 | 小麦色皮肤 | tanned wheat-colored skin (#C4956A) | §四 肤色 |
| 发型 | 短而蓬松的深棕色头发 | short puffy dark brown hair with messy bangs | §五 发型 |
| T恤 | 宽松浅蓝色短袖T恤 | loose light blue round-neck T-shirt | §六 服装 |
| 短裤 | 深蓝色宽松短裤 | dark blue knee-length shorts | §六 服装 |
| 凉鞋 | 深蓝色塑料凉鞋 | dark blue plastic sandals | §六 服装 |
| 手表 | 灰色电子手表 | gray digital watch on left wrist | §六 配件 |
| 钥匙 | 红绳钥匙 | key on red string around neck | §六 配件 |
---
## 四、生成后的处理流程
1. **挑选最佳结果** — 对比多个方案的生成质量
2. **Blender 后处理**
- 减面/补面至 < 3000 面
- 检查和修补网格(流形、法线方向)
- 手动添加 T恤印花贴图
- 手动添加肤色晒痕细节(短袖遮盖处与暴露处的色差)
3. **UV 与贴图** — 合并为单张 512×512 贴图(面部 + T恤正反面 + 短裤 + 鞋)
4. **导出 FBX** — 导入 UE5,设置材质和骨骼
5. **验收检查** — 对照 `protagonist-character.md` 的设计禁忌清单
---
## 五、生成记录
| 日期 | 工具 | 方案 | 文件 | 备注 |
|------|------|------|------|------|
| 2026-06-02 | — | — | `boy1.fbx` | 已有文件,待确认来源 |
+326
View File
@@ -0,0 +1,326 @@
# 主角角色描述 — ChildHood(我的童年)
> 美术角色设计的核心参考文档。所有关于主角的视觉设计必须以本文档为准。
> 最后更新:2026-06-02
---
## 一、角色定位
- **身份**:千禧年前后城郊结合区的小学男生,四五年级
- **年龄**:约 10-12 岁
- **家庭**:事业单位家属楼,和父母同住,家庭条件中等偏上(介于死党A的小区和死党B的平房区之间)
- **叙事角色**:玩家的"眼睛"——不直接说话,通过行动和内心独白表达。玩家通过他看世界,他的感受就是玩家的感受
### 设计核心
主角不是一个有强烈个性的角色,而是**一扇窗**。他的形象要让玩家觉得"这就是我/我认识的孩子"——亲切、日常、不刻意。视觉上追求的是**真实感和代入感**,而不是酷炫或特殊。
---
## 二、整体印象
**第一眼看过去**:一个夏天在街边跑来跑去的普通男孩。皮肤晒得有点黑,衣服宽松随意,脚踩塑料凉鞋,头发被风吹得有点乱。看着就让人觉得"这孩子整天在外面野"。
**关键词**:阳光、结实、随意、邻家、千禧年
**剪影识别**:略偏大的头部 + 宽松T恤的轮廓 + 短裤 + 凉鞋,轮廓简洁一眼可辨。不需要细节就能看出"这是个男孩"。
---
## 三、体型与比例
### Lowpoly 角色比例
依据 `docs/art/style-guide.md` 的角色建模规范:
- **面数上限**:< 3000 面
- **整体比例**:略带卡通化,头部偏大(约 1/5 到 1/4 身高),四肢圆润
- **贴图尺寸**:512 × 512
### 体型特征:微壮结实型
不是胖,而是**结实**——那种常年在外面跑、爬树、蹲在地上打弹珠练出来的体格。骨架不细,肩膀稍宽,小腿有肉。
| 部位 | 特征描述 |
|------|---------|
| **头部** | 略偏大(Lowpoly 卡通比例),圆脸,略有婴儿肥 |
| **肩膀** | 不窄,比瘦小型孩子稍宽,但还没发育,线条圆润 |
| **躯干** | 结实但不臃肿,腰身不明显,就是"小孩的身板" |
| **手臂** | 有肉感,不纤细,前臂因为晒太阳颜色偏深 |
| **腿** | 小腿结实,膝盖处有常年跪地打弹珠的痕迹(可选细节) |
| **手** | 偏小偏圆,Lowpoly 下不需要太细致,但要能辨识握持动作 |
| **脚** | 穿凉鞋的脚,Lowpoly 下可以简化为鞋型整体 |
### 身高参考
- 相对场景物体:比小卖部柜台矮半个头(需要踮脚才能看到柜台上的东西)
- 相对成人的 NPC:大约到成人胸口位置
- 相对同龄伙伴:和死党B差不多高,比死党A稍矮一点(死党A营养好长得快)
---
## 四、面部特征
### 脸型
- **圆脸**,下巴略尖,有小孩特有的婴儿肥感
- 颧骨不突出,线条柔和圆润
- Lowpoly 下用少量面数表达圆润感即可
### 五官
| 部位 | 描述 |
|------|------|
| **眉毛** | 粗而短,自然形态,不修不画。微微上扬,显得精神 |
| **眼睛** | 不大不小,略圆,Lowpoly 下可以用简洁的几何形状表达。眼神干净,带着好奇和机灵 |
| **鼻子** | 小而圆,鼻头不尖。Lowpoly 下可以简化为一个小三角或半圆 |
| **嘴巴** | 嘴唇略厚,嘴角自然微上翘(不是在笑,但看起来不严肃)。Lowpoly 下用一条弧线即可 |
| **耳朵** | 正常大小,因为头发不太长会露出来 |
### 表情(参考)
Lowpoly 风格下表情不宜复杂,主要通过以下方式传递情绪:
| 状态 | 面部表现 | 说明 |
|------|---------|------|
| 默认 | 自然中性,嘴角微上翘 | 日常探索时的表情 |
| 开心 | 嘴角明显上扬,眼睛微眯 | 赢了弹珠、集齐卡片 |
| 专注 | 眉头微皱,嘴巴微抿 | 瞄准弹珠、改装四驱车 |
| 惊讶 | 嘴巴微张,眉毛上扬 | 发现隐藏物品、遇到意外事件 |
> **v0.1 阶段**:只需要"默认"表情。后续版本按需增加。
### 肤色
- **偏深**——夏天的孩子,整天在外面晒,不是白净的那种
- 色调参考:暖棕色,带点健康的小麦色感
- 手臂有明显的短袖晒痕(T恤遮挡处比暴露处白),这是一个真实的时代细节
---
## 五、发型
### 风格:自然短发(微长)
不是板寸那么短,也不是西瓜头。比寸头稍长,有自然的蓬松感和纹理。那种不怎么打理但也不邋遢的"普通男孩头"——妈妈可能一个月带去一次理发店,剪完之后长长了就变成这样。
### 具体描述
| 特征 | 描述 |
|------|------|
| **长度** | 整体 2-3cm,头顶和前额稍长,两侧和后脑稍短 |
| **形态** | 自然蓬松,不贴头皮,有轻微的不规则感(像刚跑完步被风吹过) |
| **刘海** | 前额有少量碎发,不长不挡眼,自然垂下或微翘 |
| **发际线** | 正常,不露额头太多 |
| **质感** | Lowpoly 下不需要表现发丝,用色块和简单的几何体表达蓬松感即可 |
### 发色
- **黑色**,但不是纯黑——带一点深棕的自然感
- Lowpoly 贴图上可以用深棕色块 + 少量亮棕色高光来表现层次
---
## 六、服装
### 核心穿搭:T恤 + 短裤 + 塑料凉鞋
千禧年夏天最常见的男孩穿搭。不讲究,方便活动,妈妈买什么就穿什么。
### 上身:宽松 T 恤
| 特征 | 描述 |
|------|------|
| **版型** | 宽松,偏大一号(妈妈喜欢买大一点的"还能穿两年") |
| **领口** | 圆领,不紧 |
| **长度** | 盖过腰带,略长 |
| **袖长** | 短袖,袖口到大臂中段 |
| **图案** | 前胸有一个简单的印花图案。建议方案(选一个): |
**印花方案建议**(按推荐度排序):
1. **运动品牌风格** — 类似 Nike/Adidas 的条纹或 Logo 风格,但不是真品牌(避免版权问题)。比如一个简单的斜杠图形或数字"23"。千禧年小孩很喜欢穿这种"像运动品牌"的T恤
2. **纯色 + 条纹** — 袖口和领口有对比色条纹的简洁运动T恤,没有大图案。最安全的选择
3. **卡通角色风格** — 类似《龙珠》或《灌篮高手》角色的简化图案。需要自行设计一个"看起来像那个年代的卡通T恤"的图案,避免版权
**T恤颜色建议**(主色选一个):
| 方案 | 颜色 | 感觉 |
|------|------|------|
| 方案 A | 白色或米白色 | 最常见、最百搭,有"妈妈的洗衣粉味道"的感觉 |
| 方案 B | 浅蓝色 | 清爽感,像校服T恤,非常千禧年 |
| 方案 C | 浅灰或深灰 | 耐脏,"男孩都爱穿"的颜色 |
> 建议:**方案 B(浅蓝色 + 简单印花)**,清爽又符合时代感,与温暖场景色调搭配好。
### 下身:宽松短裤
| 特征 | 描述 |
|------|------|
| **版型** | 宽松,及膝或略高于膝盖 |
| **类型** | 运动短裤或简单的休闲短裤,松紧腰带 |
| **口袋** | 两侧有插袋(可以装弹珠、卡片等小东西——动画上的细节) |
| **长度** | 到膝盖上方一点 |
**短裤颜色**:深色系为主,耐脏。建议:
- 深蓝色 / 藏青色(最常见)
- 灰色(运动短裤感)
### 脚部:塑料凉鞋
| 特征 | 描述 |
|------|------|
| **类型** | 千禧年最经典的**塑料凉鞋**——那种几块钱一双的,有洞的或带扣的 |
| **颜色** | 建议 **深蓝色** 或 **黑色**(最常见) |
| **细节** | Lowpoly 下简化为鞋型整体即可,可以用颜色区分脚面和鞋底 |
| **脚踝处** | 可能有一圈凉鞋带的痕迹(晒痕细节,可选) |
> 塑料凉鞋是千禧年中国小孩的时代标志。不是运动鞋、不是拖鞋,就是那种塑料凉鞋——穿一个夏天就坏了的那种。
### 可选配件(增加角色辨识度)
以下配件不是全部都要,选 1-2 个增加角色丰富度:
| 配件 | 描述 | 推荐 |
|------|------|------|
| **电子手表** | 塑料外壳的电子表(类似 Casio 的廉价款),戴在左手腕上。那个年代男孩几乎人手一个,有闹钟和计时功能 | ⭐ 强烈推荐 |
| **脖子上的钥匙** | 用一根红绳或鞋带穿着家门钥匙,挂在脖子上。双职工家庭孩子的标配——"放学自己开门回家" | ⭐ 推荐,有叙事感 |
| **腰间的网兜/小袋子** | 用来装弹珠的小袋子或网兜,别在腰间或挂在裤袢上。和收集系统直接关联 | 可选,后续版本 |
> **v0.1 建议**:电子手表 + 脖子钥匙。两个小物件就能增加很多角色真实感和时代感,且 Lowpoly 下实现成本低。
---
## 七、配色方案
### 整体色调
主角的配色应该融入场景但不消失——他是场景的一部分,但玩家一眼就能找到他。
| 部位 | 颜色 | 色值参考 |
|------|------|---------|
| 皮肤(暴露处) | 暖棕 / 小麦色 | #C4956A ~ #D4A574 |
| 皮肤(遮挡处) | 偏白 | #E8C9A0 ~ #F0D5B0 |
| 头发 | 深棕偏黑 | #2A1F14 ~ #3D2B1A |
| T恤 | 浅蓝 | #7BADC4 ~ #9CC5D8 |
| 短裤 | 深蓝 / 藏青 | #2B3A4E ~ #3D4F63 |
| 凉鞋 | 深蓝 / 黑 | #1A1A2E ~ #2C2C3E |
| 电子手表 | 深灰表带 + 浅色表盘 | 表带 #3A3A3A,表盘 #D4D4D4 |
### 色彩原则
- **和场景协调**:浅蓝T恤与温暖黄/绿的城郊场景形成柔和对比,不会太跳也不融入
- **不太鲜艳**:避免饱和度太高的颜色,衣服是洗过很多次的感觉
- **有旧感**:T恤可以稍微不那么"新"——略微发旧的颜色比鲜亮色更真实
---
## 八、动态与姿态参考
### 站立姿势
不是军姿站直,也不是驼背。是一种**放松但精神**的自然站姿:
- 重心微微偏向一条腿
- 肩膀自然下垂
- 头微微抬起,像在看什么有趣的东西
- 双手自然垂在身体两侧,或一只手插在短裤口袋里
### 走路姿态
- 步伐不大不小,有点"晃"的感觉——不是正经走路,是那种"去某处找朋友玩"的随意步伐
- 手臂自然摆动,幅度不大
- Lowpoly 下不需要太复杂的行走动画,但要有"小孩走路"的节奏感(不是成人的步伐)
### 跑步姿态
- 手臂摆动幅度更大,身体微微前倾
- 跑起来T恤会微微飘动
- 那种"着急去小卖部看新到货的弹珠"的跑法——不是全力冲刺,是小跑
### 交互姿态参考
| 动作 | 描述 |
|------|------|
| 蹲下打弹珠 | 一腿蹲一腿跪,重心放低,一只手撑地,另一只手准备弹 |
| 踮脚看柜台 | 仰头看高处的东西,一只手扶柜台边缘 |
| 掏口袋 | 手伸进短裤口袋翻找,可能在找弹珠或卡片 |
| 拿着东西看 | 双手捧着某个小物件凑近看(弹珠、卡片等) |
> **v0.1 阶段**:只需站立、走路、跑步的基础动画。交互姿态后续版本按需增加。
---
## 九、与其他角色的体型对比
主角处于同伴中的"中间位置",这和他的家庭定位一致——不是最壮的也不是最瘦的。
| 角色 | 相对主角 | 体型差异 |
|------|---------|---------|
| **主角** | — | 微壮结实,中等身高 |
| **死党A** | 比主角高半个头,更瘦 | 营养好但还没长肉,偏"长条型" |
| **死党B** | 和主角差不多高,更瘦 | 营养一般,精瘦型,但很灵活 |
| **小霸王** | 比主角高一点,更壮 | 同龄人中块头最大的,有压迫感 |
| **女班长** | 比主角矮一点,纤细 | 四五年级的女生普遍比男生矮 |
| **小卖部老板** | 成人,比主角高很多 | 标准成人比例 |
---
## 十、Lowpoly 建模要点
### 优先级
1. **轮廓识别** > 面部细节:远处看轮廓就能认出是主角
2. **色彩区分** > 材质细节:浅蓝T恤 + 深色短裤的配色在场景中要醒目
3. **姿态感** > 骨骼精度:姿态自然比骨骼数量重要
### 建模建议
- **头部**:用球体 + 少量面数做出圆脸轮廓,眼睛可以用贴图而非建模
- **头发**:用少量几何体块表达蓬松感,不需要一根一根的发丝
- **身体**:T恤和短裤可以用宽松的几何体包裹,不需要布料模拟
- **手脚**:简化为块状,能表达基本动作即可
- **凉鞋**:简化为鞋型整体,用颜色区分
### 贴图建议
- **一张 512×512 贴图覆盖全身**:在一张贴图上排布面部、T恤正面/背面、短裤、鞋子
- **面部贴图**:简单的眼睛(两个椭圆)、嘴巴(一条弧线)、眉毛(两个短粗线条),不需要更多
- **T恤图案**:在贴图上画印花图案,像素感可以保留(手绘风格)
- **肤色渐变**:手臂暴露处和遮挡处的肤色差异可以在贴图上用色块区分
---
## 十一、设计禁忌
以下情况**必须避免**:
| 禁忌 | 原因 |
|------|------|
| 太"酷"太"帅" | 主角是邻家普通男孩,不是动漫主角 |
| 衣服太新太干净 | 暑假在外面野的孩子,衣服有洗过很多次的旧感 |
| 太多细节和配件 | Lowpoly 风格,细节靠轮廓和色彩而非物件堆砌 |
| 发型太时尚 | 千禧年普通男孩不烫发不造型,自然就好 |
| 表情太夸张 | 主角是沉默的观察者,默认状态是平静的 |
| 带有现代元素 | 智能手机、现代品牌Logo、现代运动鞋等都是时代错误 |
| 身材比例太写实 | 要保持 Lowpoly 的卡通化比例,头大身小 |
---
## 十二、参考意象
> 以下描述用于传达"感觉",不是精确的视觉参考。
**想象一个画面**:夏天的下午三四点,阳光照在水泥路上。一个穿着浅蓝T恤和深色短裤的男孩,脚踩塑料凉鞋,左手腕上戴着电子表,脖子上挂着一根红绳穿着的钥匙。他从小卖部门口走过,手里攥着刚买的弹珠,头发被风吹得有点乱,皮肤晒得发亮。他停下来,蹲在路边,把弹珠举到眼前对着阳光看——弹珠里的花纹在阳光下特别好看。
**这就是主角。不需要更多了。**
---
## 版本备注
| 版本 | 需要的完成度 |
|------|-------------|
| **v0.1** | 占位模型即可(胶囊体 + 简单T恤短裤配色),本描述作为远期目标参考 |
| **v0.3** | 正式 Lowpoly 角色,包含本文描述的所有视觉要素 |
| **v0.4+** | 增加更多动画姿态和交互表情 |