答案 0 :(得分:1)
在我看来,构建任何复杂效果的最简单方法是将原始效果分解为小部分,然后将它们加在一起。就您而言,效果包括3个部分:
请记住,您可以为每个零件分别构建一个解决方案,然后将结果加在一起。
我假设将有一个变量float progress;
从0滚动到1,这确定了横移的进度。
下面是每个部分的一些起点:
对于1.,您检查片段的纹理坐标到屏幕中心的距离,并将最大距离分为5个部分。当进度为0 <=进度<0.2时,第一个环可见,而0.2 <=进度<0.4则第二环,依此类推。
对于2.,您检查片段与中心到左向量之间的差向量的角度,例如使用atan2
。在每个部分(例如0.0-0.2)中,您将舞台的局部进度与角度进行比较以确定可见性,从而使片段以与角度相关的方式出现。
3.可能是最棘手的部分,因为您将必须构造进度环末端的中心并计算到片段的距离。如果它在当前环内,则可见厚度。
希望这种快速的想法可以为您提供一个大致的起点!