10个版本 (5个破坏性版本)
0.10.0 | 2024年3月14日 |
---|---|
0.9.3 | 2023年12月19日 |
0.9.2 | 2023年3月27日 |
0.8.0 | 2022年11月20日 |
0.1.0 |
|
#138 in 游戏开发
每月359次下载
460KB
13K SLoC
Rust对Houdini Engine API的绑定
SideFX Houdini 遇见 Rust!
SideFx Houdini 是世界领先的用于创建电影和游戏惊人视觉效果的软件。除了用C++和Python编写的默认图形界面外,Houdini还提供了一个名为 Houdini Engine 或简称为HAPI的C接口。其目标是将Houdini的强大功能带到其他DCC(数字内容创建)软件和游戏引擎中。
这个crate旨在提供Houdini Engine的惯用Rust接口,并建立在 hapi-sys 之上。
❗ 使用此crate需要有效的 商业 Houdini Engine许可证
HDA查看器演示
示例
use hapi_rs::Result;
use hapi_rs::session::quick_session;
use hapi_rs::parameter::*;
fn main() -> Result<()> {
// Start a standalone engine process
let session = quick_session(None)?;
// Load a Houdini Asset and create a node
let lib = session.load_asset_file("otls/hapi_geo.hda")?;
let node = lib.create_asset_for_node("Object/hapi_geo", None)?;
// Set the "scale" parameter
if let Parameter::Float(parm) = node.parameter("scale")? {
parm.set(0, 3.0)?;
node.cook(None)?;
}
// Get a reference to the node's internal geometry
let geometry = node.geometry()?.expect("geometry");
// Save it to one of the supported geometry formats
geometry.save_to_file("/tmp/output.fbx")?;
Ok(())
}
构建
请参阅文档 构建部分
依赖
~2–11MB
~120K SLoC