跳转到内容

数学库蓝图节点

本文档介绍 @esengine/ecs-framework-math 模块提供的蓝图节点。

注意:这些节点需要安装 math 模块才能使用。

浮点数 (Float)
Vector2
Fixed32
FixedVector2
Color

2D 向量操作,用于位置、速度、方向计算。

节点说明输入输出
Make Vector2从 X, Y 创建 Vector2X, YVector2
Break Vector2分解 Vector2 为 X, YVectorX, Y
Vector2 +向量加法A, BVector2
Vector2 -向量减法A, BVector2
Vector2 *向量缩放Vector, ScalarVector2
Vector2 Length获取向量长度VectorFloat
Vector2 Normalize归一化为单位向量VectorVector2
Vector2 Dot点积A, BFloat
Vector2 Cross2D 叉积A, BFloat
Vector2 Distance两点距离A, BFloat
Vector2 Lerp线性插值A, B, TVector2
Vector2 Rotate旋转(弧度)Vector, AngleVector2
Vector2 From Angle从角度创建单位向量AngleVector2

从起点到终点的方向向量:

Make Vector2
X 0
Y 0
Vector
Make Vector2
X 100
Y 50
Vector
Vector2 -
A
B
Result
Vector2 Normalize
Vector
Result

使用角度和半径计算圆周位置:

Vector2 From Angle
Angle 1.57
Vector
Vector2 *
Vector
Scalar 50
Result
Vector2 +
A (Center)
B
Position

Q16.16 定点数运算,适用于帧同步网络游戏,保证跨平台计算一致性。

节点说明输入输出
Fixed32 From Float从浮点数创建FloatFixed32
Fixed32 From Int从整数创建IntFixed32
Fixed32 To Float转换为浮点数Fixed32Float
Fixed32 To Int转换为整数Fixed32Int
Fixed32 +加法A, BFixed32
Fixed32 -减法A, BFixed32
Fixed32 *乘法A, BFixed32
Fixed32 /除法A, BFixed32
Fixed32 Abs绝对值ValueFixed32
Fixed32 Sqrt平方根ValueFixed32
Fixed32 Floor向下取整ValueFixed32
Fixed32 Ceil向上取整ValueFixed32
Fixed32 Round四舍五入ValueFixed32
Fixed32 Sign符号 (-1, 0, 1)ValueFixed32
Fixed32 Min最小值A, BFixed32
Fixed32 Max最大值A, BFixed32
Fixed32 Clamp钳制范围Value, Min, MaxFixed32
Fixed32 Lerp线性插值A, B, TFixed32
Fixed32 From Float
Value 5.0
Speed
Fixed32 From Float
Value 0.016
DeltaTime
Fixed32 *
A
B
Result
Fixed32 To Float
Fixed
Float

定点向量运算,用于确定性物理计算,适用于帧同步。

节点说明输入输出
Make FixedVector2从 X, Y 浮点数创建X, YFixedVector2
Break FixedVector2分解为 X, Y 浮点数VectorX, Y
FixedVector2 +向量加法A, BFixedVector2
FixedVector2 -向量减法A, BFixedVector2
FixedVector2 *按 Fixed32 缩放Vector, ScalarFixedVector2
FixedVector2 Negate取反VectorFixedVector2
FixedVector2 Length获取长度VectorFixed32
FixedVector2 Normalize归一化VectorFixedVector2
FixedVector2 Dot点积A, BFixed32
FixedVector2 Cross2D 叉积A, BFixed32
FixedVector2 Distance两点距离A, BFixed32
FixedVector2 Lerp线性插值A, B, TFixedVector2
Make FixedVector2
X 10
Y 20
Position
Make FixedVector2
X 1
Y 0
Velocity
FixedVector2 +
A
B
New Position

颜色创建与操作节点。

节点说明输入输出
Make Color从 RGBA 创建R, G, B, AColor
Break Color分解为 RGBAColorR, G, B, A
Color From Hex从十六进制字符串创建HexColor
Color To Hex转换为十六进制字符串ColorString
Color From HSL从 HSL 创建H, S, LColor
Color To HSL转换为 HSLColorH, S, L
Color Lerp颜色插值A, B, TColor
Color Lighten提亮Color, AmountColor
Color Darken变暗Color, AmountColor
Color Saturate增加饱和度Color, AmountColor
Color Desaturate降低饱和度Color, AmountColor
Color Invert反色ColorColor
Color Grayscale灰度化ColorColor
Color Luminance获取亮度ColorFloat
节点
Color White(1, 1, 1, 1)
Color Black(0, 0, 0, 1)
Color Red(1, 0, 0, 1)
Color Green(0, 1, 0, 1)
Color Blue(0, 0, 1, 1)
Color Transparent(0, 0, 0, 0)
Color Red
Color
Color Blue
Color
Color Lerp
A
B
T 0.5
Result
Color From Hex
Hex "#FF5722"
Color
Break Color
Color
R
G
B
A