1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年10月19日

#31#functional-reactive-programming

MIT 许可证

145KB
3.5K SLoC

设计、动画和编程几何形状

换句话说:这是一个具有同伦映射的类型安全、动态、功能性反应性库。

这个库使用了Sven Nilsen的研究想法,即使用同伦映射来构建几何形状。控制点标志和ragdoll引擎基于Cutout Pro的Elemento。

动机

这个库旨在用于设计、动画和编程几何形状。

函数反应性编程在动态时更有趣。这意味着用户可以在运行时修改行为。

使用同伦映射是构建几何形状的有前途的技术。同伦映射是从N维归一化坐标映射到某些M维空间的连续函数。更多信息请参见 https://github.com/pistondevelopers/construct

动态框架的函数反应性编程问题在于,在编译时使其易于使用通常会付出代价。例如,当获取样条曲线的引用时,很容易错误地将其与另一种类型一起使用,例如表面。

通过根据函数类型分离内存,可以在Rust中使API类型安全。

功能(工作正在进行中)

  • 功能图评估
  • 具有时间和delta时间的环境(允许对动画和运动进行正式推理)
  • 同伦映射高达4D
  • 颜色(将sRGB转换为线性颜色空间以供内部使用)
  • ragdoll物理
  • 精细调整缓存控制
  • 控制点选择和锁定

目标

  • 创建一个适用于Turbine的现代版本Cutout Pro的Elemento核心
  • 在其他游戏引擎中可重用
  • 适用于VR编辑的设计
  • AI行为树(尚未决定)

设计

所有数据都根据其函数类型存储在内存中。这意味着一个函数可以使用索引引用另一个函数,同时在编译时保持类型安全。

通过组合函数创建对象。

依赖关系

~92KB