用户:查看:1 回复:9 评论:1 创建时间:2022-06-25T16:40:28
//认识我的应该都知道我退岛大半年了()
//这次回来做了个随机sin地形(灵感来源于尹子,但的确是独创)
//代码如下:
async function f(sealevel,basis){//海平面以及地基高度自选
slope1=5+(10*Math.random())//坡度
slope2=5+(10*Math.random())
d1=0.05+(0.1*Math.random())//坡距
d2=0.05+(0.1*Math.random())
//这四行不建议看不懂的随便改,主观认为这样地形比较正常
for(z=0;z<128;z++){
for(x=0;x<=128;x++){
xy1=Math.sin(((x+z)*d1))*slope1//学过sin的应该看得懂
zy1=Math.sin((z-x)*d1)*slope1
xy2=Math.sin((x-z)*d2)*slope2
zy2=Math.sin((z+x)*d2)*slope2
y=xy1+zy1+zy2+zy2+basis
for(i=0;i<=y-3;i++){//铺石头
voxels.setVoxel(x,i,z,129)
}
for(k=y-3;k<=y;k++){//铺泥土
voxels.setVoxel(x,k,z,125)
}
if(y>=sealevel+2){//铺喵
voxels.setVoxel(x,y,z,127)
}else{
voxels.setVoxel(x,y,z,135)//铺沙
for(j=sealevel;j>y;j--){
voxels.setVoxel(x,j,z,3喵)//造河
}
}
}
}
}
f(55,60)//调用函数,数值可以改
//需要自取
//也不知道暑假还会不会在()