我已经实现了一个用于生成等表面地形的系统,该系统基于由Perlin噪声标量场定义的常规3D体素网格。噪声是通过连续函数获得的,因此它在体素和“块”(体素组)之间是无缝的。
我遇到的问题是如何使用此系统完成可变形地形。我有一个“挑选”系统,所以我可以选择一个体素。通过这个,我可以访问体素的数据,并可以在那时修改标量字段。
到目前为止,我已尝试修改所选体素中的数据点(例如增加减少值),这会根据Marching Cubes成功地向上或向下移动生成的多边形。
但是,这会在地形中造成撕裂,因为三角形与网格上方或下方的其余部分分开。
我需要的是一种以自然方式影响标量场本身的方法,从局部点开始,向外辐射,无缝混合。
有没有人有这方面的经验?