跳转至

粒子

粒子(Particle)是Minecraft基岩版中用于表现各种视觉特效的轻量级图形元素。粒子特效由大量微小的纹理面片组成,用于模拟火焰、烟雾、水花、魔法光效、爆炸碎片等效果。

概述

基岩版中的粒子特效通过粒子系统(Particle System)实现。粒子系统管理一组粒子的生成、运动、变换和销毁过程。每个粒子特效(Particle Effect)由一个JSON定义文件描述,存放在资源包的particles/目录中。

粒子特效通过赋命名空间标识符引用,例如minecraft:campfire_smoke_particle

粒子发射器

粒子发射器(Particle Emitter)是粒子特效中负责生成新粒子的组件。发射器定义了粒子的生成速率、生成区域(点、球、盒、圆盘等形状)、初始速度和方向等参数。

发射器的生成行为支持多种模式:

  • 稳态发射(Steady):以恒定速率持续生成粒子。
  • 瞬时发射(Instant):在瞬间生成指定数量的粒子。

发射器的参数可以使用Molang表达式动态计算。

粒子属性

每个粒子在其生命周期内具有以下可定义的属性:

  • 生命周期(Lifetime):粒子从生成到消亡的持续时间。
  • 大小(Size):粒子面片的宽度和高度。
  • 颜色(Color):粒子的颜色,支持随时间变化的梯度。
  • 速度(Velocity):粒子的运动速度和方向。
  • 加速度(Acceleration):作用于粒子的持续力,如重力。
  • 旋转(Rotation):粒子面片在屏幕空间中的旋转角度。
  • 不透明度(Opacity):粒子的不透明度,支持随时间淡入淡出。

纹理与UV

粒子的视觉表现由其纹理定义。粒子使用纹理文件中的指定区域(通过UV坐标指定)作为面片的外观。粒子纹理支持翻书动画(Flipbook Animation)模式,即按照指定的帧率依次显示纹理中不同区域的内容,实现粒子的帧动画效果。

曲线

曲线(Curve)是粒子定义中用于描述某个属性随时间或其他参数变化规律的工具。通过定义一组控制点,曲线可以描述非线性的变化过程,例如粒子大小的逐渐增大再缩小。

粒子特效的触发

粒子特效可以通过以下方式在游戏中触发:

  • 实体动画:在动画定义中通过particle_effects字段在指定时间点和骨骼位置上生成粒子。
  • 命令:通过/particle命令在指定位置生成粒子特效。
  • 脚本API:通过脚本代码在维度中指定位置生成粒子。
  • 游戏内置:原版游戏中的各类自然现象和交互反馈会自动生成粒子。

工具

粒子特效可以使用Snowstorm等可视化编辑器进行制作。Snowstorm提供了粒子属性的实时预览和图形化编辑界面,可以将编辑结果导出为基岩版格式的粒子定义文件。