From 2da49e7d01d62dc51c5e6be6ac66271ed0379459 Mon Sep 17 00:00:00 2001 From: starmen1265 Date: Wed, 3 Jun 2026 00:53:44 +0800 Subject: [PATCH] =?UTF-8?q?docs(design):=20=E6=96=B0=E5=A2=9E=E4=B8=BB?= =?UTF-8?q?=E8=A7=92=E8=A7=92=E8=89=B2=E6=8F=8F=E8=BF=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/design/protagonist-character.md | 326 +++++++++++++++++++++++++++ 1 file changed, 326 insertions(+) create mode 100644 docs/design/protagonist-character.md diff --git a/docs/design/protagonist-character.md b/docs/design/protagonist-character.md new file mode 100644 index 0000000..5c30bc9 --- /dev/null +++ b/docs/design/protagonist-character.md @@ -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+** | 增加更多动画姿态和交互表情 |