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

扫一扫,访问微社区

问答求助

关注:473

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

_____________________________________________________________________________________________________________
问答求助版块规则:

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

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

[复制链接]  [移动端链接]
排名
20612
昨日变化
12

1

主题

5

帖子

35

积分

Rank: 1

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

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


回复

使用道具 举报

排名
32192
昨日变化
22

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.射线每击中地面,则判定为坠崖。

回复

使用道具 举报

3偶尔光临
224/300
排名
9631
昨日变化
108

0

主题

78

帖子

224

积分

Rank: 3Rank: 3Rank: 3

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

回复

使用道具 举报

5熟悉之中
825/1000
排名
3413
昨日变化
21

3

主题

226

帖子

825

积分

Rank: 5Rank: 5

UID
159631
好友
1
蛮牛币
1248
威望
0
注册时间
2016-7-30
在线时间
262 小时
最后登录
2017-10-23

迈向小康

发表于 2017-9-30 09:21:44 | 显示全部楼层
不能通过物理引擎 重力施压向下 水平动力向前 这样让角色处于地面上,或者如果怕坡度过高,可以调整坡面的凹凸程度
[发帖际遇]: oxford561 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
1580/5000
排名
1961
昨日变化
1

11

主题

350

帖子

1580

积分

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

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

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

使用道具 举报

7日久生情
1820/5000
排名
1644
昨日变化
7

8

主题

673

帖子

1820

积分

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

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

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

回复

使用道具 举报

排名
20612
昨日变化
12

1

主题

5

帖子

35

积分

Rank: 1

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

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

回复

使用道具 举报

3偶尔光临
200/300
排名
7700
昨日变化
7

0

主题

44

帖子

200

积分

Rank: 3Rank: 3Rank: 3

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

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

回复

使用道具 举报

2初来乍到
139/150
排名
14891
昨日变化
2

0

主题

77

帖子

139

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

5熟悉之中
753/1000
排名
2335
昨日变化
9

0

主题

54

帖子

753

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

排名
32192
昨日变化
22

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,一旦角色处于坠落时射线击中地面,就切换为移动,当角色在移动的时候,判断如果射线未击中地面,则表示当前悬空了,坠崖。模拟的物理效果很简单,角色起跳随着时间重力会把跳跃速度慢慢降下来,而坠落时会越来越快。

回复

使用道具 举报

排名
20612
昨日变化
12

1

主题

5

帖子

35

积分

Rank: 1

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

非常感谢

回复

使用道具 举报

6蛮牛粉丝
1382/1500
排名
1558
昨日变化
1

27

主题

330

帖子

1382

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

排名
20612
昨日变化
12

1

主题

5

帖子

35

积分

Rank: 1

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

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

回复

使用道具 举报

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

本版积分规则

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