• j9bet@www.j9.com
  • 浙江省杭州市拱墅区祥园路139号智慧立方科技中心1幢B楼6楼601室

视差背景的滚动比例和循环边界怎样配合:四层背景的十次循环滚动·实例02

2026-11-03

多层背景可以按不同于镜头的速度移动,营造层次感。重复纹理还需要处理循环边界,否则镜头走过一个纹理宽度时可能出现跳变或空白。

下面把一个游戏界面或模拟规则拆成可复查的记录。每组输入独立给出,先确认单位、先后次序和边界,再核对结果。它不依赖具体游戏的隐藏参数,读者可以直接挑选几步手工复算。

输入与规则

一维镜头位置按给定记录变化,四层背景各有初始偏移和滚动比例。未折回位置为初始偏移减镜头位置乘比例;按纹理宽度取零到宽度之间的余数。视口宽度不超过一块纹理,报告紧邻的两块起点。

纹理宽64,四层[初始偏移,滚动比例][[60, '0'], [3, '1/4'], [57, '1/2'], [6, '5/4']] 十个镜头位置[95, 104, 23, -105, -97, 84, -153, 151, -66, -18]

逐步记录

镜头位置95,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['-83/4', '173/4', ['-83/4', '173/4']], ['19/2', '19/2', ['-109/2', '19/2']], ['-451/4', '61/4', ['-195/4', '61/4']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置104,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['-23', '41', ['-23', '41']], ['5', '5', ['-59', '5']], ['-124', '4', ['-60', '4']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置23,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['-11/4', '245/4', ['-11/4', '245/4']], ['91/2', '91/2', ['-37/2', '91/2']], ['-91/4', '165/4', ['-91/4', '165/4']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置-105,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['117/4', '117/4', ['-139/4', '117/4']], ['219/2', '91/2', ['-37/2', '91/2']], ['549/4', '37/4', ['-219/4', '37/4']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置-97,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['109/4', '109/4', ['-147/4', '109/4']], ['211/2', '83/2', ['-45/2', '83/2']], ['509/4', '253/4', ['-3/4', '253/4']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置84,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['-18', '46', ['-18', '46']], ['15', '15', ['-49', '15']], ['-99', '29', ['-35', '29']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置-153,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['165/4', '165/4', ['-91/4', '165/4']], ['267/2', '11/2', ['-117/2', '11/2']], ['789/4', '21/4', ['-235/4', '21/4']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置151,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['-139/4', '117/4', ['-139/4', '117/4']], ['-37/2', '91/2', ['-37/2', '91/2']], ['-731/4', '37/4', ['-219/4', '37/4']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置-66,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['39/2', '39/2', ['-89/2', '39/2']], ['90', '26', ['-38', '26']], ['177/2', '49/2', ['-79/2', '49/2']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

镜头位置-18,四层结果依次为[未折回位置,循环相位,相邻两块起点]:[['60', '60', ['-4', '60']], ['15/2', '15/2', ['-113/2', '15/2']], ['66', '2', ['-62', '2']], ['57/2', '57/2', ['-71/2', '57/2']]]。每块宽64,视口宽四十,两个相邻副本共同覆盖视口。

比例为零的层相位保持不变,其余层根据镜头和自身比例移动,越界只改变循环表示。

复核方法和适用范围

从前一次镜头到下一次的位移乘比例,应与该层未折回位移变化相反。两个相差完整纹理宽度的位置代表同一循环相位;折回结果必须非负且小于宽度,尤其检查负镜头位置。

滚动比例描述本例的画面效果,不是实际物体远近的物理测量。图层若不具备可平铺的边缘,仅正确计算循环位置也不能消除接缝。这里不计算遮挡、垂直滚动或相机缩放。

练习时可以只改动一项输入,预测从哪一步开始出现变化,再逐步比较。空状态、数值零和无法判断要分别记录;不要为了让最后结果一致而忽略中途的偏差。边界与同分约定同样属于规则,复核时应一并保留。