SBW 网格加载器

SBW 网格加载器

这个模组允许卓越战争模组加载使用Blockbench Meshy插件创建的网格几何模型。

 

SBW Mesh Loader

请注意,安装此模组本身不会添加任何战斗机或坦克。此模组处于测试阶段。请注意,它可能会出现意外行为。如果您想添加坦克和战斗机,请同时下载“Superb Modern Combat”与这个模组。

请注意,如果您想使用此模组为网格模型创建 SBW 附加组件并发布它,则必须将此模组定义为依赖项。

 

无论如何,请不要将此 SBW Mesh Loader 遇到的任何错误报告给 Superb Warfare 服务器。请在此模组的评论区或 Vell 的模组信息服务器上进行报告。


⚠ 临时支持说明: 此模组旨在作为临时解决方案,直到 Superb Warfare 正式原生支持网格模型。一旦 SBW 内置了 poly_mesh 支持,此库将不再维护或不再需要。请据此规划您的附加组件。

SBW Mesh Loader 是一个面向Superb Warfare附加组件的客户端库模组,能够通过硬件加速的 VBO(顶点缓冲对象)在游戏中渲染 Blockbench poly_mesh 几何体。它弥合了基岩版格式 poly_mesh 几何体与 SBW 现有 simplebedrockmodel 渲染管线之间的差距,让附加组件作者能够在 SBW 正式支持之前,今天就使用自由形态的网格几何体。


主要功能

  • VBO 渲染 — 逐光照级别的 VBO 缓存可实现快速的 GPU 绘制调用,在首次进入新光照级别时切换为 VertexConsumer 回退方案。
  • 半透明支持 — 使用 translucent 命名的骨骼会通过 MultiBufferSource 进行路由,以实现正确的深度排序。
  • 四边形三角化 — 自动将三角形扩展为退化四边形 (v0,v1,v2,v2) 以匹配 Minecraft 的 QUADS 顶点格式。

适用于附加组件开发者

在您的 mods.toml 中将此模组添加为强制依赖项,然后使用三个类的 API:

  1. 在您的 [[dependencies]] 块中将 sbwmeshloader 声明为强制依赖项。
  2. 通过 PolyMeshLoader.loadModel(ResourceLocation) 一次性加载您的 geo JSON。失败时返回 null — 请优雅处理。
  3. 在您的渲染器的 render() 方法中,调用 polyMeshModel.renderWithTranslucentSplit(poseStack, bufferSource, texture, packedLight)。
  4. 在世界卸载或模型处置时,调用 polyMeshModel.close() 以释放 GPU 资源。

 

有关详细说明,请参考 Superb Modern Combat 源代码。


许可协议

根据 GPL-3.0 许可证 发布。