粒子¶
粒子(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提供了粒子属性的实时预览和图形化编辑界面,可以将编辑结果导出为基岩版格式的粒子定义文件。