游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6264|回复: 13

实在搞不出,求助大家,人物沿地面移动

[复制链接]

2

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2008-8-10 21:35:00 | 显示全部楼层 |阅读模式
    本来以为可以搞定呢,结果无果,特来求助,问题如下:

    我创建了一个场景和一个人物,这个场景不是terrain这类的,而是通过许多个Entity拼接创建的(就是用oFusion导出的场景),现在问题也来了——人物无法贴着“地面”行走。因为通过从人物发出的射线,遇到的“地面”其实不是 worldFragment,而是 movableObject,所以没有射线与其相交的那个点的坐标。而这个 movableobject 是一个很大的凸凹不平的Entity,因此获取他的AABox没啥用,这也就是问题的所在——如何能获取射线与Entity精确的相交点坐标,而不是与该Entity的包装盒的交点坐标,就像射线与terrain地形能获取精确的交点一样呢?

    在这之前我搜了论坛里一些前辈的言论,有说用OgreOde的,恕我愚笨,8月8号开始3天假期一直在搞,但似乎和我的简单要求不靠边,我只需要获取从人发出的射线与脚下的Entity相交点的精确坐标即可,不需要那么复杂的物理系统。后来又看到了OgreNewt,看介绍(感谢 糖块 的翻译文档,帖子地址:http://bbs.gameres.com/showthread.asp?threadid=88684),这里的TREE COLLISIONS 貌似比较符合我的要求,不过还是那句话,我真的需要这么复杂的系统吗?

    希望有想法的朋友能发表意见或解决方法,相信这个问题也可能是许多Ogre新手的问题,谢谢。 [em1]

ps:其实也不一定必须要 获取射线与脚下的Entity相交点的精确坐标,如果能有很方便的方法,在现有的“地形”基础上建立一个terrain,这样也可以的。

7

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2008-8-11 10:38:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

我也在搞这个,也是同样的问题.加我的QQ:674845475  一起研究.好象是一定要用,物理引擎了.所以我在研究ogrenewt.

0

主题

48

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2008-8-11 10:47:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

我晕,如果只是轻量级的应用,用OgreOpcode足够了,将场景的实体加入碰撞环境,再根据人物的规格创建一个椭球体,做椭球体碰撞检测,就可以完美实现人物在场景中的漫游,没必要使用庞大的物理引擎.

2

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2008-8-11 13:03:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

多谢楼上各位,我也知道了opcode,打算就用它了。

31

主题

278

帖子

298

积分

中级会员

Rank: 3Rank: 3

积分
298
发表于 2008-8-11 13:55:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

做一个不可视的碰撞面,可以减少很多OgreOpcode碰撞,提高效率

0

主题

48

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2008-8-11 18:01:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

对,如果显示模型过于复杂,就可以做一套对应的简单碰撞模型,多占一些内存,但碰撞效率会提高很多

18

主题

211

帖子

419

积分

中级会员

Rank: 3Rank: 3

积分
419
发表于 2008-8-11 19:55:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

以后改用OPCODE了!!!

2

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2008-8-11 21:39:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

to小神:我的“地形”很复杂,不知你说的“一个不可视的碰撞面”是啥。。。
to WJBeckie:多谢,目前还不知道你说的是什么,等我看过了opcode再来请教

2

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2008-8-12 10:28:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

WJBeckie,可以简单的讲解一下如何使用opcode吗?
目前我的理解是把“地形”的多个Entity加入的CollisionContext中,然后用一个Ray去Check,得到一系列的3d坐标,是这样吗?

0

主题

48

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2008-8-12 19:24:00 | 显示全部楼层

Re:实在搞不出,求助大家,人物沿地面移动

你的理解没错,不过如果人物行走用射线检测的话,效率会比较低下,要达到应用级别,胶囊或椭球体碰撞是比较高效的.
你也可以去这里看看,有OgreOpcode的基本应用示例
http://www.azure.com.cn/article.asp?id=347
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 16:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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