LSLib项目v1.20.0 Beta 2版本技术解析:glTF 2.0支持与GR2格式优化

LSLib项目v1.20.0 Beta 2版本技术解析:glTF 2.0支持与GR2格式优化

lslib Tools for manipulating Divinity Original Sin and Baldur's Gate 3 files lslib 项目地址: https://gitcode.com/gh_mirrors/ls/lslib

项目简介

LSLib是一个专注于游戏资源处理的工具库,主要用于处理各种游戏资源格式的导入、导出和转换工作。在游戏开发领域,特别是使用Divinity Engine(如《神界:原罪2》和《博德之门3》)的项目中,LSLib扮演着重要角色,帮助开发者高效地处理模型、动画等资源文件。

核心更新内容

glTF 2.0格式支持

本次v1.20.0 Beta 2版本最重要的更新是增加了对glTF 2.0格式的支持。glTF(GL Transmission Format)是一种现代的3D模型传输格式,由Khronos Group开发,已经成为Web和移动端3D图形的标准格式。

技术背景:随着Blender官方宣布将逐步弃用Collada格式(一种较老的3D模型交换格式),LSLib团队及时跟进,实现了glTF 2.0的支持。这一变化意味着:

  1. 用户现在可以使用更现代的glTF格式来导入导出模型、骨骼和动画数据
  2. glTF格式相比Collada具有更好的性能、更小的文件体积和更丰富的功能支持
  3. 需要配合最新版的BG3导出插件使用这一功能

实现细节:LSLib的glTF实现支持了模型、骨骼和动画的全套导出/导入功能,确保了与现有游戏资源管线的兼容性。

GR2格式处理优化

GR2是游戏引擎中常用的一种模型格式,本次更新对GR2文件的处理进行了多项改进:

  1. 骨骼系统优化:改进了对"虚拟骨骼"(dummy skeletons)的检测逻辑,现在对于包含多个网格的非蒙皮GR2文件,不会再导出虚假的骨骼结构

  2. 权重计算修正:修复了一个可能导致骨骼权重总和超过1.0的错误,这在动画变形中可能导致不正确的顶点变形

  3. 命名处理增强

    • 修复了网格名称包含非标准字符时导致Blender崩溃的问题
    • 解决了网格名称重复导致的导出崩溃问题
  4. 流处理改进:修正了GR2加载器无法处理不可查找流(unseekable streams)的问题

其他改进

  1. 命令行工具增强:修复了命令行导出工具在参数错误时仍返回成功状态码(0)的问题

  2. 跨平台支持:解决了Linux系统上错误的"无法创建非绝对路径目录"的问题

  3. 废弃功能:移除了多个不再使用或部分失效的导出选项,包括法线、切线、UV等的导出和重新计算相关参数

  4. 统计功能更新:更新了统计函数定义,加入了新发现的参数名称

技术意义与影响

这次更新标志着LSLib工具链向现代3D资源管线的转型。glTF 2.0的支持不仅解决了Blender逐步弃用Collada带来的兼容性问题,还为开发者提供了更高效、更现代的3D资源交换格式。

对于游戏模组开发者和技术美术师来说,这些改进意味着:

  1. 更稳定的资源导出流程,减少了因特殊字符或重复名称导致的崩溃
  2. 更准确的骨骼权重计算,确保角色动画的质量
  3. 向现代3D资源管线的平滑过渡,未来可更好地支持Web和移动平台

使用建议

对于计划升级到v1.20.0 Beta 2版本的用户,建议:

  1. 确保系统已安装.NET 8.0运行时环境
  2. 同时更新BG3导出插件到最新版本以获得完整的glTF支持
  3. 测试现有资源导出流程,特别是涉及复杂骨骼结构和动画的部分
  4. 逐步将工作流程从Collada迁移到glTF格式

这个beta版本虽然包含重要更新,但生产环境建议继续使用稳定的v1.19.5版本,直到v1.20.0正式发布。

lslib Tools for manipulating Divinity Original Sin and Baldur's Gate 3 files lslib 项目地址: https://gitcode.com/gh_mirrors/ls/lslib

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

束治楠Merle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值