相关疑难解决方法(0)

画布中的Mode7式透视变换?

我正在制作一个基于画布的游戏引擎,我想知道是否有人有关于如何实现俯视视角的任何好信息.我正在寻找的是传统鸟瞰图和旧SNES mode7视图之间的某个地方.只是一个微小的角度来给出3D的幻觉.

我正在试图弄清楚什么是处理视角偏斜的最佳方法.我不是在做旋转,所以3D矩阵的东西会过分,但我需要能够以一致的角度处理渲染地图图层,如果角度可调,那就太好了.我还需要处理深度扭曲.基本上,底行像素应该是1:1的像素宽度和高度,然后对于它所获得的每一行,例如,小5%或类似的东西.我想要的是能够提供一个大画布作为纹理,然后提供0到90之间的摄像机角度,其中0是完全水平的,90是鸟瞰图.

任何人有任何相关的教程或示例代码?我在网上搜索了一下,但我发现的一切似乎都不适合在这个特定的应用程序中使用或过于复杂,做各种疯狂的3D倾斜和旋转的东西.我想要的只是采用普通的平铺网格,稍微向后倾斜,没有旋转或复杂的东西.

这是我想要的一个例子; 这是一个例子.http://img801.imageshack.us/img801/2176/perspectivesample.jpg

底部像素行的像素比为1:1,并且上面的每一行在水平和垂直方向上逐渐变短.顶部中心区域的源纹理通常约为底部中心区域的高度的一半,但是它已经垂直和水平收缩以适合透视.

我认为最好的方法是将当前视口状态渲染到另一个平面鸟瞰图中,顶部和侧面有大约50%的额外空间,然后从中切出一个上部三角形区域并将其绘制到实际可见的画布.

唯一的问题是,在计算角度等时,我很擅长数学.

javascript html5 canvas perspective

14
推荐指数
2
解决办法
8478
查看次数

标签 统计

canvas ×1

html5 ×1

javascript ×1

perspective ×1