我正在Unity3D中工作,正在尝试根据图像绘制边框。该代码找到一组作为边的位置,并将它们保存在两个列表中,一个用于x线,一个用于y线。现在,我想将这些坐标输入到LineRenderer中,这将在您放入它的每个点之间绘制一条线。但是,这会造成巨大的混乱。这是因为坐标的顺序:首先是每个点都具有相同的x坐标,然后是下一个x坐标,依此类推。这会产生巨大的混乱:许多未连接的水平线,然后由Unity用对角线连接软件...
所以我要寻找的是:我可以使用什么算法或函数将其输入到我的积分中,并返回正确的积分顺序(因此,可以用右手漫步所有积分,也可以用左手漫步漫步),这样我就可以将其放入划线机中。每个点在列表中至少有一个邻居,但是如果允许回溯太困难了,我可以删除它,以便每个点在列表中至少有两个邻居。
下面是我的代码:
List<int> xs = new List<int>();
List<int> ys = new List<int>();
for loops that fill the lists, identical index means the points belong together
var orderedpoints = OrderPointsForLineRenderer(xs,ys);
...