Billboard 跨引擎功能对比

对比 Unity、Unreal Engine(Niagara)、Godot、Babylon.js、three.js 和 bevy_mod_billboard 在 billboard 渲染维度的功能差异。分析时间:2026-05-22。仅基于公开文档和仓库,无运行时测试。

朝向模式矩阵

维度UnityUnreal/NiagaraGodotBabylon.jsthree.jsbevy_mod_billboard
球形/完全面向Billboard + ViewFace CameraParticle BillboardALL (7)Sprite (默认)默认模式
圆柱/Y轴锁定Vertical BillboardY-BillboardY (2)需自定义 shaderBillboardLockAxis
轴向组合(位掩码)X|Y|Z 任意组合
速度对齐Velocity alignmentVelocity facing
拉伸 billboardStretched Billboard
自定义朝向向量Custom Facing Vector
球形/圆柱插值Y Align float(提案已批准)

^[https://docs.unity3d.com/Manual/PartSysRendererModule.html; https://dev.epicgames.com/documentation/unreal-engine/particle-update-group-reference-for-niagara-effects-in-unreal-engine; https://github.com/godotengine/godot-proposals/issues/3968; https://doc.babylonjs.com/features/featuresDeepDive/mesh/billboardMode; https://threejs.org/manual/en/billboards.html]

辅助功能对比

维度UnityUnreal/NiagaraGodotBabylon.jsthree.jsbevy_mod_billboard
尺寸深度衰减Min/Max Particle SizeMaintain in Camera ScalesizeAttenuation
LOD/距离切换Min/Max Particle SizeFacade 模式(纹理替代)
批处理内置内置Roadmap TODO
文字渲染styled text(独占)
Full rotation lock世界空间文字(独占)
HDR
Depth culling 开关

Bevy 缺失功能清单

相对主流引擎,bevy_mod_billboard 缺失以下关键功能:

缺失功能参考引擎重要性Bevy 现状
Bevy 0.15/0.16/0.17 适配criticalopen issues #30, #34;bevy_sprite3d 已部分替代
per-axis 位掩码组合Babylon.jsimportant仅支持 Y-axis lock 和 full lock
velocity-aligned 模式Unity, Unrealimportant无,需自定义 shader
stretched billboardUnityimportant
批处理Unity, UnrealimportantRoadmap TODO,未实现
LOD / 距离切换Unity, three.jsimportant
texture atlas / sprite sheetimportantopen issue #23
文字描边contextualopen issue #33
交互支持contextualopen issue #14

各引擎设计亮点

  • 功能最全面: Unity — 6 种 Render Mode + 5 种 Alignment + Stretched Billboard + 尺寸限制。
  • 设计最灵活: Babylon.js — 位掩码 X|Y|Z 任意组合,所有 mesh 均可设置,不限于专用组件。
  • 自定义能力最强: Unreal Niagara — Custom Facing Vector 允许任意朝向逻辑,结合 Velocity 可创建拖尾效果。
  • Bevy 独特优势: styled text 和 full rotation lock(世界空间文字)是其他引擎未内置的功能。

演进趋势

  • Godot Proposal #3968 已批准实现:解耦 flipbook、Billboard Y Align 插值(球形↔圆柱)、Projection 枚举(View Plane / Camera Position)。这表明灵活朝向组合是引擎 billboard 系统的演进方向。
  • Bevy #3688 标签 S-Ready-For-Implementation 但 PR 被拒,官方鼓励社区先行。

^[https://github.com/godotengine/godot-proposals/issues/3968]

矛盾

  1. bevy_mod_billboard 维护停滞但需求真实: 35,707 下载量 vs. 近两年无更新。
  2. bevy_sprite3d 被官方推荐但功能不完整: 无文字渲染、无 Y-axis lock。
  3. 官方标记 Ready 但 PR 被拒: Bevy #3688 的 S-Ready-For-Implementation 与 PR #2814 被拒的矛盾。

参见

来源