📐 向量
由浮点精度组件 (X, Y, Z) 组成的向量。主要用于实体位置。
👐Open Source
This library implementation is Open Sourced on GitHub!
🧑💻API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!
信息
向量在内部进行自动压缩,这可以将其在网络中的大小减少高达 90%。 一些很棒的细节:
- 类方法中的向量参数通常以小数点后 1 位的精度进行压缩(某些情况下需要更高的精度)。
- 远程事件中传递的向量以小数点后 2 位的精度进行压缩。 如果需要更高的精度,我们建议你将它们作为原始数字传递。
🎒 示例
local new_vector = Vector(1452.5, 512, 943.1)
🛠 构造函数
Default Constructor
No description provided
local my_vector = Vector(X?, Y?, Z?)
🧽 属性
🦠 函数
信息
此结构支持 +、-、*、/、^、== 和 tostring 运算。
| Returns | Name | Description | |
|---|---|---|---|
| boolean | Equals | 在指定的误差范围内检查与另一个向量是否相等 | |
| number | Distance | 两点之间的距离 | |
| number | DistanceSquared | 两点之间的平方距离 | |
| Vector | GetUnsafeNormal | 计算向量的归一化版本,不检查长度是否为零 | |
| Vector | GetSafeNormal | 获取向量的归一化副本,并根据长度检查此操作是否安全 | |
| boolean | IsNear | 高效检查向量是否在指定半径内接近另一个向量 | |
| boolean | IsNearlyZero | 检查向量在指定的容差范围内是否接近于零 | |
| boolean | IsZero | 检查向量的所有组件是否严格为零 | |
| boolean | Normalize | 如果该向量大于给定的容差,则对其进行就地归一化。否则保持不变 | |
| number | Size | 获取该向量的长度(模长) | |
| number | SizeSquared | 获取该向量的平方长度 | |
| Rotator | ToOrientationRotator | 返回对应于向量指向方向的旋转体朝向 | |
| Quat | ToOrientationQuat | 返回对应于向量指向方向的四元数朝向 | |
| number | Dot | 两个向量的点积 | |
| Vector | Cross | 两个向量的叉积 |
Equals
在指定的误差范围内检查该向量是否与另一个向量相等
local ret = my_vector:Equals(other, tolerance?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | other | Required parameter | 要对比的向量 |
| number | tolerance? | 0.000001 | 误差范围 |
Returns
| Type | Description |
|---|---|
| boolean | 向量是否相等 |
Distance
返回 2 个向量之间的距离
local ret = my_vector:Distance(other)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | other | Required parameter | 要获取距离的另一个向量 |
Returns
| Type | Description |
|---|---|
| number | 向量之间的距离 |
DistanceSquared
返回 2 个向量之间的平方距离
local ret = my_vector:DistanceSquared(other)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | other | Required parameter | 要获取平方距离的另一个向量 |
Returns
| Type | Description |
|---|---|
| number | 向量之间的平方距离 |
GetUnsafeNormal
返回向量的归一化版本,不检查长度是否为零
local ret = my_vector:GetUnsafeNormal()
Returns
| Type | Description |
|---|---|
| Vector | 不安全的法线 |
GetSafeNormal
返回向量的归一化副本,并根据长度检查此操作是否安全
local ret = my_vector:GetSafeNormal()
Returns
| Type | Description |
|---|---|
| Vector | 安全的法线 |
IsNear
高效检查向量是否在指定半径内接近另一个向量
local ret = my_vector:IsNear(other, radius)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | other | Required parameter | 要对比的向量 |
| number | radius | Required parameter | 要检查的半径范围 |
Returns
| Type | Description |
|---|---|
| boolean | 该向量是否接近另一个向量 |
IsNearlyZero
检查向量在指定的容差范围内是否接近于零
local ret = my_vector:IsNearlyZero(tolerance?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | tolerance? | 0.000001 | 误差范围 |
Returns
| Type | Description |
|---|---|
| boolean | 该向量是否接近于零 |
IsZero
检查向量的所有组件是否严格为零
local ret = my_vector:IsZero()
Returns
| Type | Description |
|---|---|
| boolean | 向量的所有组件是否严格为零 |
Normalize
如果该向量大于给定的容差,则对其进行就地归一化。否则保持不变
local ret = my_vector:Normalize()
Returns
| Type | Description |
|---|---|
| boolean | 向量是否已被修改 |
Size
获取该向量的长度(模长)
local ret = my_vector:Size()
Returns
| Type | Description |
|---|---|
| number | 向量的长度 |
SizeSquared
获取该向量的平方长度
local ret = my_vector:SizeSquared()
Returns
| Type | Description |
|---|---|
| number | 向量的平方长度 |
ToOrientationRotator
返回对应于向量指向方向的旋转体朝向
local ret = my_vector:ToOrientationRotator()
Returns
| Type | Description |
|---|---|
| Rotator | 向量的朝向 |
ToOrientationQuat
返回对应于向量指向方向的四元数朝向
local ret = my_vector:ToOrientationQuat()
Returns
| Type | Description |
|---|---|
| Quat | 向量的朝向 |
Dot
返回该向量与另一个向量之间的点积
local ret = my_vector:Dot(other)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | other | Required parameter | 要进行点积的点 |
Returns
| Type | Description |
|---|---|
| number | 点积结果 |
Cross
返回该向量与另一个向量之间的叉积
local ret = my_vector:Cross(other)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | other | Required parameter | 要进行叉积的向量 |
Returns
| Type | Description |
|---|---|
| Vector | 叉积得到的向量 |