首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >光线投射会让世界怪异地弯曲。PICO-8(LUA)

光线投射会让世界怪异地弯曲。PICO-8(LUA)
EN

Stack Overflow用户
提问于 2021-01-12 21:03:14
回答 1查看 98关注 0票数 0

我试图用pico-8 (这是一个有很多限制的2d引擎)制作一个类似wolfenstein3d的游戏,结果世界变得非常怪异。

Gif of running around

我的代码:(警告LUA!令人困惑的语言。从1开始计数...!)

代码语言:javascript
复制
function ray_cast()
  points = {}
  for i=1,64 do
    points[i] = -1
  end


  for o = -31,32 do
    local angle = player.lvec - o/256
    
    
    for i=0,96 do
      local x,y
      x = i * cos(angle)
      y = i * sin(angle)
    
      if mget((x+player.x)/8,(y+player.y)/8) == 1 then
            
        local tx = i-1 * cos(angle)
        local ty = i-1 * sin(angle)
            
        local dis = sqrt((tx^2+ty^2)) 
            
        points[o+32] = dis*cos(angle-player.lvec)
        break
      end
    end
  end
end

我在PICO-8冲突中寻求帮助,有人说他们可以帮助我,但经过大量的消息传递,仍然没有得到我想要的解决方案。

编辑:新的GIF Distortion of things

EN

回答 1

Stack Overflow用户

发布于 2021-01-12 23:14:37

我不知道Lua的语言,但是我理解光线投射的基础知识。在我看来,问题可能是FOV尺寸太大或角度不固定(当大于360度/2pi弧度时减去360度/2pi弧度,或者当低于0时添加360度/2pi弧度)。如果你不“修复”角度,你可能会得到不正确的光线命中位置,甚至在某些情况下,会使GUI崩溃。如果你有一个大的FOV,世界将看起来是扭曲的。

64度的FOV:

128度的FOV:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65684526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档