Command to convert a texture on a surface to a file texture. The first argument is a rendering node or attribute. If only the node is specified, the outColor attribute will be sampled. If the node does not have an outColor attribute, the first attribute on the node which is: readable, not writable, not hidden, connectable, and not a multi is used. If lighting is to be baked, a shading group must be specified as the texture. The current selection will be used if a texture and surface are not specified. An image file will be generated for each object and stored in your image segment of your project. The filename will be formatted using the texture and surface names as follows: However, if force is off and there is a name collision a version number will be determined and the filename will be formatted as follows:
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
alpha (al) | bool | ||
Specify whether to compute the transparency when baking lighting. The conversion will sample both the color and transparency of the shading network; the alpha channel of the file texture will be set to correspond to the result from sampling the transparency. By default transparency is not computed. |
|||
antiAlias (aa) | bool | ||
|
|||
backgroundColor (bc) | int, int, int | ||
Set the background color to a specific value. Default is to use the shader default color to fill the background. Valid values range from 0 to 255 if the pixel format is 8 bits per channel, or 0 to 65535 if the pixel format is 16 bits per channel. This flag automatically sets -backgroundMode to “color”.Default is black: 0 0 0. |
|||
backgroundMode (bm) | unicode | ||
Defines how the background of the texture should be filled. Three modes are available:”shader”or 1: uses the default shader color.”color”or 2: uses the color given by -backgroundColor flag.”extend”or 3: extends outwards the color along the seam edges.Default is “shader”. |
|||
camera (cam) | PyNode | ||
|
|||
componentRange (cr) | bool | ||
If one or more components have been selected to use, then if this flag is set, then the uv range of the components is used to fit into the texture map resolution. By default this flag is set to false. |
|||
doubleSided (ds) | bool | ||
Specify whether the sampler should flip the surface normal if the sample point faces away from the camera. Note: flipping the normal will make the result dependent on the camera (ie. one camera may flip normals where different camera wouldn’t). It’s not recommended that doubleSided be used in combination with shadows. By default this flag is false. |
|||
fileFormat (fil) | unicode | ||
File format to be used for output. IFF is the default if unspecified. Other valid formats are: als: Alias PIXcin: Cineoneps: EPSgif: GIFiff: Maya IFFjpg: JPEGyuv: Quantelrla: Wavefront RLAsgi: SGIsi: SoftImage (.pic)tga: Targatif: TIFFbmp: Windows Bitmap |
|||
fileImageName (fin) | unicode | ||
Specify the output path and name of file texture image. If the file name doesn’t contain a directory separator, the image will be written to source images of the current project. The file will not be versioned if it already exists. |
|||
fillTextureSeams (fts) | bool | ||
|
|||
force (f) | bool | ||
|
|||
fullUvRange (fur) | bool | ||
Sample using the full uv range of the surface. This flag cannot be used with the -uvr flag. A 2D texture placement node will be created and connected to the file texture. The placement’s translate and coverage will be set according to the full UV range of the surface. |
|||
name (n) | unicode | ||
|
|||
pixelFormat (pf) | unicode | ||
Specifies the pixel format of the image. Note that not all file formats support all pixel formats. Available options:”8”: 8 bits per channel, unsigned (0-255)”16”: 16 bits per channel, unsigned (0-65535)Default is “8”.Flag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list. |
|||
resolutionX (rx) | int | ||
|
|||
resolutionY (ry) | int | ||
|
|||
reuseDepthMap (rdm) | bool | ||
|
|||
samplePlane (sp) | bool | ||
Specify whether to sample using a virtual plane. This virtual plane has texture coordinates in the rectangle defined by the -samplePlaneRange flag. If the -samplePlaneRange flag is not set then the virtual plane defaults to having texture coordinates in the (0,0) to (1,1) square. If this option is set than all surface based arguments will be ignored. |
|||
samplePlaneRange (spr) | float, float, float, float | ||
Specify the uv range of the texture coordinates used to sample if the -samplePlane option is set. There are four arguments corresponding to uMin, uMax, vMin and vMax. By default the virtual plane is from uMin 0 to uMax 1, and vMin 0 to vMax 1. |
|||
shadows (sh) | bool | ||
Specify whether to compute shadows when baking lighting. Disk based shadow maps will be used. Only lights with depth map shadows enabled will contribute to the shading. By default shadows are not computed. |
|||
uvBBoxIntersect (ubi) | bool | ||
|
|||
uvRange (uvr) | float, float, float, float | ||
Specify the uv range in which samples will be computed. There are four arguments corresponding to uMin, uMax, vMin and vMax. Each value should be specified based on the surface’s uv space. A 2D texture placement node will be created and connected to the file texture. The placement’s frame translate and coverage will be set according to the uv range specified. By default the entire uv range of the surface will be used. |
|||
uvSetName (uv) | unicode | ||
|
Derived from mel command maya.cmds.convertSolidTx
Example:
import pymel.core as pm
import maya.cmds as cmds
pm.file( f=True, new=True )
# Create a blinn shader with a marble texture.
pm.shadingNode( 'blinn', asShader=True )
pm.sets( renderable=True, noSurfaceShader=True, empty=True, name='blinn1SG' )
pm.connectAttr( 'blinn1.outColor', 'blinn1SG.surfaceShader', f=True )
pm.shadingNode( 'marble', asTexture=True )
pm.connectAttr( 'marble1.outColor', 'blinn1.color', f=True )
# Create two objects, and assign the blinn shader to them.
pm.polySphere()
pm.sets( e=True, forceElement='blinn1SG' )
pm.polyPlane()
pm.move( 2, 0, 0 )
pm.sets( e=True, forceElement='blinn1SG' )
# Create a low resolution texture for the sphere
pm.convertSolidTx( 'marble1', 'pSphere1', rx=64, ry=64 )
# Create a transparency texture forthe plane.
pm.convertSolidTx( 'marble1.outAlpha', 'pPlane1' )
# Create a texture named myTexture.iff for the sphere.
pm.convertSolidTx( 'marble1', 'pSphere1', bm='extend', fileImageName='myTexture.iff' )