Game Engines
› Unreal Engine
› MyCryENGINE
professionaler

Godot 2d 游戏如何实现单边碰撞的墙和平台

  •  
  •   professionaler · Sep 5, 2024 · 4900 views
    This topic created in 788 days ago, the information mentioned may be changed or developed.

    https://stackoverflow.com/questions/78946683/godot-how-to-implement-one-way-collision-for-walls-from-left-or-right-side

    水平的平台可以用 OneWayCollision 实现,但是垂直的墙和斜坡该怎么实现?

    20 replies  •  2024-09-05 21:01:55 +08:00
    289396212
    289396212
    Sep 5, 2024
    1
    还真的有人用 Godot
    1daydayde
    1daydayde
    Sep 5, 2024
    2
    问问 chatgpt ?
    linkopeneyes
    linkopeneyes
    Sep 5, 2024
    3
    试试用 test_move?
    professionaler
    professionaler
    OP
    Sep 5, 2024
    4
    @0312birdzhang chagpt 的 gotdot 数据太少,给的都是错误答案
    zuosiruan
    zuosiruan
    Sep 5, 2024 via iPhone
    5
    @289396212 估计早就 自己写写 demo
    mon6912640
    mon6912640
    Sep 5, 2024
    6
    @289396212 #1 土豆兄弟玩过不?就是用 Godot 搞的
    fgwmlhdkkkw
    fgwmlhdkkkw
    Sep 5, 2024
    7
    RayCast2D 行吗
    fgodt
    fgodt
    Sep 5, 2024
    8
    把水平平台旋转下不就垂直和斜坡了么
    dacoco
    dacoco
    Sep 5, 2024
    9
    试试检测物体 A 对墙 B 的速度方向?
    kiolygenius
    kiolygenius
    Sep 5, 2024
    10
    为了逃离 Unity 做准备
    coidx
    coidx
    Sep 5, 2024
    11
    可以看看 move_and_slide ,并参考一下官方示例吧 https://github.com/godotengine/godot-demo-projects/tree/master/2d/kinematic_character
    ccpp132
    ccpp132
    Sep 5, 2024
    12
    不能从这一侧打开是吧 233

    一般如果游戏物理检测是自己实现的话,可以在碰撞检测的时候按你的运动方向来关掉一些平台的碰撞,比如往左走时就把允许从右往左通过的门的碰撞检测关掉。
    moooooooo
    moooooooo
    Sep 5, 2024
    13
    射线啊
    LaTero
    LaTero
    Sep 5, 2024 via Android
    14
    Godot 的物理烂得很,有现成的 box2d 和 physyx 不用非要自己搞一个。自己用 shapecast 搞吧,不过 godot 的 shapecast 也难用得很。另外用 shape cast 来移动记得要留一点 skin width ,要不然会因为浮点精度穿墙。
    p1gd0g
    p1gd0g
    Sep 5, 2024
    15
    难得见到讨论 godot ,可惜我在上班
    hanaTsuk1
    hanaTsuk1
    Sep 5, 2024
    16
    去 godot 的贴吧找找吧 发个帖有吧主解答的
    marukosoft
    marukosoft
    Sep 5, 2024
    17
    我之前写过,跳跃的时候把角色碰撞层关闭,下落时再打开就行,碰撞层在脚上画一层薄薄的就行
    marukosoft
    marukosoft
    Sep 5, 2024
    18
    @marukosoft #17 不好意思,没看到斜坡和垂直的墙
    dyexlzc
    dyexlzc
    Sep 5, 2024
    19
    平面加个 area ,角色进入的时候方便调整碰撞是否生效。
    角色速度和你的平面法线夹角西小于 90 度就允许通过,大于等于 90 度就 block 吧
    professionaler
    professionaler
    OP
    Sep 5, 2024
    20
    @coidx 好的我瞅瞅
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3897 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 01:01 · PVG 09:01 · LAX 17:01 · JFK 20:01
    ♥ Do have faith in what you're doing.