For the complete documentation index, see llms.txt. This page is also available as Markdown.

特殊类型

了解有哪些特殊类型,包括 Vector、Quaternion 等。

Vector3

Decentraland 使用 vector3 数据来表示路径、空间中的点和方向。向量也可用于定义旋转方向,作为比 四元数。Vector3 对象包含每个分量的数值 x, y、以及 z 轴。

const myVector: Vector3 = { x: 8, y: 1, z: 8 }

该 Vector3 命名空间包含一系列便捷方法,可供调用以避免处理大多数向量数学运算。输入 Vector3。,VS Studio 将显示一个包含所有可用函数的下拉列表。

下面是一些展示向量基本操作语法的代码行。

// 创建一个向量对象
let myVector = Vector3.create(3, 1, 5)

// 创建向量对象的另一种语法
let myOtherVector: Vector3 = { x: 8, y: 1, z: 8 }

// 修改其中一个值
myVector.x = 5

// 从 Vector3 命名空间调用函数,
// 所有这些函数都要求在参数中传入 Vector3 对象

let normalizedVector = Vector3.normalize(myVector)

let distance = Vector3.distance(myVector, myOtherVector)

let midPoint = Vector3.lerp(myVector, myOtherVector, 0.5)

多个组件的字段中经常需要 Vector3 对象。例如, Transform 组件包含 Vector3 以下项的值: 位置 和 缩放 实体的。

要创建一个 自定义组件 对于需要 Vector3 值的参数,请将这些参数的类型设置为 Schemas.Vector3.

编写方向向量的快捷方式

用于定义通用向量的快捷方式如下:

  • Vector3.Zero() 返回 (0, 0, 0)

  • Vector3.Up() 返回 (0, 1, 0)

  • Vector3.Down() 返回 (0, -1, 0)

  • Vector3.Left() 返回 (-1, 0, 0)

  • Vector3.Right() 返回 (1, 0, 0)

  • Vector3.Forward() 返回 (0, 0, 1)

  • Vector3.Backward() 返回 (0, 0, -1)

四元数

四元数用于存储 Transform 组件的旋转信息。一个四元数由四个介于 -1 和 1 之间的数值组成: x, y, z, w.

四元数不同于 欧拉 角,这是更常见的 x, y 和 z 大多数人熟悉的 0 到 360 的数字表示法。引擎将所有旋转都表示为四元数,因此在可能的情况下,避免与欧拉角之间相互转换的计算是有意义的。

该 Quaternion 命名空间包含一系列便捷方法,可供调用以避免处理许多数学运算。输入 Quaternion。,VS Studio 将显示一个包含所有可用函数的下拉列表。

下面是一些展示四元数基本操作语法的代码行。

由于用欧拉角度来思考要容易得多,SDK 包含几个函数,可在四元数和欧拉角之间相互转换。

💡 提示:避免将这些转换作为系统内每个 tick 都会运行的重复逻辑的一部分,因为这会很耗费性能。这些转换主要适用于一次性操作,例如设置新实体的旋转。

组件的字段中经常需要 Quaternion 对象。例如, Transform 组件包含 Quaternion 实体旋转的值。

要创建一个 自定义组件 对于需要 Quaternion 值的参数,请将这些参数的类型设置为 Schemas.Quaternion.

标量

标量不过是一个数字。因此,实例化一个 Scalar 对象来存储数据并没有太大意义,因为用数字也能做到同样的事。函数在 Scalar 不过,命名空间中的函数提供了几个便捷函数(类似于 Vector3 命名空间中的函数),可用于数字。

最后更新于