
MCglTF
Minecraft模组的glTF库
查看大图MCglTF 是一个 3D 模型加载器库,用于加载 glTF 格式文件,并为 Minecraft 模组环境准备渲染模型所需的技术支持。 glTF 规范的各项特性大多可用,同时仍保持良好的兼容性和性能。

使用方法
用于渲染方块、物品和实体的示例代码
功能特性
- ✅ GLTF 格式(内嵌资源或通过 ResourceLocation)
- ✅ GLB 格式
- ✅ UV 坐标
- ✅ 法线
- ✅ 切线
- ✅ 顶点颜色
- ✅ 材质(需要 OptiFine 或 Iris Shaders 以及支持 PBR 和法线贴图的着色器包)
- ✅ 纹理
- ❎ 多重纹理坐标(为与原版保持兼容)
- ✅ 骨架
- ✅ 动画(多个)
- ✅ 变形目标
- ✅ 零缩放节点剔除(https://github.com/KhronosGroup/glTF/pull/2059)
常见问题解答
问. 为什么我的模型纹理无法显示? 答. 您需要在“materials”的“extras”中定义材质以关联您的纹理。有关更多详细信息,请访问 wiki 页面。
问. 为什么两个动画无法同时在同一个节点上控制平移/旋转/缩放/权重,并导致其中一个动画无法播放? 答. glTF 规范中未定义动画混合技术,因此由 GltfAnimationCreator 创建的动画也不支持动画混合。您需要根据您的场景创建自己的动画处理器。
问. 如何对模型应用自定义处理,例如自定义材质(例如应用玩家皮肤)或为特定节点创建特殊的 OpenGL 命令? 答. 对于为 glTF 模型生成 OpenGL 命令的更高级方法,您可以在您的 IGltfModelReceiver 中重写 isReceiveSharedModel(GltfModel, GltfRenderDatas) 并返回 false。这允许您基于提供的 GltfModel 创建自定义的 RenderedGltfModel。(请注意将您的 OpenGL 对象如 VBO、VAO、纹理等添加到 GltfRenderDatas 中,以便在资源刷新时进行删除。)
致谢
- javagl 的 JglTF:https://github.com/javagl/JglTF
- jMonkeyEngine 的 Mikk Tangent Generator:https://github.com/jMonkeyEngine/jmonkeyengine
正在加载版本记录…


正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。