Files
aibis-dream/Assets/Scripts/MiniGame/HuoShan/Language/LanguageParticleSystem_Summary.md
T
2025-11-13 20:30:13 +08:00

2.4 KiB
Raw Blame History

语言粒子系统效果总结

核心功能

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. 线条使用批量绘制