头文件代码:

#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);

}

使用方式:

  1. 将头文件和cpp文件放入项目的源代码文件夹中。
  2. 在UE5蓝图中,打开节点编辑器,并在右侧搜索框中输入“GetPerlinNoise”。
  3. 拖拽“GetPerlinNoise”节点到蓝图中,连接输入值和输出值。
  4. 设置节点的各项参数,包括X、Y坐标、频率、八度数、持续性、分形间隔和种子。
  5. 运行蓝图,即可得到perlin噪点的值。
使用C++编写一个可以在UE5蓝图中使用的节点功能是根据两个输入的值输出一个perlin噪点的值。请提供完整的cpp代码和头文件代码。请说明详细的使用方式

原文地址: https://www.cveoy.top/t/topic/bQUM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录