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次下载

MIT/Apache

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_stringtrue 时,函数尝试将字符串转换为二进制,当为 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 转换为 i32f32 转换为 i64),但 f32f64 之间的转换例外允许。

0.2.0

  • 二进制FBX编写器已可用。
  • 重大变更。

依赖项

~770KB
~13K SLoC