Я создаю плоскость, которая может масштабироваться без пиксельного воздействия на края текстуры. Плоскость должна иметь возможность сохранять пропорции границ, но иметь возможность растягиваться практически до любого размера. Сетка имеет 8 вершин и 10 треугольников, образующих границу. Во всяком случае, вот что я получаю. Не обращайте внимания на числа в геометрии сетки.
Можно ли отредактировать UV так, чтобы я получил желаемый результат? вот код:
Mesh mesh = new Mesh();
var renderer = mesh.AddRenderer();
//create verticies
mesh.vertices = new Vector3[] {
//vertices in order for convienience
Manager.GUI.ScreenToWorldPoint(new Vector3(0f,0f,0f)), //0
Manager.GUI.ScreenToWorldPoint(new Vector3(padding,padding,0)), //1
Manager.GUI.ScreenToWorldPoint(new Vector3(width - padding, padding,0f)), //2
Manager.GUI.ScreenToWorldPoint(new Vector3(width,0f,0f)), //3
Manager.GUI.ScreenToWorldPoint(new Vector3(width - padding, height - padding,0f)),//4
Manager.GUI.ScreenToWorldPoint(new Vector3(width,height,0f)), //5
Manager.GUI.ScreenToWorldPoint(new Vector3(padding, height - padding, 0f)), //6
Manager.GUI.ScreenToWorldPoint(new Vector3(0f,height,0f)), //7
};
//create triangles
mesh.triangles = new int[] {
7,5,6,
6,5,4,
4,5,3,
2,4,3,
0,2,3,
0,1,2,
0,7,6,
0,6,1,
1,6,4,
1,4,2
};
//create UV's uvs are in order of creation for convienience
mesh.uv = new Vector2[] {
new Vector2(0f,0f),
new Vector2(padding/width, padding/height),
new Vector2((width-padding)/width, padding/height),
new Vector2(1f,0f),
new Vector2((width - padding)/width,(height-padding)/height),
new Vector2(1f,1f),
new Vector2(padding/width,(height-padding)/height),
new Vector2(0f,1f)
};
mesh.calculateNormals();
mesh.calculateBounds();
renderer.Texture = mytex;
return plane;
}
Отступы — это определенные пиксели вокруг текстуры, которые игнорируют масштабирование, а высота и ширина — это размеры фигуры.
13 11 10 9, 14 12 8 7, 15 2 4 6, 0 1 3 5
- person Fornoreason1000   schedule 14.05.2013