Files
aibis-dream/Assets/Scripts/MiniGame/HuoShan/Language/LanguageParticleSystem_Summary.md
T
2025-11-12 19:46:16 +08:00

133 lines
4.1 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.
# 语言粒子系统效果总结
## 核心功能
### 1. 粒子系统
- **背景浮动文字**(100个):半透明、缓慢移动、定期随机变换字符
- **可交互候选粒子**50个):
- 蓝色粒子:普通粒子
- 红色粒子:目标粒子(8个,需要连接)
- 橙色粒子:被红色粒子"感染"的蓝色粒子
### 2. 粒子行为
- 边界反弹
- 相互排斥(避免重叠)
- 字符定期随机变化(中文字符集)
- 可选词组模式(相邻粒子组成词组)
### 3. 连接系统
- 距离小于200像素的粒子之间绘制连线
- 蓝色粒子间:细蓝线
- 红色粒子间:粗红线
### 4. 交互效果
- **涟漪效果**(右键):吸引附近粒子
- **排斥爆发**(左键):推开附近粒子
- 粒子受力后产生速度变化
### 5. 效果传播系统
- 当红色粒子与蓝色粒子新建立连接时:
- 蓝色粒子变橙色
- 橙色粒子字符变化加速(3倍速)
- 橙色粒子产生振动效果
- 橙色粒子有光晕和缩放动画
- 效果可以链式传播(橙色粒子连接新的蓝色粒子)
- 最多传播8步
- 传播时绘制连接线、脉冲光点、箭头
### 6. 游戏目标与完成序列
**目标**:让所有红色粒子连接成一个整体,且与蓝色粒子分离
**完成序列**
1. **arranging阶段**
- 红色粒子排列成水平一行(屏幕中央)
- 蓝色/橙色粒子停止移动
- 非红色粒子淡出
2. **revealing阶段**
- 红色粒子逐个显示目标文字:"别过来我感觉害怕"
- 显示前快速闪烁随机字符
- 文字开始剧烈抖动(焦虑效果)
3. **completed阶段**
- 进入波形交互阶段
### 7. 波形交互系统(核心创新)
**初始状态**
- 每个文字下方有一个对应的波形点
- 波形使用Perlin噪声生成(多层噪声叠加)
- 波形呈现异常、混乱的抖动
- 文字随波形剧烈抖动+上下漂浮(表现焦虑情绪)
**交互机制**
- 玩家按住鼠标左键并拖动,抚平附近的波形
- 波形有"抵抗力"机制:
- 异常程度越高,抵抗力越强
- 需要持续按住30-90帧才能完全抚平
- 拖动速度越快,抚平效果越强
- 抚平区域有交互半径(50像素)
- 显示进度环反馈
**抚平效果**
- 波形从异常噪波逐渐变为规律的正弦波
- 波形颜色从红色渐变为蓝色
- 对应文字的抖动和漂浮逐渐减弱
- 波形完全抚平后:
- 文字停止变化和抖动
- 文字开始消散(透明度降低)
- 波形点也随之消散
**视觉反馈**
- 抚平时产生蓝色粒子效果
- 鼠标周围显示交互范围圈
- 波形点显示抚平进度环
- 底部显示整体平静进度条
**情感隐喻**
- 异常波形 = 焦虑、不安的情绪
- 文字抖动 = 情绪的外在表现
- 抚平波形 = 安抚、平复情绪的过程
- 文字消散 = 负面情绪的消解
### 8. 重置机制
- 所有文字消散后,游戏自动重置
- 粒子重新随机分布
- 重新选择8个红色目标粒子
## Unity实现要点
### 技术选型
1. **文字渲染**TextMeshPro(支持中文)
2. **线条绘制**Shapes插件
3. **动画**DOTween
4. **画布**10x10 World Space Canvas
5. **输入**Unity Input System或传统Input
### 核心挑战
1. Perlin噪声波形生成与平滑
2. 粒子间连接检测与效果传播
3. 波形交互的抵抗力机制
4. 文字抖动与消散效果
5. 性能优化(大量粒子+连线)
### 建议架构
```
LanguageParticleManager(主管理器)
├── FloatingTextParticle(背景文字)
├── CandidateParticle(候选粒子)
├── ConnectionRenderer(连线渲染)
├── EffectPropagationSystem(效果传播)
├── WaveformSystem(波形系统)
│ ├── WaveformPoint(波形点)
│ └── WaveformRenderer(波形渲染)
└── InteractionHandler(交互处理)
```
### 性能优化建议
1. 使用对象池管理粒子和效果
2. 连接检测使用空间分区(如Grid
3. 波形点数量与文字数量一致(8个)
4. 粒子效果使用Instancing
5. 线条使用批量绘制