欢迎光临散文网 会员登陆 & 注册

godot 随机地图1-noise

2023-05-16 17:04 作者:damedown  | 我要投稿

之前用unreal整了一个出来,效果反正够用,但是效率绝对拉胯,因为getpixel是从显存到内存,而且不是优化的。因为unreal已经删掉了fbo这个功能。

在godot中,是一款面向2D的游戏,所以他专门弄了一个class noise,在class texture中还有专门的noisetexture的子类。

当然noise的生成在gpu上,所以要获取他们也很容易,只需要await changed后,在用image保存texture,在把image转化为data就好了。

以下是godot的官方文档的使用方式。

var texture = NoiseTexture2D.new()

#给指针分配内存

texture.noise = FastNoiseLite.new()

#在GPU上快速生成 FASTNoise

await texture.changed

#因为nosie的生成是单独线程,等他跑完

var image = texture.get_image()

#把数据从显存复制到内存中

var data = image.get_data()

#把image的数据转化为PackedByteArray


其中PackedByteArray就是一个高效的string

这要要把它变为一个tilemap,速度是非常快得。


◇简单看一下noisetexture的属性

也就是关于noise的清晰度和连接处的关系。


直接上源码

运行结果

总结:作为游戏引擎,设计理念非常棒,小bug只是一些常见的问题,使用c#就没啥问题。

godot 随机地图1-noise的评论 (共 条)

分享到微博请遵守国家法律