# Mesh Proxy: transformUV transformUV(matID, matrix, uv_index, uv_index_from)
• Moves/rotates the UV vertices of a material on a game object matID:

• Type = integer
• -1 = all materials
• 0 = first material on mesh
• 1 = second material on mesh
• 2 = third material on mesh
• etc.
matrix:
• Type: float list [4x4 matrix]
uv_index:
• Type: integer
• -1 = all UV index
• 0 = first UV index on material
• 1 = second UV index on material
uv_index_from:
• uv index to copy from

• Type: integer

• -1 to transform the current uv.

• 0 = first UV index on material
• 1 = second UV index on material
Note:
• UV's are rotated and moved in the UV/Image Editor.

• The rotation transform uses the cosine of the angle.
matrix example:
• 4x4 matrix.  Example moves the UV mapping but doesn't rotate it.
• ([ 1.0, 0.0, 0.0,  0.5], [ 0.0, 1.0, 0.0, 0.0], [ 0.0, 0.0, 1.0, 0.0], [ 0.0, 0.0, 0.0, 1.0])
• The first part -- [ 1.0, 0.0, 0.0,  0.5 ]:
Consists of two parts.  3D vector uses the object axis.
1.  U-axis 3D vector -- 1.0, 0.0, 0.0 -- which is a rotation transform.
2.  U-axis distance -- 0.5 -- which is the movement transform.
• The second part -- [ 0.0, 1.0, 0.0, 0.0]:
Consists of two parts.  3D vector uses the object axis.
1.  V-axis 3D vector -- 0.0, 1.0, 0.0 -- which is a rotation transform.
2.  V-axis distance -- 0.0 -- which is the movement transform.
• The third part--[ 0.0, 0.0, 1.0, 0.0]:
Not sure.  UV mapping only has 2 axis--U and V
• The fourth part--[ 0.0, 0.0, 0.0, 1.0 ]:
Not sure what this is.
Everything I've read says that this is always [ 0.0, 0.0, 0.0, 1.0 ]

matrix example:
• 4x4 matrix.  Rotates the UV mapping 30 degrees.
• ([ 0.866, -0.5, 0.0,  0.0], [ 0.5, 0.866, 0.0, 0.0], [ 0.0, 0.0, 1.0, 0.0], [ 0.0, 0.0, 0.0, 1.0]) Sample Code ############################# transform the UV mapping

# import bge
import bge

# get the current controller
cont = bge.logic.getCurrentController()

# get object that owns this controller
obj = cont.owner

# Get a list of the mesh
meshList = obj.meshes

# Get the first mesh on the object
mesh = meshList

# transform all materials on mesh
matID = -1

# 4x4 matrix Same orientation.  Move 0.1 on U axis
matrix = ([ 1.0, 0.0, 0.0,  0.1], [ 0.0, 1.0, 0.0, 0.0], [ 0.0, 0.0, 1.0, 0.0], [ 0.0, 0.0, 0.0, 1.0])

# first UV index
uv_index = 0

# transform the current UV Mapping
uv_index_from = -1

# move first UV 0.1 on U axis
mesh.transformUV(matID, matrix, uv_index, uv_index_from )