头文件需要引用
#include"Kismet/KismetMathLibrary.h"
这个函数能提供各种数学函数和实用程序
下面这是VS里面的声明
static inline double FMath::GetMappedRangeValueClamped<double,double>(const FVector2D &InputRange,const FVector2D &OutputRange,double Value)
第一个参数是输入范围
第二个参数是输出范围
第三个是要映射的双精度浮点数
示例:
假设我们有一个输入范围 [0.0, 1.0]
和一个输出范围 [10.0, 20.0]
. 要将值 0.5
从输入范围映射到输出范围,我们可以使用以下代码:
double MappedValue = FMath::GetMappedRangeValueClamped(FVector2D(0.0, 1.0), FVector2D(10.0, 20.0), 0.5);
MappedValue
将等于 15.0
,因为 0.5
在 [0.0, 1.0]
范围内的归一化位置为 0.5
,并且该位置在 [10.0, 20.0]
范围内的映射值为 15.0
。
注意: 此函数重载允许使用 FVector2D
结构作为输入和输出范围,这在处理二维数据时非常方便。