3个不稳定版本
0.2.1 | 2021年1月19日 |
---|---|
0.1.1 | 2021年1月3日 |
0.1.0 | 2021年1月3日 |
#10 in #eq
71KB
1.5K SLoC
eq_wld
Everquest .wld文件加载器
这是一个正在进行中的项目,但已经可以加载足够的wld文件数据来进行一些基本的模型渲染。该接口受到了glTFcrate的强烈影响。wld文件格式的一部分仍不十分清楚,未来的理解可能会影响此crate的API。
示例
let archive = eq_archive::read("gfaydark.s3d").unwrap();
let wld_data = archive.get("gfaydark.wld").unwrap();
let wld = eq_wld::load(&wld_data).unwrap();
// Iterate over meshes
for mesh in wld.meshes() {
let name = mesh.name();
let positions = mesh.positions();
let normals = mesh.normals();
let texture_coordinates = mesh.texture_coordinates();
let indices = mesh.indices();
let center = mesh.center();
...
}
// Iterate over materials
for material in wld.materials() {
let name = material.name();
let texture = material.base_color_texture();
let texture_source = texture.source();
...
}
致谢
如果没有Windcatcher的WLD文件参考,这个项目将无法实现。部分文档作为解析器模块中的注释进行了复制。当glTF参考中的另一个术语似乎更合适时,文件片段的名称已进行了更改。目标是使其适用于更现代的引擎,并希望在该环境中使用的名称更熟悉。
依赖关系
~3–12MB
~118K SLoC