游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3061|回复: 6

怎么判断地形高度

[复制链接]

42

主题

137

帖子

137

积分

注册会员

Rank: 2

积分
137
发表于 2007-8-19 11:46:00 | 显示全部楼层 |阅读模式
高度图的高度点不是紧密排列的,是间隔分布,那么人物走到4个高度点的中间的位置时怎样计算该点的高度呢?平均吗?看到有一篇文章说是向主角脚下执行光线查询,与地形有一个交点,根据交点的高度调整主角位置,这太费劲了吧。

7

主题

57

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2007-8-19 14:25:00 | 显示全部楼层

Re:怎么判断地形高度

看你要多精确了,
不要很精确平均就可以了,效果也还不错

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-8-19 17:34:00 | 显示全部楼层

Re:怎么判断地形高度

那一条垂直的射线和面求交点,DX有相关函数的

不过实际运用要做些优化

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-8-19 20:37:00 | 显示全部楼层

Re: 怎么判断地形高度

也可以说是均匀的,作一个线性插值就可以了,很简单

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
发表于 2007-8-19 22:58:00 | 显示全部楼层

Re:怎么判断地形高度

首先,人物所在位置的X,Z值应该是知道的吧?  需要求Y值
设a, b, c是人物所在三角形的三个顶点, 根据三角形的几何知识可知:

(X - Xb) / (Xa - Xb) = (Z - Zb) / (Za - Zb) = (Y - Yb) / (Ya - Yb)

上述等式中,只有Y是未知量, 求出来即可

42

主题

137

帖子

137

积分

注册会员

Rank: 2

积分
137
 楼主| 发表于 2007-8-20 21:01:00 | 显示全部楼层

Re:怎么判断地形高度

上面的式子好象有问题

1

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2007-8-21 11:40:00 | 显示全部楼层

Re:怎么判断地形高度

我曾经自己试过3种方法,从效果来说,从差到好依次为:

取所在面的3个点或者4个点的高度值取算术平均值,当网格间距很大的时候,基本就象是在上楼梯;

利用三角形比例关系并且根据物体vlook向量与世界坐标系中x轴正方向的夹角,求出当前所在高度,属于线性插值,效果勉强可以,但在地形落差比较大的时候,物体过于抖动...

利用所在三角形面以及当前x,z坐标,求出重心坐标u,v,再利用重心公式求出高度,个人理解为面性插值,效果非常好,物体运动非常平滑,没有抖动现象

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 09:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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