使用C++编写一个可以在UE5蓝图中使用的节点功能是根据两个输入的值输出一个perlin噪点的值。请提供完整的cpp代码和头文件代码。请说明详细的使用方式
头文件代码:
#pragma once
#include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "PerlinNoiseLibrary.generated.h"
UCLASS() class MYPROJECT_API UPerlinNoiseLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY()
public: UFUNCTION(BlueprintPure, Category = "PerlinNoise") static float GetPerlinNoise(float X, float Y, float Frequency, int32 Octaves, float Persistence, float Lacunarity, int32 Seed); };
CPP代码:
#include "PerlinNoiseLibrary.h" #include "FastNoiseLite.h"
float UPerlinNoiseLibrary::GetPerlinNoise(float X, float Y, float Frequency, int32 Octaves, float Persistence, float Lacunarity, int32 Seed) { FastNoiseLite noise; noise.SetSeed(Seed); noise.SetFrequency(Frequency); noise.SetFractalOctaves(Octaves); noise.SetFractalPersistence(Persistence); noise.SetFractalLacunarity(Lacunarity);
return noise.GetNoise(X, Y);
}
使用方式:
- 将头文件和cpp文件放入项目的源代码文件夹中。
- 在UE5蓝图中,打开节点编辑器,并在右侧搜索框中输入“GetPerlinNoise”。
- 拖拽“GetPerlinNoise”节点到蓝图中,连接输入值和输出值。
- 设置节点的各项参数,包括X、Y坐标、频率、八度数、持续性、分形间隔和种子。
- 运行蓝图,即可得到perlin噪点的值。
原文地址: https://www.cveoy.top/t/topic/bQUM 著作权归作者所有。请勿转载和采集!