【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 2582|回复: 0

2D游戏中 地形高度的计算

[复制链接]
发表于 2012-11-26 14:32:41 | 显示全部楼层 |阅读模式
本帖最后由 夜行的猫仔 于 2012-11-26 14:36 编辑

在3D游戏中,地形都是由高度图来计算得到的,因此,3D游戏中坐标高度是非常好获取的。但是今天一个网游提出在2D游戏中如何获取地形的问题,发现资料还真的很少。所以就在这里提出一种解决办法。

如下图所示,横版2D游戏确实存在着“地形”的概念,怎么获取呢?可以请美工再建一张图,这张图专门用一种颜色记录地形(如图所示)。
map.jpg
当我们需要获取某一个X轴上地形高度的时候,根据屏幕上的x坐标判断当前点地形图片的颜色是黑色像素的坐标。假如我们采用微软坐标系,即屏幕的左上角位(0,0)点,那么想知道x=100位置的高度,那就去从(x=100,y=0)这个点开始y逐步增加,直到(x,y)某一点的颜色值是黑色的时候,那就表示这个坐标的y值就是地形的高。例如:x=100,y=453的像素是白色,而x=100,y=454的像素是黑色,那么就可以知道x=100这个点的地形高度是y=453。
当然这个操作如果每一帧都去计算的话就显得太2了,在地图载入的初期就可以写一个数组,一次性计算好高度并保存在这个数组中。以后每次需要获取高度的时候直接去获取相应数组的值就可以了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-5-6 19:40

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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