游戏开发论坛

 找回密码
 立即注册
搜索
楼主: sjinny

关于物体的移动

[复制链接]

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2003-11-15 22:36:00 | 显示全部楼层

Re:关于物体的移动

是啊,在离高速物体很近时的确不用渲染,但是还得计算碰撞啊~~
比如高速运动的两架飞机,怎么判断是否在空中相撞?
对于CS中的子弹,因为人物相对于子弹来说,人物的速度太慢,可以忽略,所以相对于子弹来说,人物可以看做静止的,那么就可以检测子弹弹道是否和人物模型相交,从而检测碰撞情况。
但是,两架超音速的飞机,他们的速度都很快,相对速度也很快(我指正对相撞的过程中),所以不能把任何一架飞机近似地看做静止的再用另一架的轨迹去检测是否相交,更何况,任何一架飞机的运动轨迹都不一定是直线,而且往往轨迹还是不确定的,所以处理CS子弹的方法不适用于飞机相撞的过程。

我现在想到,如果是选取若干个瞬间检测包围球是否相交,那么对于高速物体是必要要出错的;也许能这样:
一般来说,两次检测的时间间隔即使再大,虽然对于高速物体而言时间很长了,但是对于玩家来说却还是一个很短的时间,所以,每次检测的时候,都可以根据飞机当前的状态信息,计算出一个临时轨迹,然后对所有飞机的临时轨迹综合分析,在考虑时间因素的前提下,计算是否会有碰撞,并且计算相撞时间,如果这个时间为0或者为负数或者非常短,短到在下一帧渲染出来之前(或者是在下一次碰撞检测之前)就发生碰撞,那么就可以认为用户或AI来不及改变飞机的运动轨迹就会发生碰撞,那么就认为发生了碰撞,并且在下一帧中表现出来,当然服务器端也要有相应的处理~~

2

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2003-11-17 13:31:00 | 显示全部楼层

Re:关于物体的移动

越看越晕。
你的渲染是超前于碰撞的?
你的处理有问题。
就象你自己说的,无论速度有多快,该碰的还是得碰。
卡机你明白吗?渲染是绝对低级的,它不可能超前于碰撞检测。
所以会有卡得不知道怎么挂的现象。
这个就是快得看不清,或者就是看不到,但是,碰撞确确实实发生了。

13

主题

145

帖子

149

积分

注册会员

Rank: 2

积分
149
发表于 2003-11-17 14:03:00 | 显示全部楼层

Re:关于物体的移动

碰撞检测在服务器做?一个服务器2000人,每人每秒碰撞检测30次,一个场景10万个顶点。你的服务器受的了吗?

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2003-11-17 14:57:00 | 显示全部楼层

Re:关于物体的移动

碰撞不可能放在服务器做的。
服务器最多就是对碰撞结果做效验。

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2003-11-17 22:16:00 | 显示全部楼层

Re:关于物体的移动

tarkey,你还没对我的碰撞检测方案发表意见呐~~ ;-)
大疯,我想的是,更新物体状态有两个作用:渲染出来给用户看,检测到物体间的交互用以维护游戏逻辑;所以我想在每次渲染之前进行检测,并且维护游戏逻辑~
ChenA,并不是把碰撞检测的所有工作都放到服务器上,而是每个客户端都自己进行碰撞检测,如果没有发生碰撞,那么就不会和服务器罗嗦什么,但是一旦发现了碰撞,那么就会提醒服务器进行碰撞检测或碰撞检测的验证~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-21 15:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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