开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:517

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 945|回复: 14

[基本操作] 横版2d游戏人物控制爬坡的问题

[复制链接]  [移动端链接]
排名
21738
昨日变化
16

2

主题

6

帖子

42

积分

Rank: 1

UID
241412
好友
0
蛮牛币
62
威望
0
注册时间
2017-9-6
在线时间
18 小时
最后登录
2018-2-24
发表于 2017-9-29 22:57:23 | 显示全部楼层 |阅读模式
20蛮牛币
在人物爬坡的时候我用到的是利用人物移动的方向与坡的斜率进行计算速度矢量。通过碰撞来获取到坡体对象的。但是现在存在问题,人物在登顶的时候,人物会直接按抛物体飞出去,这一点想不到好的办法来解决。
同样的,从平台下坡的时候如果速度过快,可能会因为没有检测到坡面,直接平抛出去。
A)])OB_JP1I]BWWOPU(DR%H.png

我想让人物总是固定在地面上,不会飞出去,应该用什么办法来实现。


回复

使用道具 举报

排名
35798
昨日变化
14

0

主题

7

帖子

32

积分

Rank: 1

UID
67396
好友
0
蛮牛币
68
威望
0
注册时间
2015-1-10
在线时间
19 小时
最后登录
2017-10-10
发表于 2017-9-29 22:57:24 | 显示全部楼层
看来没什么人做2D游戏啊。。。。我说下之前我做2D游戏的解决方法(太久远,记不太清了,只能写大概想法):
1.在人物脚底下放置一个向下的射线
2.击中地面获得一个击中点。人物在地面上行走,不依靠物理,靠这个点来计算。
3.如果击中点偏上或偏下,可以在直接修正,这样人每帧移动过程中会自行修正高度,爬坡或下坡都没问题。
4.坡度尽量不要太夸张
5.射线每击中地面,则判定为坠崖。

回复

使用道具 举报

5熟悉之中
875/1000
排名
3533
昨日变化
14

0

主题

194

帖子

875

积分

Rank: 5Rank: 5

UID
224429
好友
0
蛮牛币
507
威望
0
注册时间
2017-5-31
在线时间
321 小时
最后登录
2018-4-26
发表于 2017-9-30 08:34:48 | 显示全部楼层
加个限制射线检测地面吧。。。

回复

使用道具 举报

6蛮牛粉丝
1360/1500
排名
2005
昨日变化
4

3

主题

346

帖子

1360

积分

Rank: 6Rank: 6Rank: 6

UID
159631
好友
1
蛮牛币
2966
威望
0
注册时间
2016-7-30
在线时间
409 小时
最后登录
2018-4-26
发表于 2017-9-30 09:21:44 | 显示全部楼层
不能通过物理引擎 重力施压向下 水平动力向前 这样让角色处于地面上,或者如果怕坡度过高,可以调整坡面的凹凸程度
[发帖际遇]: oxford561 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
1994/5000
排名
1448
昨日变化
7

12

主题

403

帖子

1994

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
148830
好友
4
蛮牛币
3731
威望
0
注册时间
2016-5-17
在线时间
809 小时
最后登录
2018-4-26
发表于 2017-9-30 09:47:22 | 显示全部楼层
相信Rigidbody可以解决你的问题

我一个人走走停停冷暖自知自始自终自给
回复

使用道具 举报

排名
1120
昨日变化
3

13

主题

977

帖子

2623

积分

Rank: 9Rank: 9Rank: 9

UID
68430
好友
7
蛮牛币
9340
威望
0
注册时间
2015-1-14
在线时间
697 小时
最后登录
2018-4-26
发表于 2017-9-30 10:07:03 | 显示全部楼层
不用物理引擎,自己写射线判断·~~

另外这样子也能保证网络游戏话,的同步问题~~因为都是你自己写的计算~~~
[发帖际遇]: 绝世love情缘 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

排名
21738
昨日变化
16

2

主题

6

帖子

42

积分

Rank: 1

UID
241412
好友
0
蛮牛币
62
威望
0
注册时间
2017-9-6
在线时间
18 小时
最后登录
2018-2-24
 楼主| 发表于 2017-10-1 00:07:36 | 显示全部楼层
tcrzxp 发表于 2017-9-30 09:51
看来没什么人做2D游戏啊。。。。我说下之前我做2D游戏的解决方法(太久远,记不太清了,只能写大概想法): ...

这样也就是得关闭物理系统,自己来模拟物理系统了么?
[发帖际遇]: 一个袋子砸在了 枯藤昏鸦 头上,枯藤昏鸦 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

4四处流浪
461/500
排名
4305
昨日变化
24

0

主题

58

帖子

461

积分

Rank: 4

UID
11448
好友
0
蛮牛币
718
威望
0
注册时间
2013-12-30
在线时间
113 小时
最后登录
2018-4-26
发表于 2017-10-9 09:59:03 | 显示全部楼层

加个限制射线检测地面吧。。。

回复

使用道具 举报

3偶尔光临
155/300
排名
13995
昨日变化
9

0

主题

78

帖子

155

积分

Rank: 3Rank: 3Rank: 3

UID
243160
好友
0
蛮牛币
319
威望
0
注册时间
2017-9-13
在线时间
29 小时
最后登录
2017-11-14
发表于 2017-10-9 10:11:40 | 显示全部楼层
围观一下

回复

使用道具 举报

6蛮牛粉丝
1017/1500
排名
1751
昨日变化
11

0

主题

65

帖子

1017

积分

Rank: 6Rank: 6Rank: 6

UID
113772
好友
0
蛮牛币
3217
威望
0
注册时间
2015-7-15
在线时间
285 小时
最后登录
2018-4-26
QQ
发表于 2017-10-9 10:54:32 | 显示全部楼层
坡度不要太大了,自己写射线判断高度

回复

使用道具 举报

排名
35798
昨日变化
14

0

主题

7

帖子

32

积分

Rank: 1

UID
67396
好友
0
蛮牛币
68
威望
0
注册时间
2015-1-10
在线时间
19 小时
最后登录
2017-10-10
发表于 2017-10-10 14:33:44 | 显示全部楼层
枯藤昏鸦 发表于 2017-10-1 00:07
这样也就是得关闭物理系统,自己来模拟物理系统了么?

是的,我之前做的时候,一开始是用unity的物理系统做的,但是过程中出现了很多问题,比如抖动、爬坡。于是后来我就模拟了简单的物理系统,给人物定制一个状态枚举,比如奔跑、跳跃、坠落等,在不同的情况下去使用模拟的物理效果,而判断人物状态切换,用的是射线。在人物脚下放一条向下的射线(一定长度,具体多长根据项目调试出来),把地形的layer设置为ground,一旦角色处于坠落时射线击中地面,就切换为移动,当角色在移动的时候,判断如果射线未击中地面,则表示当前悬空了,坠崖。模拟的物理效果很简单,角色起跳随着时间重力会把跳跃速度慢慢降下来,而坠落时会越来越快。

回复

使用道具 举报

排名
21738
昨日变化
16

2

主题

6

帖子

42

积分

Rank: 1

UID
241412
好友
0
蛮牛币
62
威望
0
注册时间
2017-9-6
在线时间
18 小时
最后登录
2018-2-24
 楼主| 发表于 2017-10-11 18:54:50 | 显示全部楼层
tcrzxp 发表于 2017-10-10 14:33
是的,我之前做的时候,一开始是用unity的物理系统做的,但是过程中出现了很多问题,比如抖动、爬坡。于 ...

非常感谢

回复

使用道具 举报

7日久生情
1633/5000
排名
1378
昨日变化
1

29

主题

373

帖子

1633

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
89788
好友
1
蛮牛币
3266
威望
0
注册时间
2015-4-7
在线时间
435 小时
最后登录
2018-4-18
发表于 2017-10-13 08:43:40 | 显示全部楼层
射线检测地面的这做法我还是刚听说,马上去试试!!

回复

使用道具 举报

排名
21738
昨日变化
16

2

主题

6

帖子

42

积分

Rank: 1

UID
241412
好友
0
蛮牛币
62
威望
0
注册时间
2017-9-6
在线时间
18 小时
最后登录
2018-2-24
 楼主| 发表于 2017-10-16 12:32:15 | 显示全部楼层
被游戏打的佑子 发表于 2017-10-13 08:43
射线检测地面的这做法我还是刚听说,马上去试试!!

我试了之后整个系统起飞咯

回复

使用道具 举报

排名
25998
昨日变化
13

0

主题

1

帖子

19

积分

Rank: 1

UID
256492
好友
0
蛮牛币
33
威望
0
注册时间
2017-11-27
在线时间
6 小时
最后登录
2018-4-20
发表于 2018-1-30 18:36:27 | 显示全部楼层
我是用3d做横版游戏 但是发现跳跃这里出现了很大的问题 isground在上坡的时候无法判断为true 楼主有办法的话告诉我一下 谢谢
[发帖际遇]: DarkSouls 乐于助人,奖励 2 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表