Hi and welcome! First off let me just throw out a comment about code sharing. For large snippets like this, can you make sure to use something like pastebin or gist or your favourite code sharing solution? It helps make the code formatting more readable.
As for your question, you would need to create a shader of some type, and then connect a File node to the desired parameter, which is commonly the "color" param for what you are asking. You can see a similar example in this StackOverflow question: http://stackoverflow.com/questions/21344945/applying-a-file-as-a-texture-in-maya-python One thing that helps when learning the commands API, is if you turn on "Echo Commands" in your Script Editor. Then perform the desired operation through the UI and note the commands that get generated. If you were to apply the texture by assigning a shader and setting the texture on the color param, you would see this similar code being emitted. Hope that helps Justin On Thu, Aug 25, 2016 at 6:50 AM <[email protected]> wrote: > I am rather new to both python and maya. I'm trying to build a tool to > create a skybox, so I have already created the cube and inverted its > normals, but i can't seem to find how to apply a texture to it. All help is > appreciated. Thank you. > > Here is my code: > import maya.cmds as cmds > from os import listdir > > > def makeSphere(*args): > cmds.polySphere( n='mySphere', sx=100, sy=100) > return > > def makeCube(*args): > cmds.polyCube( sx=5, sy=5, sz=5 ) > return > > def makeCylinder(*args): > cmds.polyCylinder(n='myCylinder', sx=5, sy=5, sz=5) > return > > def makeCone(*args): > cmds.polyCone( sx=10, sy=15, sz=5, r=20, h=10) > return > > def makePlane(*args): > cmds.polyPlane( sx=10, sy=15, w=15, h=20) > return > > def makeTorus(*args): > cmds.polyTorus( sx=8, sy=16, r=10, sr=1 ) > return > > def makePrism(*args): > cmds.polyPrism ( sc=10, sh=15, w=20) > return > > def makePyramid(*args): > cmds.polyPyramid( sc=10, sh=15, ns=5, w=20) > return > > def makePipe(*args): > cmds.polyPipe( sh=10, h=20 ) > return > > def makeHelix(*args): > cmds.polyHelix(r=1, d=1, cuv=0) > return > > def makeSoccerball(*args): > cmds.polyPrimitive( r=1, l=0.4036, pt=0) > return > > def makePlatonicSolids(*args): > cmds.polyPlatonicSolid( r=2, l=2, st=1) > return > > > def importModel(*args): > filename = cmds.fileDialog2(fileMode=1, caption="Import model") > cmds.file( filename[0], i=True ); > return > > def makeSkybox(*args): > > cmds.polyCube( sx=100, sy=100, sz=100, name = "skybox" ) > # cmds.polyCut(deleteFaces = True, cuttingDirection = "y", > cutPlaneCenter = (0, 0, 0) ) > cmds.polyNormal('skybox', nm = 0) > filename = cmds.fileDialog2(fileMode=1, caption="Import texture") > #cmds.polyProjection('skybox', type = 'Spherical' ,uvSetName= > filename[0]) > > cmds.file( filename[0], i=True, applyTo = "skybox") > > #image_skybox = input("Please input the full file location of the > desired image to be applied to your skybox: ") > #cmds.image(image = image_skybox) > return > > > > winID = "kevsFrameWin" > if cmds.window(winID, exists=True): > cmds.deleteUI(winID) > > # Create the window > cmds.window(winID,t="frames") > > # Create a 'container' Layout to keep our frames in > rootLayout = cmds.columnLayout() > > # Create a frame layout. Note that I am not declaring a > # variable here as frameLayout are only supposed to > # support a single child, and our child will be another > # layout... So we really want to reference the child > # rather then the frameLayout parent anyway. > cmds.frameLayout( label="Top frame" ) > > # Generate a child Layout inside the frame. > # declare a variable here as it will allow us to reference > # contents inside our frame (within this layout). > frameOne = cmds.columnLayout() > cmds.button( label='Sphere', command=makeSphere) > cmds.button( label='Cube', command=makeCube) > cmds.button( label='Cylinder', command=makeCylinder) > cmds.button( label='Cone', command=makeCone) > cmds.button( label='Plane', command=makePlane) > cmds.button( label='Torus', command=makeTorus) > cmds.button( label='Prism', command=makePrism) > cmds.button( label='Pyramid', command=makePyramid) > cmds.button( label='Pipe', command=makePipe) > cmds.button( label='Helix', command=makeHelix) > cmds.button( label='Soccerball', command=makeSoccerball) > cmds.button( label='Platonic Solid', command=makePlatonicSolids) > cmds.button( label='Skybox', command=makeSkybox) > cmds.button( label='Browse to import models', command=importModel) > > > > # Jump back to our root container Layout to add a new Frame > # If we were to use the '..' approach, we would need *2* of > # them to get back to the root. > # > # '..' back to the frame parent, then '..' to the root parent > cmds.setParent(rootLayout) > > # Display the UI > cmds.showWindow(winID) > > -- > You received this message because you are subscribed to the Google Groups > "Python Programming for Autodesk Maya" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/python_inside_maya/7a3a7c79-f988-4787-930c-43df5b1320a4%40googlegroups.com > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA3E8qubXoKHEQhB%3Dzc5HXQ-1%3D5Ogx4XUGk%2BjzjP4EA%2B1w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
