Photon2
自 2.0.0Photon 是一套直接在 Minecraft 客户端内使用的实时 VFX 工具。它把粒子、Trail、Beam、非线性 Timeline、Shader Graph 材质和基于图的后处理整合进同一个编辑器。

Photon 2.2 展示
2.2 将 Photon 从粒子编辑器扩展成了完整的 VFX 管线:Timeline 编排、Shader Graph 材质、Fullscreen Shader Graph、Render Graph 后处理、Custom GPU Data、Force Field、Mesh 粒子和可分发的 FX Pack。
经典入门视频
旧视频继续保留。它更集中于基础粒子工作流,可以配合上面的 2.2 Showcase 一起观看;其中的界面和功能范围以当时版本为准。
选择阅读路径
| 目标 | 从这里开始 |
|---|---|
| 在编辑器中制作第一个效果 | 快速开始 |
| 学习粒子发射器和模块 | Particle System |
| 在一个效果中复用另一个效果 | FX 实例 |
| 编排效果和属性动画 | Timeline |
| 制作材质与 GPU 效果 | Shader 与 GPU |
| 用效果照亮世界 | 动态光照 |
| 制作全屏后处理 | Post Processing |
| 从模组代码加载和控制效果 | Java API |
各部分如何协作
导出的 .fx 保存对象树和 Timeline。加载 .fx 时,FX 实例会被烘焙成普通对象。运行时,FX#createRuntime() 会创建一个独立的可播放实例。Runtime 将对象交给客户端粒子引擎,并在每帧提交当前生效的后处理 Clip。
主要功能
- 粒子制作: Particle、Trail、Beam 和 AraTrail 发射器,支持曲线、渐变、Sub Emitter、UV Animation、自定义 Renderer 和 Simulation Space。
- 碰撞: 粒子可以与方块、流体表面、实体和 Collider 对象碰撞;Trigger 让粒子穿过,并报告粒子进入和离开。见粒子碰撞。自 2.2.9
- 模型: 使用 OBJ、JSON 和 glTF / glb 模型制作 Mesh 粒子,包括带动画的 glTF。见 glTF 模型。自 2.2.5
- 动态光照: 带柔和体素阴影的点光源和聚光灯、体积光、Fog Volume,以及能发光或被照亮的粒子。见动态光照。自 2.2.8
- Kila 材质: 一体化 VFX 材质,带 27 个预设,可以导出为 Shader Graph。见 Kila 材质。自 2.2.8
- FX 实例: 把一个
.fx放进另一个效果中,只保存改动的部分。见 FX 实例。自 2.2.9 - Timeline: Animation、Activator、Control、Speed、Signal、Audio、Group 和 Post Process Track。
- Timeline 区段: 可以循环、跳转,并在特效停止时播放 release 区段的命名片段,适合蓄力、激光、法阵这类时长不定的特效。见区段。自 2.2.11
- Shader Graph: 使用节点制作 Vertex/Fragment Shader,读取 Scene 与 Particle 数据,支持函数和实时预览。
- GPU Data: 每个发射器可以声明自定义数据流,并从 Shader Graph 或 GLSL 读取。
- 后处理: 使用 Render Graph 组合 Fullscreen Pass,支持权重混合、优先级、自定义 Texture、Mask Group 和 Custom Depth。
- 分发: 普通
.fx导出和包含依赖资源的.fxpack。 - Java 集成: 使用内置方块/实体 Executor、直接控制
FXRuntime,以及在效果首次播放前预加载。
环境要求
- Minecraft
1.21.1 - NeoForge
21.1+ - Photon
2.2.9需要 LDLib22.2.43或更高版本。KilaGraph 已打包在 Photon 的 jar 中,无需单独安装。 - 客户端环境:Photon 的渲染和播放 API 都在客户端运行
Photon 1.x
本手册只介绍 Photon 2.x。Photon 1.x 文档仍可在旧版仓库 Wiki中查看。