游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2512|回复: 8

物理检测中的地形问题.

[复制链接]

15

主题

202

帖子

207

积分

中级会员

Rank: 3Rank: 3

积分
207
QQ
发表于 2007-6-24 14:41:00 | 显示全部楼层 |阅读模式
在场景物理检测中需不需要把地形也当做一个Actor来处理.
如果这样,无疑会增加非常之多的运算量.
如果不这样,又有什么策略可以解决Object与Terrain之间的刚体\形状处理呢?

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2007-6-24 18:14:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-6-25 11:28:00 | 显示全部楼层

Re:物理检测中的地形问题.

角色用AABB盒子包围就好(毕竟效率第一),只需要检测角色所在地形块中的Block里面的三角形与AABB盒子碰撞,一个block的大小通常是33x33也只有32x32x2=2048个三角形.
我做过actor与场景对象之间的碰撞,并没做过角色与地形之间的碰撞.

我想还有一个方法,就是角色所在的地形三角形的坡度一旦大于60(多少自己设)就不让它继续前进了

初步想法,希望能抛转引玉

8

主题

390

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2007-6-25 17:20:00 | 显示全部楼层

Re:物理检测中的地形问题.

地形的特征是:连续(如果有挖坑,也是被其他建筑填补),既然连续,那我们可以已2维数组存储高度信息。地形x,z,取整数,高度为float。如float pageHeight[513][513],这样查找非常快。对于斜坡,至于查询3个点,求法线,判断法线y值大小,就可知道地面倾斜度,做是否可以攀登判断。

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-6-25 18:46:00 | 显示全部楼层

Re:物理检测中的地形问题.

用法线和y轴夹角来判断坡度是个好办法,但如果有个小土包法线和y轴夹角刚好大于阀值那不是越不过去了?
可能我的想法也不周全。

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2007-6-25 19:46:00 | 显示全部楼层

Re:物理检测中的地形问题.

这样做是不周全的,如果有桥怎么办,单纯的二维数组是考虑不够周全的做法.
正确的做法是纪录角色的footstep,角色的下一个footstep往地面打一根footstep运动的曲线,看是否碰撞,然后根据碰撞点和当前footstep的高度差来判断是否可以攀越.

这个跟animation结合得比较紧,有一部分nextgen的console游戏甚至是用实时IK来进行计算的.

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-6-25 21:07:00 | 显示全部楼层

Re:物理检测中的地形问题.

footstep? 楼上道友,不错不错,赞一个
看来真是抛出的“砖”引来“玉”了。

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2007-6-25 22:22:00 | 显示全部楼层

Re:物理检测中的地形问题.

另外一个比较有意思的话题就是如何检测footstep,这个问题我最近也有在研究,通过对100+人物行走动画的采样和研究,基本上footstep的确定可以通过检测LeftToe_Base和RightToe_Base这两块骨头,当动画曲线碰到一个concave up和concave down的inflection point时,基本上就是一个footstep,尝试过用这个方法来做footstep的sound,效果还不错.

15

主题

202

帖子

207

积分

中级会员

Rank: 3Rank: 3

积分
207
QQ
 楼主| 发表于 2007-6-26 13:46:00 | 显示全部楼层

Re:物理检测中的地形问题.

footstep?有意思,我想办法试试.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 00:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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