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