游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9638|回复: 11

魔兽世界的碰撞检查原来是这样的.

[复制链接]

4

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2006-11-18 13:49:00 | 显示全部楼层 |阅读模式
魔兽世界的碰撞检测,是根据其模型自带的简化的网格来判断的.以下截图实现基于m2模型自带的简化模型网格的碰撞检测.
sf_2006111813491.jpg

4

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2006-11-18 13:51:00 | 显示全部楼层

Re: 魔兽世界的碰撞检查原来是这样的.

这是全屏幕 测试.速度还可以.
sf_20061118135046.jpg

6

主题

60

帖子

80

积分

注册会员

Rank: 2

积分
80
发表于 2006-11-18 14:07:00 | 显示全部楼层

Re: 魔兽世界的碰撞检查原来是这样的.

不太明白
自?Ш?化?格?

3

主题

35

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2006-11-19 13:19:00 | 显示全部楼层

Re:魔兽世界的碰撞检查原来是这样的.

我理解是这样:角色的主体模型,也就是可见网格是可见的,任何动作互动的,主体模型——可见网格上面有一个“副本”,就是上面提到的自带简化网格,该网格是不可见的,作用是用于碰撞检测,跟随主题模型一同运动。该网格和对方的同类网格,在战斗等方面计算碰撞检测。这可能是优化计算的方法。

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-11-19 15:38:00 | 显示全部楼层

Re:魔兽世界的碰撞检查原来是这样的.

wow确实是这样做的,而且碰撞检测还是客户端做的,服务器的玩家坐标是客户端同步上去的,因此虽然保证了速度,但是却让外挂能作出加速,穿门这样的事情。

9

主题

99

帖子

124

积分

注册会员

Rank: 2

积分
124
QQ
发表于 2006-11-20 09:55:00 | 显示全部楼层

Re:魔兽世界的碰撞检查原来是这样的.

魔兽的客户端碰撞检测和其他采用box碰撞的3D网络游戏没有任何不同
唯一不同的是魔兽服务端并不检测碰撞,也不和客户端验证碰撞
魔兽甚至没有自动寻径,这就节约了大量的服务器资源
而其他3D游戏一般都是在服务端进行了验证,并且两边同时寻径对比
计算Z轴的碰撞和寻径,是3D游戏服务端的主要压力之一
魔兽回避了这一问题,但是后果就是技术上无法限制瞬移和加速外挂
不过它采用了异常位移/动作log记录的手段来查找这一问题,并且严厉的封杀

2

主题

9

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2006-11-20 10:06:00 | 显示全部楼层

Re:魔兽世界的碰撞检查原来是这样的.

wow的服务器也需要检测碰撞的,因为出了玩家的移动之外,还有npc的移动和寻路,这个只能在服务器端做

20

主题

94

帖子

103

积分

注册会员

Rank: 2

积分
103
发表于 2006-11-20 13:13:00 | 显示全部楼层

Re:魔兽世界的碰撞检查原来是这样的.

魔兽世界的碰撞检测却是是在客户端进行的,甚至有些玩家修改了某些建筑模型方便自己进出.

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2006-11-20 18:11:00 | 显示全部楼层

Re: Re:魔兽世界的碰撞检查原来是这样的.

holimion: Re:魔兽世界的碰撞检查原来是这样的.

wow的服务器也需要检测碰撞的,因为出了玩家的移动之外,还有npc的移动和寻路,这个只能在服务器端做


服务器端的碰撞检测异常简单,所以经常有怪可以过但你过不了的障碍

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2006-11-20 22:54:00 | 显示全部楼层

Re: 魔兽世界的碰撞检查原来是这样的.

魔兽世界 服务器端 肯定是有寻路的

室外通过碰撞检查 来寻路,不过服务端碰撞检查精度没有客户端高 应该是通过heightMap 以及 部分人为设置的pathNode达到xy以及z轴的检测
部分人为设置的pathNode 一般分布在室内与室外结合处 以及 室外建筑物

室内通过设置 pathnode 来寻路

pathnode可以无视z轴

大家如果做过mod的化 应该知道 pathnode应该是3d下寻路的最佳方案

传统的基于tile的碰撞检测 寻路也可以很容易转换到pathnode寻路
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 23:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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