Files
daluandou/地图和关卡设计.md
T
huadexuan 47f01ecd2e ```
docs: 删除第一关地图与装饰设计文档

删除了《召唤之战》第一章"灰石城堡"的第一关地图与装饰设计文档,
包括核心地图方案、整体布局、装饰带方案、推荐装饰物清单、图片生成
要求、Unity放置建议等内容,以及相关的战斗UI层级设计方案。
```
2026-09-08 23:58:48 +08:00

378 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 地图和关卡设计
> 适用项目:《召唤之战》
> 章节:第一章“灰石城堡”
> 目标:使用 Unity 基础模型、地面贴图和低模装饰物,搭建一条适合竖屏战斗的纵向长地图。
## 一、核心地图方案
第一关采用“玩家控制主角跑图 + 分段遭遇战”的结构,不制作开放世界,也不让角色自动一直向前移动。
```text
玩家控制主角向前移动
→ 进入遭遇区域
→ 敌人出现,战斗开始
→ 战斗开始后解锁召唤卡
→ 玩家停下后自动攻击
→ 点击卡片,在主角周围召唤单位
→ 击败当前敌人
→ 战斗结束,关闭召唤
→ 继续向前跑图
```
### 核心规则
- 玩家只控制一个主角色。
- 移动时不能进行普通攻击。
- 玩家停止移动约 0.3 秒后,自动攻击最近敌人。
- 跑图阶段不能召唤单位,避免提前囤积大量单位。
- 进入战斗区域后才能点击底部召唤卡片。
- 召唤单位在玩家自身周围的可用位置出生。
- 已经召唤并存活的单位留在战场上,不直接传送回玩家身边。
- 召唤单位可以向玩家方向追赶,但不使用瞬移。
- 当前战斗区域内的敌人清除后,战斗结束并重新进入跑图阶段。
## 二、第一关整体布局
当前 `BattlePlatform` 作为整条纵向路线的基础地面。平台沿 Z 轴延伸,玩家从 Z 轴正方向出发,向负方向推进。
当前平台信息:
- 名称:`BattlePlatform`
- 大致长度:约 44.85 Unity 单位
- 中心位置:接近世界坐标原点
- 方向:沿 Z 轴纵向延伸
- 用途:承载地面贴图、战斗区域和两侧装饰带
建议先划分为以下区域:
```text
Z=16 起点与准备区
Z=12 第一遭遇区:城门外
Z=8 短安全路段
Z=4 第二遭遇区:训练场
Z=0 过渡路段与城堡装饰
Z=-5 第三遭遇区:内庭伏击
Z=-10 短安全路段
Z=-15 第四遭遇区:污染源
Z=-20 关底前过渡区
Z=-25 第一关终点或关底战入口
```
第一版也可以只实现三段战斗:
1. 城门外:教学战斗。
2. 训练场:近战与远程组合。
3. 城堡主厅入口:精锐士兵精英战。
## 三、装饰带方案
装饰带放置在战斗路线两侧,不侵入主角和召唤单位的主要移动范围。装饰带的作用是表现灰石城堡主题、引导玩家向前,并增加地图纵深。
### 1. 左右两侧基础装饰带
每侧使用一条低矮的装饰带,建议宽度控制在 2.5~4 个 Unity 单位,战斗路线中央保持开阔。
装饰带由以下内容组成:
- 低矮灰石墙
- 木质栅栏
- 草块和少量杂草
- 小型石柱
- 木箱和木桶
- 破损旗帜
- 少量碎石
摆放原则:
- 装饰物主要沿 X 轴两侧布置。
- 中央战斗区保持空旷,避免遮挡角色。
- 靠近镜头的一侧只放低矮物体,避免遮挡下方 UI 和角色脚部。
- 高大物体放在路线后段或远离主战斗线的位置。
- 装饰物颜色低饱和,亮度低于角色主体。
- 不使用密集树木、复杂建筑群或高反光材质。
### 2. 分段装饰变化
#### 起点与城门外
- 两侧低矮石墙。
- 破损木栅栏。
- 一面褪色的城堡旗帜。
- 少量草地和碎石。
- 远处布置城门轮廓或石墙背景。
视觉重点:让玩家一眼看出这里是关卡起点,同时保持教学区域开阔。
#### 训练场
- 两侧木质训练假人。
- 木箱、木桶和武器架。
- 短石墙或石柱作为边界。
- 少量训练旗帜。
- 地面保留较大空地,方便玩家观察远程敌人的箭矢。
视觉重点:场景应比城门外更规整,突出这是守军训练区域。
#### 内庭
- 破损石柱。
- 倒塌的墙段。
- 木箱和散落石块。
- 墙角杂草。
- 一处不影响战斗的浅色魔力污染痕迹。
视觉重点:提高空间层次,但不要用装饰物阻断玩家移动。
#### 污染源与城堡主厅入口
- 更高的灰石墙和门廊轮廓。
- 地面上的蓝紫色微弱魔力裂纹。
- 破碎的守军旗帜。
- 两侧石灯台或火盆。
- 关底区域后方的城堡门框。
视觉重点:用少量蓝紫色污染光提示关卡高潮,不让特效亮度超过角色。
## 四、推荐装饰物清单
第一关不需要一次制作大量模型,优先制作以下 10 类:
| 编号 | 装饰物 | 用途 | 摆放位置 |
|---|---|---|---|
| 1 | 低矮灰石墙段 | 路线边界和城堡主题 | 两侧连续或间隔摆放 |
| 2 | 破损木栅栏 | 城门外和过渡区 | 两侧边缘 |
| 3 | 城堡破损旗帜 | 强化阵营识别 | 起点、训练场、关底前 |
| 4 | 灰石柱 | 内庭和主厅入口 | 两侧成组摆放 |
| 5 | 木箱 | 增加生活感和层次 | 训练场、内庭边缘 |
| 6 | 木桶 | 填充空白区域 | 靠近墙边摆放 |
| 7 | 武器架 | 表现训练场和守军身份 | 训练场两侧 |
| 8 | 碎石堆 | 增加废墟感 | 装饰带边缘 |
| 9 | 石灯台或火盆 | 引导玩家前进 | 关底入口两侧 |
| 10 | 魔力污染裂纹 | 表现剧情线索 | 污染源区域地面 |
## 五、图片生成统一要求
所有装饰物图片建议遵循以下统一方向:
- 3D 卡通低模风格。
- 非写实、适合移动端游戏。
- 灰石城堡主题。
- 低饱和灰色、冷灰色和暗褐色为主。
- 仅使用少量暗红或蓝紫色作为识别点。
- 物体结构清晰,轮廓明确,便于后续 3D 建模或作为建模参考。
- 正交或接近正交视图。
- 单个物体居中展示。
- 简洁背景,避免复杂场景和其他物体干扰。
- 不出现角色、文字、水印、Logo、UI 或界面。
通用负面提示词:
```text
写实摄影,照片级材质,复杂城市背景,过多小物件,人物,角色,文字,水印,Logo,UI,过度鲜艳,强烈镜面反射,密集植被,恐怖血腥,模糊,低分辨率,物体被裁切,多个物体重叠
```
## 六、装饰物图片提示词
### 1. 低矮灰石墙段
```text
3D 卡通低模游戏资产,一段低矮的灰色城堡石墙,粗糙石块砌成,顶部略微破损,边缘有少量风化和细小苔藓,厚实稳定的结构,冷灰色主体,少量暗褐色泥土痕迹,清晰轮廓,单个物体居中,正交视图,干净浅灰背景,适合移动端 3D 游戏和 Unity 建模参考,无人物,无文字,无水印
```
### 2. 破损木栅栏
```text
3D 卡通低模游戏资产,灰石城堡外围的破损木质栅栏,几根粗木桩和横向木板组成,部分木板断裂,表面有轻微风化、刮痕和暗褐色污渍,结构简单,轮廓清楚,低饱和棕色与灰色,单个物体居中,正交视图,干净浅灰背景,适合 Unity 场景装饰,无人物,无文字,无水印
```
### 3. 破损城堡旗帜
```text
3D 卡通低模游戏资产,一面挂在短木杆上的破损城堡旗帜,暗红色旧布料,边缘撕裂,布面有简单的浅灰色盾牌纹章但不包含文字,旗杆略微弯曲,风格简洁,颜色低饱和,清晰轮廓,单个物体居中,正交视图,干净浅灰背景,适合移动端 Unity 游戏,无人物,无文字,无水印
```
### 4. 破损灰石柱
```text
3D 卡通低模游戏资产,一根破损的灰色城堡石柱,粗短比例,顶部断裂,表面有明显石块切面和少量裂纹,底部略宽,冷灰色低模材质,造型厚重但不过度复杂,单个物体居中,正交视图,干净浅灰背景,适合 Unity 战斗地图装饰,无人物,无文字,无水印
```
### 5. 木箱
```text
3D 卡通低模游戏资产,一个守军训练场使用的旧木箱,深棕色木板,四角有简单金属加固片,表面有轻微刮痕和灰尘,方正清晰的轮廓,低多边形风格,单个物体居中,正交视图,干净浅灰背景,适合移动端 Unity 场景,无人物,无文字,无水印
```
### 6. 木桶
```text
3D 卡通低模游戏资产,一个灰石城堡训练场的旧木桶,深褐色木板,三条暗色金属箍,顶部封闭,表面有轻微风化和灰尘,造型简洁,比例稳定,低饱和卡通材质,单个物体居中,正交视图,干净浅灰背景,适合 Unity 场景装饰,无人物,无文字,无水印
```
### 7. 训练武器架
```text
3D 卡通低模游戏资产,一个简洁的城堡训练场木质武器架,深棕色木架上放置两把未使用的训练剑和一面小圆盾,物体数量少且排列清楚,颜色低饱和,结构适合低模建模,单个组合物体居中,正交视图,干净浅灰背景,适合移动端 Unity 游戏,无人物,无文字,无水印
```
### 8. 碎石堆
```text
3D 卡通低模游戏资产,一小堆灰色城堡废墟碎石,大小不一但数量适中,边缘略微磨损,冷灰色和少量深灰色层次,造型清晰,不包含地面大底座,单个物体居中,正交视图,干净浅灰背景,适合 Unity 战斗地图边缘装饰,无人物,无文字,无水印
```
### 9. 石灯台与火盆
```text
3D 卡通低模游戏资产,一个灰石城堡入口用的石制灯台,上方是小型金属火盆,火焰为低强度暖黄色,石台厚重简洁,火光不要过亮,不要产生大面积烟雾,冷灰色石材与少量暗金属对比,单个物体居中,正交视图,干净浅灰背景,适合 Unity 移动端战斗地图,无人物,无文字,无水印
```
### 10. 蓝紫色魔力污染裂纹
```text
3D 卡通低模游戏环境贴花参考,灰色石质地面上的少量蓝紫色魔力污染裂纹,裂纹形状自然分叉,发出微弱柔和的蓝紫色光,不要形成巨大光柱,不要覆盖整张地面,边缘清晰,适合作为 Unity 地面贴花或简单发光材质参考,俯视正交视图,干净浅灰背景,无人物,无文字,无水印
```
## 七、组合场景提示词
如果需要直接生成一张第一关装饰带的整体参考图,可使用以下提示词:
```text
竖屏移动端 3D 卡通低模游戏场景,灰石城堡第一关的纵向战斗路线,中央是一条开阔的灰色石质地面,适合玩家角色向前移动和分段遭遇战,两侧是低矮灰石墙、破损木栅栏、旧城堡旗帜、少量石柱、木箱、木桶和碎石堆,远处有简洁的城堡门廊轮廓,装饰物集中在路线两侧,不遮挡中央战斗区域,整体冷灰色低饱和配色,少量暗红旗帜和微弱蓝紫色魔力裂纹作为视觉识别点,光照柔和均匀,角色区域保持明亮清晰,干净的移动端游戏美术参考图,正交或轻微斜俯视角,无人物,无文字,无水印,无 UI
```
## 八、Unity 放置建议
- 装饰物优先放在 `BattlePlatform` 两侧,不要直接放在中央行进线。
- 每个战斗区域至少保留一块无遮挡的中心空地。
- 近景装饰物高度建议不超过角色身高的 0.5~0.8 倍。
- 高于角色的墙、柱和门廊放在远景或侧后方。
- 木箱、木桶和碎石堆可以使用少量重复,但需要改变旋转和间距。
- 装饰物碰撞体只给真正需要阻挡玩家的位置添加,纯背景物不添加复杂碰撞。
- 魔力污染裂纹优先使用贴花、平面或简单发光材质,不制作复杂实体模型。
- 场景主光照和装饰物材质都要保证角色仍然是画面中的最高对比主体。
## 九、第一版制作顺序
1. 低矮灰石墙段。
2. 破损木栅栏。
3. 破损城堡旗帜。
4. 木箱和木桶。
5. 破损灰石柱。
6. 训练武器架。
7. 碎石堆。
8. 石灯台与火盆。
9. 魔力污染裂纹。
10. 城堡门廊或主厅入口组合物。
第一版只要完成前 6 类装饰物,就可以搭出有灰石城堡辨识度的地图。其余装饰物用于补充区域差异,不影响核心移动、战斗和召唤流程。
## 十、第一关战斗 UI 层级设计
第一关 UI 采用竖屏屏幕空间界面,不随相机移动。每关固定携带 5 种角色,战斗中固定显示 5 张召唤卡片。
### 1. 整体层级
```text
Canvas(Screen Space - Overlay)
└── BattleHUD
├── TopBar
│ ├── 关卡信息
│ ├── 敌方状态
│ │ ├── 敌方名称
│ │ └── 敌方生命条
│ └── 暂停按钮
└── BottomSummonPanel
├── PanelBackground(召唤栏大框)
├── ManaBar(连续能量槽)
│ ├── ManaBarBackground
│ └── ManaBarFill
├── ManaRow(独立能量豆区域)
│ ├── ManaBead_01
│ ├── ManaBead_02
│ ├── ……
│ └── ManaBead_10
└── CardRow(5 个角色卡片)
├── RoleCard_01
├── RoleCard_02
├── RoleCard_03
├── RoleCard_04
└── RoleCard_05
WorldSpaceCanvas(按单位生成)
└── 单位头顶生命条与状态提示
```
`WorldSpaceCanvas` 的单位头顶生命条与底部召唤栏分开管理,不把战斗角色的世界空间血条塞进屏幕空间 Canvas。
### 2. 大框、卡片与头像
- `PanelBackground` 使用独立的透明 PNG,只负责召唤栏整体背景和边框。
- 大框内部不放完整角色头像和动态文字,可保留低对比度的 5 个卡位凹槽作为布局提示。
- `RoleCard` 使用一个可复用的卡片外框 Prefab,在 `CardRow` 中复用 5 次。
- 每个角色头像使用独立的透明 PNG,叠加到对应卡片中。
- 能量消耗、角色名称、冷却倒计时和选中状态由 Unity 运行时组件显示,不烘焙进静态图片。
单张角色卡片的推荐层级:
```text
RoleCard
├── CardFrame(通用卡片外框)
├── Portrait(角色透明头像)
├── CostText(能量消耗)
├── CooldownMask(冷却遮罩)
├── SelectedHighlight(选中高亮)
└── Button(点击区域)
```
### 3. 能量槽与能量豆设计
能量槽和能量豆都属于 `BottomSummonPanel`,但它们是两个相互独立的 UI 区域,不合并为同一个控件:
- `ManaBar`:连续能量槽,显示当前能量的精确恢复进度,例如 `6.4/10`。
- `ManaRow`:离散能量豆区域,显示 10 个可视化能量单位。
- `ManaBar` 负责表现能量从 0 到 10 的连续增长过程。
- `ManaRow` 负责表现已经积累完成的能量豆数量。
- 两者绑定同一个 Mana 数值,但只各自负责一种视觉表达。
- 最大能量为 10 个能量单位,不能超过上限。
- 能量按固定时间回复,能量槽应立即更新,能量豆在达到完整单位时更新。
- 召唤资源独立于 `WorldHealthBar` 的角色技能能量,不使用同一条数值。
```text
ManaBar
├── ManaBarBackground
└── ManaBarFill
ManaRow
├── ManaBead_01
├── ManaBead_02
├── ……
└── ManaBead_10
```
### 4. 召唤交互流程
```text
点击 RoleCard
→ 检查能量和卡片冷却
→ 记录要召唤的角色
→ 播放主角 skill 动画
→ 动画 Event 调用 OnSkillHit1
→ 扣除能量并生成召唤单位
→ 更新卡片冷却与能量豆显示
```
电脑调试阶段,键盘 `1/2` 与卡片按钮调用同一个召唤请求,不保留两套独立逻辑。召唤动画播放期间暂时禁止重复请求,避免一次动画生成多个单位。
### 5. 第一版布局原则
- 底部召唤栏固定在安全区域内,不随主角和相机移动。
- 召唤栏高度控制在屏幕底部约 20%~25%,不能遮挡主角、敌人和投射物轨迹。
- `BottomSummonPanel` 内部从上到下依次为 `ManaBar`、独立的 `ManaRow` 和 `CardRow`。
- `ManaBar` 显示连续能量恢复进度,`ManaRow` 显示已经充满的离散能量豆,二者不合并。
- 能量区域放在 5 张角色卡片上方,形成“能量槽/能量豆 → 卡片”的直接操作关系。
- 5 张卡片水平排列,保持相同尺寸和间距。
- 顶部只放关卡信息、敌方状态和暂停按钮,不增加技能、背包或属性入口。
- 所有 UI 美术资源优先使用透明 RGBA PNG;动态文字、数字、冷却和能量状态由 Unity 运行时绘制。