#vector #unity #vector2 #vector3 #unity3d

vec

为游戏开发提供类似 Unity API 的向量的库

5 个版本 (2 个稳定版)

使用旧的 Rust 2015

2.0.0 2018 年 10 月 28 日
1.0.0 2018 年 10 月 28 日
0.2.0 2018 年 10 月 28 日
0.1.1 2018 年 10 月 28 日
0.1.0 2018 年 10 月 28 日

#1941Rust 模式

BSD-3-Clause 许可

22KB
421

vec

Vec 是一个库,提供简单易用的向量,用于游戏开发,风格类似于在 Unity 游戏引擎中找到的向量。

该库提供了三个基本功能:包含如 normalizelerpzero 等方法的 Vector 特性,这些方法在所有向量实现中都是通用的;提供基于 f64 字段的 2D 向量的基本实现的 Vector2 结构;最后是提供基于 f64 字段的 3D 向量的基本实现的 Vector3

正如之前提到的,这个库的目的是尽可能接近 Unity 中的实现,以便于那些已经熟悉 Unity 的人更容易过渡。你在 Unity 中能做的事情

var start = new Vector2(1f, 2f);
var end = new Vector2(3f, 8f);

var newVector = Vector2.lerp(start, end, t);

应该可以直接转换成这个 API

use vect::prelude::*;

let start = Vector2::new(1.0, 2.0);
let end = Vector2::new(3.0, 8.0);

let newVector = Vector2::lerp(start, end, t);

由于 Rust 处理方法的方式的一个特性,我已经将所有的 "静态方法"(即关联函数)实现为实际的方法,所以你不需要考虑它是哪一个或另一个

use vect::prelude::*;

let start = Vector2::new(1.0, 2.0);
let end = Vector2::new(3.0, 8.0);

let newVector = start.lerp(end, t);

没有运行时依赖