13个版本
0.6.4 | 2019年3月24日 |
---|---|
0.6.3 | 2018年6月7日 |
0.6.2 | 2016年11月28日 |
0.6.1 | 2016年3月21日 |
0.1.1 | 2015年12月27日 |
#5 in #fbx
每月25次下载
87KB
2K SLoC
fbx_direct,Rust语言的底层FBX解析器
已废弃*。请使用[链接](https://github.com/lo48576/fbxcel):fbxcel
代替。
fbx_direct是Rust编程语言的FBX库。它受到了[链接](https://en.wikipedia.org/wiki/StAX)中的Java Streaming API for XML (StAX)和[链接](https://github.com/netvl/xml-rs)的强烈启发。
此库目前包含二进制FBX的事件读取器和类似xml-rs的ASCII/Binary FBX事件写入器。尚未支持ASCII FBX读取器。
此库支持FBX 7.4或更高版本。
文档
链接:文档链接
待办事项
.reader
- 二进制FBX解析器
- ASCII FBX解析器
.writer
- 二进制FBX写入器
- ASCII FBX写入器
许可证
根据以下任一许可证授权:
- Apache许可证2.0版(链接:[LICENSE-APACHE](LICENSE-APACHE)或[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))
- MIT许可证(链接:[LICENSE-MIT](LICENSE-MIT)或[http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
任选其一。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义的,你提交的任何有意包含在作品中的贡献,将根据上述条件双授权,不附加任何额外条款或条件。
发布说明
0.6.4
新功能和改进:提高依赖项;byteorder
0.9 -> 0.10, env_logger
0.5.10 -> 0.6 以Rust 2018版重写;应用cargo fix
并修复了clippy的lints。
0.6.3
新功能和改进:提高许多依赖项;[链接](https://github.com/lo48576/fbx_direct/pull/2) #2,感谢@VictorKoenders
0.6.2
没有接口更改。
0.6.1
新功能和改进:提高byteorder
crate版本;0.5 -> 0.6
0.6.0
变更和弃用:将 common::OwnedProperty::into_*()
的接口进行了更改;它们的返回类型已从 Option<Foo>
更改为 Result<Foo, OwnedProperty>
。现在它们在转换失败时返回 Err(self)
。
0.5.1
修复:FBX ASCII 编写器的无效左大括号 '{' 输出;有时输出数据中会缺少 '{'。现在这个问题已修复。
0.5.0
变更和弃用:添加了 writer::Error::DataTooLarge
变体;当一个数据大小(元素数量、字节偏移量、字节大小等)太大,无法适应文件的编写格式时,将发出此错误。新功能和改进:支持 FBX 7.5;从 FBX 7.5.0 开始,二进制格式的规范略有变化。现在,二进制读取器/写入器支持它。当然,FBX 7.4 也得到支持。
0.4.0
变更和弃用:在 MIT 和 Apache-2.0 许可下重新授权;请参阅链接:问题 #1。更改了接口 common::{OwnedProperty,Property}::{get,into}_binary()
;现在它们的类型是 fn get_binary(&self, from_string: bool) -> Option<Cow<[u8]>>
和 fn into_binary(&self, from_string: bool) -> Option<Vec<u8>>
。现在当 from_string
为 true
时,函数尝试将字符串转换为二进制,当为 false
时则不尝试。
0.3.0
新功能与改进:ASCII FBX编写器已可用;请注意,某些功能(例如布尔向量节点属性的ASCII表示)尚未确认,可能存在错误。代码段:writer::EmitterConfig::fbx_version
成员变量已添加;该变量用于指定导出FBX的版本。默认值为 None
。当值为 None
时,如果需要,编写器将自动决定。当无法自动决定时,将发出错误。变更和弃用:添加了 writer::Error::InvalidOption
变体;当编写器配置了无效或不一致的选项或不一致的编写器事件(例如指定与编写器配置不同版本的的事件)时,将发出此错误。
0.2.2
新功能与改进:添加了 common::OwnedProperty::into_{{bool,i16,i32,i64,f32,f64,vec_bool,vec_i32,vec_i64,vec_f32,vec_f64,string,binary}
;get_foo
安全地将值转换为类型,但不消耗自身。 into_foo
安全地将值转换为类型,并消耗自身。当两者都可以使用时,优先使用 into_foo
,因为它更高效。
0.2.1
新功能与改进:添加了 common::OwnedProperty::get_{{bool,i16,i32,i64,f32,f64,vec_bool,vec_i32,vec_i64,vec_f32,vec_f64,string,binary}
;get_foo
安全地将值转换为类型,但不消耗自身。请注意,它不能用于可能丢失信息的信息转换(例如 i64
转换为 i32
或 f32
转换为 i64
),但 f32
与 f64
之间的转换例外允许。
0.2.0
- 二进制FBX编写器已可用。
- 重大变更。
依赖项
~770KB
~13K SLoC