Заполняю текстуру статического меша проекцией его точек на плоскость XY(меш- выгнутая плоскость).
Вот код:
FVector LeftBottom = GetHexRelativeCoords({ 0,0 }) - FVector(FieldData.TileRadius, FieldData.TileRadius, 0);
FVector RightTop = GetHexRelativeCoords({ FieldData.FeildSize.X,FieldData.FeildSize.Y }) + FVector(FieldData.TileRadius, FieldData.TileRadius, 0);
FVector2D box = FVector2D(RightTop.X - LeftBottom.X, RightTop.Y - LeftBottom.Y);
GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Black, box.ToString());
for (int i = 0; i < Triangles.Num(); i += 3) {
for (int i1 = 0; i1 < 3; i1++) {
FVector coord = vertices[Triangles[i + i1]];
FVector2D textProjection = FVector2D(coord.X / box.X +0.5, coord.Y / box.Y+0.5);
UV0.Add(textProjection);
}
}
при добавлении материала, меш заливается цветом одного пикселя, хотя в массиве все треугольники имеют красивые координаты текстуры в пределах от 0 до 1 (растягиваю текстуру на весь мешбез замощения)