# 语言粒子系统效果总结 ## 核心功能 ### 1. 粒子系统 - **背景浮动文字**(100个):半透明、缓慢移动、定期随机变换字符 - **可交互候选粒子**(50个): - 蓝色粒子:普通粒子 - 红色粒子:目标粒子(8个,需要连接) - 橙色粒子:被红色粒子"感染"的蓝色粒子 ### 2. 粒子行为 - 边界反弹 - 相互排斥(避免重叠) - 字符定期随机变化(中文字符集) - 可选词组模式(相邻粒子组成词组) ### 3. 连接系统 - 距离小于200像素的粒子之间绘制连线 - 蓝色粒子间:细蓝线 - 红色粒子间:粗红线 ### 4. 交互效果 - **涟漪效果**(右键):吸引附近粒子 - **排斥爆发**(左键):推开附近粒子 - 粒子受力后产生速度变化 ### 5. 效果传播系统 - 当红色粒子与蓝色粒子新建立连接时: - 蓝色粒子变橙色 - 橙色粒子字符变化加速(3倍速) - 橙色粒子产生振动效果 - 橙色粒子有光晕和缩放动画 - 效果可以链式传播(橙色粒子连接新的蓝色粒子) - 最多传播8步 - 传播时绘制连接线、脉冲光点、箭头 ### 6. 游戏目标与完成序列 **目标**:让所有红色粒子连接成一个整体,且与蓝色粒子分离 ## 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. 线条使用批量绘制