我想制造一种幻想,即一个人正在漫长的道路上奔跑,即这张照片
http://camlinecambridgelimited.web.officelive.com/images/road%20graphic1.jpg
如果您在iPhone上玩过《神庙逃亡》,这是相同的原理,但不是神庙,而是正常道路。
我想知道这是如何实现的。例如,我是否只是循环重复此道路图片?
我想制造一种幻想,即一个人正在漫长的道路上奔跑,即这张照片
http://camlinecambridgelimited.web.officelive.com/images/road%20graphic1.jpg
如果您在iPhone上玩过《神庙逃亡》,这是相同的原理,但不是神庙,而是正常道路。
我想知道这是如何实现的。例如,我是否只是循环重复此道路图片?
Answers:
我会在地面上(即,位于XZ平面上)绘制一个纹理四边形,其大小应与可见区域一样大,然后围绕顶点纹理坐标(将纹理寻址模式设置为wrap)进行操作。自动处理纹理重复和纹理滚动。
编辑我只是尝试完全按照我的描述来实现(但是在XNA中),并且效果很好。观看此演示视频。感兴趣的人可以在这里找到源代码。
例如,如果N等于3,您将得到类似下图的图像(我将中间部分涂成红色,以便您可以看到重复发生的位置)。然后,简单地更改inc的值将使道路沿一个方向或另一个方向滚动,具体取决于您是递增还是递减。
如果要“真实地”制作一条无尽的道路,则可以创建三个曲面,并在每个曲面移出视图之外时使它们循环。将这些表面首尾相连放置在世界空间中,然后将它们全部移向相机。当最近的一端移开相机时,将其位置重置为最远的表面的一端。
如果要将其实现为带有运动幻觉的精灵,则需要创建许多不同的纹理,其外观应如下所示:
随着视图向前移动,依次遍历纹理。
重复图像是个好主意。找出需要在屏幕上看到多少重复,然后以该次数绘制图像。随着道路的滚动,会出现一个点,一幅图像完全位于相机后面,因此不可见。此时,您希望将图像从脚后移到有限图像带的远端。
当我们这样做时,通过模仿奔跑的人的不稳定观点,您将获得最好的效果。从您的眼睛录制一部您正在奔跑的电影,然后进行研究。