Я пытаюсь динамически применить текстуру из атласа текстуры к четырехугольной сетке в Unity3D.
Когда я делаю то же самое в сетке куба, передняя грань работает очень хорошо, но другаяте искажаются.Поэтому у меня возникла идея использовать простой четырехугольник, и теперь я сталкиваюсь с таким сценарием:
Изображение должно отображаться так:
Я размещаю текстуру с помощью кода ниже.Математика работает нормально:
public int offsetX = 0;
public int offsetY = 0;
private const float offset = 0.0625f; // the rate of each texture square
void Start ()
{
Mesh mesh = GetComponent<MeshFilter>().mesh;
Vector2[] UVs = new Vector2[mesh.vertices.Length];
UVs[0] = new Vector2(offsetX * offset, offsetY * offset);
UVs[1] = new Vector2((offsetX * offset) + offset, offsetY * offset);
UVs[2] = new Vector2(offsetX * offset, (offsetY * offset) + offset);
UVs[3] = new Vector2((offsetX * offset) + offset, (offsetY * offset) + offset);
mesh.uv = UVs;
}
Что я должен сделать, чтобы поместить текстуру в четырехугольную сетку в качестве эталона изображения?