程序生成
Procedural generation
本文关键字:程序生成 更新时间:2023-09-26
我对使用php生成过程映射感兴趣,它可以是静态的。我只需要让自己走上正确的道路……我读了很多关于它的文章,并且明白我需要使用噪声生成来获得基本的地图形状。那之后呢?我将使用32x32的简单贴图。通过php是否可能/有效?
考虑使用Perlin或OpenSimplex噪声。
你既可以自己实现,也可以简单地使用库:
https://github.com/martinlindhe/php-noisegenerator你可以使用这个库生成一个数组的高度图:
$perlin = new 'NoiseGenerator'PerlinNoise(3000);
$width = 100;
$height = 100;
$octaves = array(64, 16, 4, 2);
$noise = array();
for ($y = 0; $y < $height; $y += 1) {
for ($x = 0; $x < $width; $x += 1) {
$num = $perlin->noise($x, $y, 0, $octaves);
$raw = ($num / 2) + .5;
if ($raw < 0) $raw = 0;
$noise[$x][$y] = $raw;
}
}
现在你已经填充了噪声数组,你可以在你的前端使用JS或任何你想要的颜色来表示它。我会让你弄清楚这方面的细节,但本质上,在你的高度图中找到你的数字范围,并确定不同类型地形的阈值。
我写了一个教程关于生成高度图和渲染他们使用噪音在这里:https://plaxdev.wordpress.com/2017/05/04/procedurally-generating-islands/
这篇文章不使用PHP,只使用JavaScript,但是如果你在JS中渲染highightmap背后的想法是包含在这篇文章中,如果你正在努力。
相关文章:
- 读取在具有IE的工作程序中生成的对象URL
- "访问被拒绝”;当试图在IE11中打开为程序生成的PDF生成的URL时
- 使用HTML / Javascript将Web应用程序生成的图表/表格转换和导出到可编辑的Powerpoint(.ppt
- 如何使程序生成json数组
- 将单击处理程序附加到动态生成的锚标记
- JavaScript程序,随机生成一百次个位数(0,1,…9),并输出生成了多少个0s、1s、2s……9s
- 如何使帮助程序生成的HTML与jQuery(Meteor)一起使用
- 使用 Node.js 驱动程序生成动态 mongodb 查询
- 真实的用户操作和程序生成的操作之间有什么区别
- Outlook和OWA-使用Office应用程序生成令牌并发出EWS请求失败
- Protractor函数帮助程序生成相同的东西
- 如何使用WSDL实用程序生成的JavaScript类
- Java/JSP-如何跟踪应用程序生成的代码
- 链接到程序生成的CSS,就像它是一个外部文件一样
- 发送请求2.0应用程序生成的请求到非"/me"
- 程序生成变量命名
- SQL注入-如何清理程序生成的SQL子句
- 在程序生成的城市中,在three.js网格对象中关联数据
- React + Backbone应用程序生成2个post而不是1个
- 程序生成