水平的平台可以用 OneWayCollision 实现,但是垂直的墙和斜坡该怎么实现?
1
289396212 68 天前
还真的有人用 Godot
|
2
0312birdzhang 68 天前
问问 chatgpt ?
|
3
sjhhjx0122 68 天前
试试用 test_move?
|
4
professionaler OP @0312birdzhang chagpt 的 gotdot 数据太少,给的都是错误答案
|
6
mon6912640 68 天前
@289396212 #1 土豆兄弟玩过不?就是用 Godot 搞的
|
7
fgwmlhdkkkw 68 天前
RayCast2D 行吗
|
8
fgodt 68 天前
把水平平台旋转下不就垂直和斜坡了么
|
9
dacoco 68 天前
试试检测物体 A 对墙 B 的速度方向?
|
10
kiolygenius 68 天前
为了逃离 Unity 做准备
|
11
coidx 68 天前
可以看看 move_and_slide ,并参考一下官方示例吧 https://github.com/godotengine/godot-demo-projects/tree/master/2d/kinematic_character
|
12
ccpp132 68 天前
不能从这一侧打开是吧 233
一般如果游戏物理检测是自己实现的话,可以在碰撞检测的时候按你的运动方向来关掉一些平台的碰撞,比如往左走时就把允许从右往左通过的门的碰撞检测关掉。 |
13
moooooooo 68 天前
射线啊
|
14
LaTero 68 天前 via Android
Godot 的物理烂得很,有现成的 box2d 和 physyx 不用非要自己搞一个。自己用 shapecast 搞吧,不过 godot 的 shapecast 也难用得很。另外用 shape cast 来移动记得要留一点 skin width ,要不然会因为浮点精度穿墙。
|
15
p1gd0g 68 天前
难得见到讨论 godot ,可惜我在上班
|
16
hanaTsuk1 68 天前
去 godot 的贴吧找找吧 发个帖有吧主解答的
|
17
marukosoft 68 天前
我之前写过,跳跃的时候把角色碰撞层关闭,下落时再打开就行,碰撞层在脚上画一层薄薄的就行
|
18
marukosoft 68 天前
@marukosoft #17 不好意思,没看到斜坡和垂直的墙
|
19
dyexlzc 68 天前
平面加个 area ,角色进入的时候方便调整碰撞是否生效。
角色速度和你的平面法线夹角西小于 90 度就允许通过,大于等于 90 度就 block 吧 |
20
professionaler OP @coidx 好的我瞅瞅
|