4 个版本

0.1.16 2023年7月17日
0.1.15 2023年5月29日
0.1.14 2023年5月9日
0.1.0 2023年2月2日

#750 in 游戏开发

每月下载量 47

MIT 许可证

1MB
21K SLoC

包含 (静态库, 16KB) vendor/oo2core_9_win64.lib

unreal_asset

unreal_asset crate 是一个Rust库,允许解析Unreal Engine二进制资产文件。

文档

Crate文档发布于 docs.rs/unreal_asset

Unreal Engine二进制资产文件

Unreal Engine二进制资产文件通常使用以下扩展名存储

  • .uasset - 包含资产元数据和某些信息的文件,如果游戏构建时没有拆分大量数据文件,它还包含所有资产数据。
  • .uexp - 如果游戏构建时拆分了大量数据文件,它包含与组件等相关联的二进制数据。
  • .umap - 与 .uasset 相同,但用于地图/关卡。
  • .usmap - 用于读取未版本化资产的映射文件。

这些文件存储了游戏的大部分资产,您可能需要修改它们来对特定游戏进行修改。

使用方法

可以通过运行命令 cargo add unreal_asset 将crate添加到Rust项目中作为依赖项。

功能

  • oodle - 允许读取Oodle压缩的资产文件

示例

以下提供的示例代码演示了如何使用unreal_asset crate读取为启用拆分大量文件的游戏“烹饪”的资产文件。

use unreal_asset::{engine_version::EngineVersion, Asset};
use std::{
    fs::File,
    io::{Cursor, Read},
    path::Path,
};

let mut data_file = File::open("NPC_Onop_IO_Bech.uasset")?;
let mut bulk_file = File::open("NPC_Onop_IO_Bech.uexp")?;

let asset = Asset::new(data_file, Some(bulk_file), EngineVersion::VER_UE4_25)?;
println!("{:#?}", asset);

测试目录 包含几个测试,演示了如何使用crate来处理uasset文件。

许可证

此库根据MIT许可证的条款分发。有关详细信息,请参阅 LICENSE 文件。

依赖关系

~15MB
~423K SLoC