猫史档案馆


Lv.0

获赞:0收藏:0浏览:0作品收藏:0
回复帖子评论
上一页13 页 / 共 13下一页

代码岛灵异事件(?) 中回复

有人说这是假的???可能是我忘了发过程了。。。我觉得这是一个bug,因为我先在场景里放了个叫“城墙”的文件,然后我在模型编辑器(非地图里的)给这个文件改了个名,另外造了个“城墙”,我把原模型删了,把两个模型都加到这里面,结果就这样了()

2021-09-16T19:03:25 点赞:0

当Alan吃下了亿吨德芙做出动画... 中回复

这时有人在吃巧克力,撕开包装,一口下去——咋是包装纸???

2021-09-20T19:19:29 点赞:1

岛三神奇现象 中回复

额这是特性(亿年前就发现了

2021-09-20T19:28:29 点赞:0

详细解析 从天启大陆到肝帝地图 代码解析 中回复

上次做了个没有保存机制的(连挖掘都没完善)仿MC,深有体会(代码已经2000左右了)

2021-09-20T19:33:16 点赞:0

【box3】模型转换器现在支持染色啦! 中回复

glb文件根本不能转化aaa

2021-09-21T11:22:14 点赞:0

你们最想要的那个来了! 中回复

又要出活动???(在家上网课半个月了()

2021-09-28T14:38:48 点赞:0

【实验系列招人合作】实验系列招模型师 中回复

https://box3.cod喵/v/216855 https://box3.cod喵/v/216812 很久之前就做了这两个()

2021-09-28T14:48:24 点赞:0

感觉挺好玩 中回复

1 5 9 10 12(欸11被你吃了

2021-09-28T17:03:40 点赞:0

做魂环最重要的不过就是举一反三() 中回复

今天突然发现个要注意的问题:玩家的变量设置我没复制下来,请大家要用的时候自己加上去(应该看得出来是哪些吧?)

2021-09-28T17:05:33 点赞:0

这个圆柱有自己的想法 中回复

四舍五入的误差()

2021-09-28T17:08:28 点赞:0

函数的妙用-------BOX 中回复

正所谓:打代码最重要的无非就是举一反三(你这发教程的模式咋和我这么像???)

2021-09-30T13:56:15 点赞:0

找师傅(( 中回复

几乎没谁敢收()

2021-09-30T13:58:39 点赞:0

【岛3创作节】神奇魔法在哪里? 中回复

突然想到哈利波特

2021-09-30T16:52:12 点赞:0

【box3】山地地形 速建代码 中回复

然后我把这个地形做成了地形图()

center_image

center_image

2021-10-02T21:44:15 点赞:3

找师傅(( 中回复

2021-10-08T19:42:07 点赞:0

找师傅(( 中回复

喵d

2021-10-08T19:42:14 点赞:0

找师傅(( 中回复

bcmbcm

2021-10-08T19:44:13 点赞:0

找师傅(( 中回复

bcm

2021-10-08T19:44:21 点赞:0

【BOX3】2022第一帖(尬 中回复

效果如下:

center_image

center_image

2022-06-25T16:41:09 点赞:0

哦吼吼()()测一下知名度 中回复

23468

2022-06-29T20:43:15 点赞:0

【BOX3】随机地形0.1.0 中回复

对了,神岛最近更新编辑器了,新的API的地址还麻烦好心人给一下(太久没来实在找不到了())

2023-06-25T23:05:57 点赞:0

【BOX3】随机地形0.1.0 中回复

随机地形版本0.1.1

console.clear()
basic=70//地基高度,自选
Math.seed=Math.random()
Math.seededRandom = function(max,min){//随机数代码,不用管它
    max=max||1;
    min=min||0

    Math.seed=(Math.seed*9301+49297)%233280;
    var rnd=Math.seed/233280.0;

    return(Math.ceil(min+rnd*(max-min)))
}
noiseP1Final = new Array(128).fill([]);//模拟地图盘
noiseP1FinalTure = new Array(128).fill([]);//最终地图盘
const PI=3.1415926535

for(k=0;k<=128;k++){
    noiseP1FinalTure[k]=[]//初始化地图
}
//——————————算法主体——————————
//第一次生成(复杂程度I)
for(k=0;k<=4;k++){
    noiseP1Final[k*32]=[]//初始化地图
    for(i=0;i<=4;i++){
        a=Math.seededRandom(30,-30)//种子取高
        noiseP1Final[k*32][i*32]=a
    }
    for(i=0;i<4;i++){//平滑算法核心
        ava=(noiseP1Final[k*32][i*32]-noiseP1Final[k*32][(i+1)*32])/2
        if(ava>=0){
            for(j=0;j<32;j++){
                noiseP1Final[k*32][i*32+j]=noiseP1Final[k*32][i*32]+Math.floor(Math.cos(j/32*PI)*ava)-Math.floor(Math.cos(0)*ava)+1
            }
        }else if(ava<0){
            for(j=0;j<32;j++){
                noiseP1Final[k*32][i*32+j]=noiseP1Final[k*32][(i+1)*32]+Math.floor(Math.cos((32-j)/32*PI)*(-ava))-Math.floor(Math.cos(0)*(-ava))+1
            }
        }
    }
}
for(k=0;k<=128;k++){
    for(i=0;i<4;i++){
        ava=(noiseP1Final[i*32][k]-noiseP1Final[(i+1)*32][k])/2
        if(ava>=0){
            for(j=0;j<32;j++){
                noiseP1FinalTure[i*32+j][k]=noiseP1Final[i*32][k]+Math.round(Math.cos(j/32*PI)*ava)-Math.round(Math.cos(0)*ava)
            }
        }else if(ava<0){
            for(j=0;j<32;j++){
                noiseP1FinalTure[i*32+j][k]=noiseP1Final[(i+1)*32][k]+Math.round(Math.cos((32-j)/32*PI)*(-ava))-Math.round(Math.cos(0)*(-ava))
            }
        }
    }
}
//第二次生成(复杂程度II)
for(k=0;k<=8;k++){
    noiseP1Final[k*16]=[]
    for(i=0;i<=8;i++){
        b=Math.seededRandom(18,-18)
        noiseP1Final[k*16][i*16]=b
    }
    for(i=0;i<8;i++){
        ava=(noiseP1Final[k*16][i*16]-noiseP1Final[k*16][(i+1)*16])/2
        if(ava>=0){
            for(j=0;j<16;j++){
                noiseP1Final[k*16][i*16+j]=noiseP1Final[k*16][i*16]+Math.floor(Math.cos(j/16*PI)*ava)-Math.floor(Math.cos(0)*ava)
            }
        }else if(ava<0){
            for(j=0;j<16;j++){
                noiseP1Final[k*16][i*16+j]=noiseP1Final[k*16][(i+1)*16]+Math.floor(Math.cos((16-j)/16*PI)*(-ava))-Math.floor(Math.cos(0)*(-ava))
            }
        }
    }
}
for(k=0;k<=128;k++){
    for(i=0;i<8;i++){
        ava=(noiseP1Final[i*16][k]-noiseP1Final[(i+1)*16][k])/2
        if(ava>=0){
            for(j=0;j<16;j++){
                noiseP1FinalTure[i*16+j][k]+=noiseP1Final[i*16][k]+Math.round(Math.cos(j/16*PI)*ava)-Math.round(Math.cos(0)*ava)
            }
        }else if(ava<0){
            for(j=0;j<16;j++){
                noiseP1FinalTure[i*16+j][k]+=noiseP1Final[(i+1)*16][k]+Math.round(Math.cos((16-j)/16*PI)*(-ava))-Math.round(Math.cos(0)*(-ava))
            }
        }
    }
}
//第三次生成(复杂程度III)
for(k=0;k<=16;k++){
    noiseP1Final[k*8]=[]
    for(i=0;i<=16;i++){
        c=Math.seededRandom(5,-5)
        noiseP1Final[k*8][i*8]=c
    }
    for(i=0;i<16;i++){
        ava=(noiseP1Final[k*8][i*8]-noiseP1Final[k*8][(i+1)*8])/2
        if(ava>=0){
            for(j=0;j<8;j++){
                noiseP1Final[k*8][i*8+j]=noiseP1Final[k*8][i*8]+Math.floor(Math.cos(j/8*PI)*ava)-Math.floor(Math.cos(0)*ava)
            }
        }else if(ava<0){
            for(j=0;j<8;j++){
                noiseP1Final[k*8][i*8+j]=noiseP1Final[k*8][(i+1)*8]+Math.floor(Math.cos((8-j)/8*PI)*(-ava))-Math.floor(Math.cos(0)*(-ava))
            }
        }
    }
}
for(k=0;k<=128;k++){
    for(i=0;i<16;i++){
        ava=(noiseP1Final[i*8][k]-noiseP1Final[(i+1)*8][k])/2
        if(ava>=0){
            for(j=0;j<8;j++){
                noiseP1FinalTure[i*8+j][k]+=noiseP1Final[i*8][k]+Math.round(Math.cos(j/8*PI)*ava)-Math.round(Math.cos(0)*ava)
            }
        }else if(ava<0){
            for(j=0;j<8;j++){
                noiseP1FinalTure[i*8+j][k]+=noiseP1Final[(i+1)*8][k]+Math.round(Math.cos((8-j)/8*PI)*(-ava))-Math.round(Math.cos(0)*(-ava))
            }
        }
    }
}
//打印地形
for(i=0;i<=128;i++){
    for(j=0;j<=128;j++){
        for(h=0;h<=noiseP1FinalTure[i][j]+basic-4;h++){
            voxels.setVoxel(i,h,j,129)
        }
        for(h=noiseP1FinalTure[i][j]+basic-4;h<=noiseP1FinalTure[i][j]+basic-1;h++){
            voxels.setVoxel(i,h,j,125)
        }
        voxels.setVoxel(i,noiseP1FinalTure[i][j]+basic,j,127)
    }
}

主要更新:结构优化,增加地形复杂程度

 

效果如下:

center_image

2023-06-28T21:21:58 点赞:0

【BOX3】随机地形0.1.0 中回复

0.1.1版本压缩了一下代码,新代码如下:

console.clear()
basic=70//地基高度,自选
Math.seed=Math.random()
Math.seededRandom = function(max,min){//随机数代码,不用管它
    max=max||1;
    min=min||0

    Math.seed=(Math.seed*9301+49297)%233280;
    var rnd=Math.seed/233280.0;

    return(Math.ceil(min+rnd*(max-min)))
}
noiseP1Final = new Array(128).fill([]);//模拟地图盘
noiseP1FinalTure = new Array(128).fill([]);//最终地图盘
const PI=3.1415926535

for(k=0;k<=128;k++){//初始化地图
    noiseP1FinalTure[k]=[]
}
for(k=0;k<=128;k++){
    for(b=0;b<=128;b++){
        noiseP1FinalTure[k][b]=0
    }
}

//——————————算法主体——————————
function landswanp(x,y,maxh,minh){//xy=128
    for(k=0;k<=x;k++){
        noiseP1Final[k*y]=[]//初始化地图
        for(i=0;i<=x;i++){
            a=Math.seededRandom(maxh,minh)//种子取高
            noiseP1Final[k*y][i*y]=a
        }
        for(i=0;i<x;i++){//平滑算法核心
            ava=(noiseP1Final[k*y][i*y]-noiseP1Final[k*y][(i+1)*y])/2
            if(ava>=0){
                for(j=0;j<y;j++){
                    noiseP1Final[k*y][i*y+j]=noiseP1Final[k*y][i*y]+Math.floor(Math.cos(j/y*PI)*ava)-Math.floor(Math.cos(0)*ava)
                }
            }else if(ava<0){
                for(j=0;j<y;j++){
                    noiseP1Final[k*y][i*y+j]=noiseP1Final[k*y][(i+1)*y]+Math.floor(Math.cos((y-j)/y*PI)*(-ava))-Math.floor(Math.cos(0)*(-ava))
                }
            }
        }
    }
    for(k=0;k<=128;k++){
        for(i=0;i<x;i++){
            ava=(noiseP1Final[i*y][k]-noiseP1Final[(i+1)*y][k])/2
            if(ava>=0){
                for(j=0;j<y;j++){
                    noiseP1FinalTure[i*y+j][k]+=noiseP1Final[i*y][k]+Math.round(Math.cos(j/y*PI)*ava)-Math.round(Math.cos(0)*ava)
                }
            }else if(ava<0){
                for(j=0;j<y;j++){
                    noiseP1FinalTure[i*y+j][k]+=noiseP1Final[(i+1)*y][k]+Math.round(Math.cos((y-j)/y*PI)*(-ava))-Math.round(Math.cos(0)*(-ava))
                }
            }
        }
    }
}


//地形生成
landswanp(4,32,30,-30)
landswanp(8,16,18,-18)
landswanp(16,8,5,-5)

//打印地形
for(i=0;i<=128;i++){
    for(j=0;j<=128;j++){
        for(h=0;h<=noiseP1FinalTure[i][j]+basic-4;h++){
            voxels.setVoxel(i,h,j,129)
        }
        for(h=noiseP1FinalTure[i][j]+basic-4;h<=noiseP1FinalTure[i][j]+basic-1;h++){
            voxels.setVoxel(i,h,j,125)
        }
        voxels.setVoxel(i,noiseP1FinalTure[i][j]+basic,j,127)
    }
}

效果大致是一样的

2023-06-28T21:39:59 点赞:0

【BOX3】随机地形0.2.0 中回复

重投了,函数有两个字符打反了

emotion_编程猫_搓头

2023-07-03T19:16:54 点赞:0

稍微深入一点地玩了玩GUI孩子玩得更开心力)() 中回复

求助:GUI功能有API文档吗

2023-07-10T21:13:44 点赞:0

【BOX3】随机地形最新版本展示(真的只是展示) 中回复

喵=洞·穴

2023-07-11T18:23:39 点赞:0