13

主题

25

回帖

991

积分

优秀创作者

积分
991

夏日·闪闪发光勋章

发表于  2023-7-12 11:13:16 | 显示全部楼层 |阅读模式 1770 8

-- 初始化种子表
local perm = {}
for i = 0, 255 do
    perm[i] = i
end

for i = 0, 255 do
    local j = math.random(0, 255)
    perm[i], perm[j] = perm[j], perm[i]
end

for i = 0, 255 do
    perm[i + 256] = perm[i]
end

-- 柏林噪声函数
---@param x number x坐标
---@param y number y坐标
---@param seed string 种子
---@return number -- 高度坐标
return function(x, y, seed)
    if gameapi then
        gameapi.set_random_seed(seed)
    else
        math.randomseed(tonumber(seed))
    end
    local function fade(t)
        return t * t * t * (t * (t * 6 - 15) + 10)
    end

    local function lerp(t, a, b)
        return a + t * (b - a)
    end

    local function grad(hash, x, y)
        local h = hash % 16
        local u = h < 8 and x or y
        local v = h < 4 and y or ((h == 12 or h == 14) and x or 0)
        return ((h % 2) == 0 and u or -u) + ((h % 3) == 0 and v or -v)
    end

    local function noise(x, y, perms)
        local X = math.floor(x) % 256
        local Y = math.floor(y) % 256
        local xf = x - math.floor(x)
        local yf = y - math.floor(y)
        local u = fade(xf)
        local v = fade(yf)
        local AA = (perms[X % 256] + Y) % 256
        local AB = (perms[(X + 1) % 256] + Y) % 256
        local BA = (perms[X % 256] + Y + 1) % 256
        local BB = (perms[(X + 1)] % 256 + Y + 1) % 256
        local x1 = lerp(u, grad(perms[AA], xf, yf), grad(perms[AB], xf - 1, yf))
        local x2 = lerp(u, grad(perms[BA], xf, yf - 1), grad(perms[BB], xf - 1, yf - 1))

        return lerp(v, x1, x2)
    end

    return noise(x, y, perm)
end



POPO20230712-110953.png

13

主题

25

回帖

991

积分

优秀创作者

积分
991

夏日·闪闪发光勋章

发表于  2023-7-12 11:19:04 | 显示全部楼层
查看另一篇平滑处理和调用

48

主题

91

回帖

1579

积分

精英创作者

积分
1579

夏日·活跃之王勋章

发表于  2023-7-13 18:24:15
我草你的世界?

48

主题

91

回帖

1579

积分

精英创作者

积分
1579

夏日·活跃之王勋章

发表于  2023-7-13 18:26:26 | 显示全部楼层

QQ图片20230713182539.png

这里能进去不

13

主题

25

回帖

991

积分

优秀创作者

积分
991

夏日·闪闪发光勋章

发表于  2023-7-14 10:22:29 | 显示全部楼层

得看你移动单位设置的碰撞盒是怎么样的。
  • “走进去”。 每个cube都是有碰撞和刚体的,并且适配了全局重力。简单来说就是做了一套物理组件,没用内置的东西。所以既然是自己做的,那肯定是想怎么玩都行咯。
    2023-7-14 14:07
  • 啊,怎么设置才能进去
    2023-7-14 11:18

13

主题

25

回帖

991

积分

优秀创作者

积分
991

夏日·闪闪发光勋章

发表于  2023-7-14 14:07:55 | 显示全部楼层
EGNE#6985 发表于 2023-7-14 10:22
得看你移动单位设置的碰撞盒是怎么样的。

“走进去”。
每个cube都是有碰撞和刚体的,并且适配了全局重力。简单来说就是做了一套物理组件,没用内置的东西。所以既然是自己做的,那肯定是想怎么玩都行咯。

53

主题

102

回帖

2369

积分

精英创作者

积分
2369

夏日·活跃之王勋章

发表于  2023-7-20 09:55:26 | 显示全部楼层
66666666666666666

7

主题

47

回帖

690

积分

优秀创作者

积分
690

夏日·闪闪发光勋章

发表于  2023-7-20 15:18:52 | 显示全部楼层
我。。。我的。。我的世界?

13

主题

25

回帖

991

积分

优秀创作者

积分
991

夏日·闪闪发光勋章

发表于  2023-7-20 16:02:52 | 显示全部楼层
llss77#1974 发表于 2023-7-20 15:18
我。。。我的。。我的世界?

差不多,y3很强大。