#Halloween Newtons Cradle V2
#Owen Zigrino
#10/21/24
#Owen Zigrino
#10/21/24
'''
I tried adding functions to the skeleton its self and other parts of the project
but I was unable to get it to execute properly so I only have functions for the
colors and lights
but I was unable to get it to execute properly so I only have functions for the
colors and lights
'''
import maya.cmds as ma
####################################CONSTANTS#######################################
PFX="OZ"
if ma.objExists(f"{PFX}_*"):
ma.delete(f"{PFX}_*")
if ma.hyperShade(f"{PFX}_*"):
ma.delete(f"{PFX}_*")
Position = (-2.1,-1.2,-.38,0.46,1.28)
ma.delete(f"{PFX}_*")
if ma.hyperShade(f"{PFX}_*"):
ma.delete(f"{PFX}_*")
Position = (-2.1,-1.2,-.38,0.46,1.28)
ma.rangeControl( minRange=0, maxRange=600 )
#####################################################################################
# Legs
ma.polySphere(r=.5, n=f"{PFX}_end1")
ma.polySphere(r=.5, n=f"{PFX}_end2")
ma.move(.7,0,0)
ma.polyCylinder(h=4, r=.3, n=f"{PFX}_long1")
ma.rotate(90,0,0)
ma.move(.4,0,-2)
ma.polySphere(r=.5, n=f"{PFX}_end3")
ma.move(0,0,-4.1)
ma.polySphere(r=.5, n=f"{PFX}_end4")
ma.move(.7,0,-4.1)
ma.polyBoolOp(f"{PFX}_end1", f"{PFX}_long1", n=f"{PFX}_leg1")
ma.polyBoolOp(f"{PFX}_end2", f"{PFX}_leg1", n=f"{PFX}_leg2")
ma.polyBoolOp(f"{PFX}_end3", f"{PFX}_leg2", n=f"{PFX}_leg3")
ma.polyBoolOp(f"{PFX}_end4", f"{PFX}_leg3", n=f"{PFX}_leg4")
ma.duplicate(f"{PFX}_leg4", n=f"{PFX}_arm1")
ma.select(f"{PFX}_leg4")
ma.move(2,.2,-6)
ma.rotate(45,0,0)
ma.duplicate(f"{PFX}_leg4")
ma.rotate(-45,0,0)
ma.move(2,3,-10)
ma.polySphere(r=1,n=f"{PFX}_foot1")
ma.move(2.4,.1,-15)
ma.scale(1,.4,1.7)
ma.group(f"{PFX}_foot1", f"{PFX}_leg4", f"{PFX}_leg5", n=f"{PFX}_right_leg")
ma.duplicate(f"{PFX}_right_leg", n=f"{PFX}_left_leg")
ma.move(-4.5,0,0)
ma.polySphere(r=.5, n=f"{PFX}_end2")
ma.move(.7,0,0)
ma.polyCylinder(h=4, r=.3, n=f"{PFX}_long1")
ma.rotate(90,0,0)
ma.move(.4,0,-2)
ma.polySphere(r=.5, n=f"{PFX}_end3")
ma.move(0,0,-4.1)
ma.polySphere(r=.5, n=f"{PFX}_end4")
ma.move(.7,0,-4.1)
ma.polyBoolOp(f"{PFX}_end1", f"{PFX}_long1", n=f"{PFX}_leg1")
ma.polyBoolOp(f"{PFX}_end2", f"{PFX}_leg1", n=f"{PFX}_leg2")
ma.polyBoolOp(f"{PFX}_end3", f"{PFX}_leg2", n=f"{PFX}_leg3")
ma.polyBoolOp(f"{PFX}_end4", f"{PFX}_leg3", n=f"{PFX}_leg4")
ma.duplicate(f"{PFX}_leg4", n=f"{PFX}_arm1")
ma.select(f"{PFX}_leg4")
ma.move(2,.2,-6)
ma.rotate(45,0,0)
ma.duplicate(f"{PFX}_leg4")
ma.rotate(-45,0,0)
ma.move(2,3,-10)
ma.polySphere(r=1,n=f"{PFX}_foot1")
ma.move(2.4,.1,-15)
ma.scale(1,.4,1.7)
ma.group(f"{PFX}_foot1", f"{PFX}_leg4", f"{PFX}_leg5", n=f"{PFX}_right_leg")
ma.duplicate(f"{PFX}_right_leg", n=f"{PFX}_left_leg")
ma.move(-4.5,0,0)
# Arms
ma.select(f"{PFX}_arm1")
ma.rotate(0,90,0)
ma.move(-5,.3,2.5)
ma.duplicate(f"{PFX}_arm1", n=f"{PFX}_arm2")
ma.move(-10,.3,2.5)
ma.rotate(45,90,0)
ma.polySphere(r=.5, n=f"{PFX}_palm1")
ma.move(-13.5,3.8,2.2)
ma.rotate(0,0,-45)
ma.scale(1,.7,1.5)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm2")
ma.move(-14,4.5,3)
ma.rotate(-45,-45,0)
ma.scale(.5,.5,1)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm3")
ma.select(f"{PFX}_palm3")
ma.move(-14,4.8,2.5)
ma.rotate(-55,-65,0)
ma.scale(.5,.5,1.3)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm4")
ma.select(f"{PFX}_palm4")
ma.move(-14,4.8,1.8)
ma.rotate(-55,-95,0)
ma.scale(.5,.5,1.3)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm5")
ma.select(f"{PFX}_palm5")
ma.move(-13.5,4,3.6)
ma.rotate(-25,-15,0)
ma.scale(.5,.5,1.3)
ma.group(f"{PFX}_palm1", f"{PFX}_palm2", f"{PFX}_palm3", f"{PFX}_palm4", f"{PFX}_palm5", n=f"{PFX}_hand")
ma.group(f"{PFX}_arm1", f"{PFX}_arm2", n=f"{PFX}_left_arm")
ma.rotate(0,90,0)
ma.move(-5,.3,2.5)
ma.duplicate(f"{PFX}_arm1", n=f"{PFX}_arm2")
ma.move(-10,.3,2.5)
ma.rotate(45,90,0)
ma.polySphere(r=.5, n=f"{PFX}_palm1")
ma.move(-13.5,3.8,2.2)
ma.rotate(0,0,-45)
ma.scale(1,.7,1.5)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm2")
ma.move(-14,4.5,3)
ma.rotate(-45,-45,0)
ma.scale(.5,.5,1)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm3")
ma.select(f"{PFX}_palm3")
ma.move(-14,4.8,2.5)
ma.rotate(-55,-65,0)
ma.scale(.5,.5,1.3)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm4")
ma.select(f"{PFX}_palm4")
ma.move(-14,4.8,1.8)
ma.rotate(-55,-95,0)
ma.scale(.5,.5,1.3)
ma.duplicate(f"{PFX}_palm1", n=f"{PFX}_palm5")
ma.select(f"{PFX}_palm5")
ma.move(-13.5,4,3.6)
ma.rotate(-25,-15,0)
ma.scale(.5,.5,1.3)
ma.group(f"{PFX}_palm1", f"{PFX}_palm2", f"{PFX}_palm3", f"{PFX}_palm4", f"{PFX}_palm5", n=f"{PFX}_hand")
ma.group(f"{PFX}_arm1", f"{PFX}_arm2", n=f"{PFX}_left_arm")
# Right Arm
ma.duplicate(f"{PFX}_left_arm", n=f"{PFX}_right_arm")
ma.rotate(0,180,0)
ma.move(19,0,0)
ma.duplicate(f"{PFX}_hand", n=f"{PFX}_hand2")
ma.select(f"{PFX}_hand2")
ma.rotate(0,0,-90)
ma.move(28.5,0,0)
ma.rotate(0,180,0)
ma.move(19,0,0)
ma.duplicate(f"{PFX}_hand", n=f"{PFX}_hand2")
ma.select(f"{PFX}_hand2")
ma.rotate(0,0,-90)
ma.move(28.5,0,0)
#Skull
ma.polySphere(r=3, n=f"{PFX}_sphere_v01")
ma.scale(1,1.1,1)
ma.move(0,-1,0)
ma.polySphere(r=2, n=f"{PFX}_sphere_v02")
ma.move(0,.4,-2)
ma.scale(1,1,.8)
ma.group(f"{PFX}_sphere_v02", f"{PFX}_sphere_v01", n=f"{PFX}_group1")
ma.polySphere(r=1, n=f"{PFX}_spherev1")
ma.move(1.5,1.5,.4)
ma.polyBoolOp(f"{PFX}_sphere_v01", f"{PFX}_spherev1", op=2, n=f"{PFX}_skull")
ma.polySphere(r=1, n=f"{PFX}_spherev2")
ma.move(-1.5,1.5,.4)
ma.polyBoolOp(f"{PFX}_skull", f"{PFX}_spherev2", op=2, n=f"{PFX}_skull")
ma.select(f"{PFX}_skull1", f"{PFX}_group1")
ma.group(f"{PFX}_skull1", f"{PFX}_group1", n=f"{PFX}_skullv3")
ma.polyBoolOp(f"{PFX}_skull1", f"{PFX}_group1", op=1, n=f"{PFX}_skull3")
ma.move(0,3.3,9)
ma.rotate(-60,0,0)
# Nose Hole
ma.polySphere(r=.3, n=f"{PFX}_shpere1")
ma.move(0,5,7.3)
ma.move(0,5,7.3)
# Spine
ma.polySphere(r=.3, n=f"{PFX}_bone1")
ma.polyCylinder(n=f"{PFX}_bone2")
ma.scale(.3,.6,.3)
ma.rotate(-10,0,15)
ma.move(0.4,0,.33)
ma.duplicate(f"{PFX}_bone2")
ma.select(f"{PFX}_bone3")
ma.rotate(10,0,15)
ma.move(0.4,0,-.32)
ma.duplicate(f"{PFX}_bone2")
ma.select(f"{PFX}_bone4")
ma.rotate(-10,0,-15)
ma.move(-0.4,0,.33)
ma.duplicate(f"{PFX}_bone2")
ma.select(f"{PFX}_bone5")
ma.rotate(10,0,-15)
ma.move(-0.4,0,-.32)
ma.polyBoolOp(f"{PFX}_bone1", f"{PFX}_bone2", op=2, n=f"{PFX}_spine")
ma.polyBoolOp(f"{PFX}_spine", f"{PFX}_bone3", op=2, n=f"{PFX}_spine2")
ma.polyBoolOp(f"{PFX}_spine2", f"{PFX}_bone4", op=2, n=f"{PFX}_spine3")
ma.polyBoolOp(f"{PFX}_spine3", f"{PFX}_bone5", op=2, n=f"{PFX}_spine4")
ma.scale(2,2,2)
ma.rotate(0,90,0)
ma.move(0,0,9)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine5")
ma.select(f"{PFX}_spine5")
ma.move(0,0,8)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine6")
ma.select(f"{PFX}_spine6")
ma.move(0,0,7)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine7")
ma.select(f"{PFX}_spine7")
ma.move(0,0,6)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine8")
ma.select(f"{PFX}_spine8")
ma.move(0,0,5)
ma.polyCylinder(n=f"{PFX}_bone2")
ma.scale(.3,.6,.3)
ma.rotate(-10,0,15)
ma.move(0.4,0,.33)
ma.duplicate(f"{PFX}_bone2")
ma.select(f"{PFX}_bone3")
ma.rotate(10,0,15)
ma.move(0.4,0,-.32)
ma.duplicate(f"{PFX}_bone2")
ma.select(f"{PFX}_bone4")
ma.rotate(-10,0,-15)
ma.move(-0.4,0,.33)
ma.duplicate(f"{PFX}_bone2")
ma.select(f"{PFX}_bone5")
ma.rotate(10,0,-15)
ma.move(-0.4,0,-.32)
ma.polyBoolOp(f"{PFX}_bone1", f"{PFX}_bone2", op=2, n=f"{PFX}_spine")
ma.polyBoolOp(f"{PFX}_spine", f"{PFX}_bone3", op=2, n=f"{PFX}_spine2")
ma.polyBoolOp(f"{PFX}_spine2", f"{PFX}_bone4", op=2, n=f"{PFX}_spine3")
ma.polyBoolOp(f"{PFX}_spine3", f"{PFX}_bone5", op=2, n=f"{PFX}_spine4")
ma.scale(2,2,2)
ma.rotate(0,90,0)
ma.move(0,0,9)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine5")
ma.select(f"{PFX}_spine5")
ma.move(0,0,8)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine6")
ma.select(f"{PFX}_spine6")
ma.move(0,0,7)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine7")
ma.select(f"{PFX}_spine7")
ma.move(0,0,6)
ma.duplicate(f"{PFX}_spine4", n=f"{PFX}_spine8")
ma.select(f"{PFX}_spine8")
ma.move(0,0,5)
# Creating the ground
ma.polyCube(d=20, w=20, h=.5, n=f"{PFX}_ground01")
ma.move(0,-.1,0)
ma.polyCube(d=9, w=9, h=.5, n=f"{PFX}_ground01")
ma.polyCube(d=7, w=7, h=.5, n=f"{PFX}_ground01")
ma.move(0,.1,0)
ma.polyCube(d=6.2, w=6.2, h=.5, n=f"{PFX}_ground01")
ma.move(0,.2,0)
ma.move(0,-.1,0)
ma.polyCube(d=9, w=9, h=.5, n=f"{PFX}_ground01")
ma.polyCube(d=7, w=7, h=.5, n=f"{PFX}_ground01")
ma.move(0,.1,0)
ma.polyCube(d=6.2, w=6.2, h=.5, n=f"{PFX}_ground01")
ma.move(0,.2,0)
# Left Side Ribs
ma.polyCylinder(h=6, r=.15, sh=20, n=f"{PFX}_rib01")
ma.nonLinear(type='bend', curvature=40, n=f"{PFX}_bend01")
ma.select(f"{PFX}_rib01", f"{PFX}_bend01Handle")
ma.group(f"{PFX}_rib01", f"{PFX}_bend01Handle", n=f"{PFX}_left1")
ma.move(-2.8,1.8,-1.4)
ma.rotate(0,60,-40)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left2")
ma.select(f"{PFX}_left2")
ma.move(-2.8,1.8,-.5)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left3")
ma.select(f"{PFX}_left3")
ma.move(-2.8,1.8,0.3)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left4")
ma.select(f"{PFX}_left4")
ma.move(-2.8,1.8,1.2)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left5")
ma.select(f"{PFX}_left5")
ma.move(-2.8,1.8,2)
ma.group(f"{PFX}_left1", f"{PFX}_left2", f"{PFX}_left3", f"{PFX}_left4", f"{PFX}_left5", n=f"{PFX}_left_side")
ma.nonLinear(type='bend', curvature=40, n=f"{PFX}_bend01")
ma.select(f"{PFX}_rib01", f"{PFX}_bend01Handle")
ma.group(f"{PFX}_rib01", f"{PFX}_bend01Handle", n=f"{PFX}_left1")
ma.move(-2.8,1.8,-1.4)
ma.rotate(0,60,-40)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left2")
ma.select(f"{PFX}_left2")
ma.move(-2.8,1.8,-.5)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left3")
ma.select(f"{PFX}_left3")
ma.move(-2.8,1.8,0.3)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left4")
ma.select(f"{PFX}_left4")
ma.move(-2.8,1.8,1.2)
ma.duplicate(f"{PFX}_left1", n=f"{PFX}_left5")
ma.select(f"{PFX}_left5")
ma.move(-2.8,1.8,2)
ma.group(f"{PFX}_left1", f"{PFX}_left2", f"{PFX}_left3", f"{PFX}_left4", f"{PFX}_left5", n=f"{PFX}_left_side")
# Right Side Ribs
ma.duplicate(f"{PFX}_left_side", n=f"{PFX}_right_side")
ma.rotate(0,360,260)
ma.move(5.7,0,0)
ma.rotate(0,360,260)
ma.move(5.7,0,0)
# Wires
for i in range(5):
ma.polyCylinder (n = f"{PFX}_Wire_{i}A", h=2.5, r=.05)
ma.move(.5,2.2,Position[i])
ma.rotate(20,90,0)
# Other Wires
ma.polyCylinder (n = f"{PFX}_Wire_{i}B", h=2.5, r=.05)
ma.move(-.5,2.2,Position[i])
ma.rotate(-20,90,0)
def wire_color():
BG = ma.shadingNode ('blinn', n = PFX+"WireShd", asShader = True)
ma.select (PFX+"_Wire*")
ma.hyperShade (assign = BG)
ma.setAttr (BG + ".color", 0.5, 0.5, .5)
ma.setAttr(BG + ".ambientColor", 0.110,0.110,0.110)
ma.setAttr(BG + ".specularRollOff", 1)
ma.setAttr(BG + ".eccentricity", 0)
# Pumpkins
for i in range(4):
ma.polyTorus(r=.5, n=f"{PFX}_torus1")
ma.scale(1.5,1.5,1)
ma.rotate(0,0,i*65)
ma.polyBoolOp(f"{PFX}_torus1", f"{PFX}_torus2", op=1, n=f"{PFX}_pumpkin1")
ma.polyBoolOp(f"{PFX}_torus3", f"{PFX}_pumpkin1", op=1, n=f"{PFX}_pumpkin2")
ma.polyBoolOp(f"{PFX}_torus4", f"{PFX}_pumpkin2", op=1, n=f"{PFX}_pumpkin3")
ma.move(0,1,-2)
ma.scale(.3,.3,.3)
ma.move(0,4,10)
ma.polyTorus(r=.5, n=f"{PFX}_torus1")
ma.scale(1.5,1.5,1)
ma.rotate(0,0,i*65)
ma.polyBoolOp(f"{PFX}_torus1", f"{PFX}_torus2", op=1, n=f"{PFX}_pumpkin1")
ma.polyBoolOp(f"{PFX}_torus3", f"{PFX}_pumpkin1", op=1, n=f"{PFX}_pumpkin2")
ma.polyBoolOp(f"{PFX}_torus4", f"{PFX}_pumpkin2", op=1, n=f"{PFX}_pumpkin3")
ma.move(0,1,-2)
ma.scale(.3,.3,.3)
ma.move(0,4,10)
def pumpkin_color():
BG = ma.shadingNode ('blinn', n = PFX+"PumpkinShd", asShader = True)
ma.select (PFX+"_pumpkins*")
ma.hyperShade (assign = BG)
ma.setAttr (BG + ".color", 0.551, 0.297, 0)
ma.setAttr(BG + ".ambientColor", 0.110,0.110,0.110)
ma.setAttr(BG + ".specularRollOff", 0)
for i in range(5):
ma.duplicate(f"{PFX}_pumpkin3", n=f"{PFX}_pumpkins{i}")
ma.select(f"{PFX}_pumpkins{i}")
ma.move(0,1,(i*.82)-2)
ma.select(f"{PFX}_pumpkins{i}")
ma.parent(f"{PFX}_Wire_{i}A") # Parenting wires to pumpkins
ma.parent(f"{PFX}_Wire_{i}B")
ma.move(0,2,0, f"{PFX}_pumpkins*" + ".scalePivot", f"{PFX}_pumpkins*" + '.rotatePivot', relative=True) #Moving the pivot point of the pumpkins
ma.select(all=True)
ma.delete(ch=True)
ma.group(n=f"{PFX}_cradle3")
ma.rotate(0,-90,0)
ma.ungroup(f"{PFX}_cradle3")
BG = ma.shadingNode ('blinn', n = PFX+"PumpkinShd", asShader = True)
ma.select (PFX+"_pumpkins*")
ma.hyperShade (assign = BG)
ma.setAttr (BG + ".color", 0.551, 0.297, 0)
ma.setAttr(BG + ".ambientColor", 0.110,0.110,0.110)
ma.setAttr(BG + ".specularRollOff", 0)
for i in range(5):
ma.duplicate(f"{PFX}_pumpkin3", n=f"{PFX}_pumpkins{i}")
ma.select(f"{PFX}_pumpkins{i}")
ma.move(0,1,(i*.82)-2)
ma.select(f"{PFX}_pumpkins{i}")
ma.parent(f"{PFX}_Wire_{i}A") # Parenting wires to pumpkins
ma.parent(f"{PFX}_Wire_{i}B")
ma.move(0,2,0, f"{PFX}_pumpkins*" + ".scalePivot", f"{PFX}_pumpkins*" + '.rotatePivot', relative=True) #Moving the pivot point of the pumpkins
ma.select(all=True)
ma.delete(ch=True)
ma.group(n=f"{PFX}_cradle3")
ma.rotate(0,-90,0)
ma.ungroup(f"{PFX}_cradle3")
def Animation():
cmds.expression(object = PFX+"_pumpkins4", s = PFX+"_pumpkins4.rotateZ = clamp(-40,0,sin(time*1)*40)")
cmds.expression(object = PFX+"_pumpkins0", s = PFX+'''_pumpkins0.rotateZ = clamp(0,40,sin(time*1)*40)''')
cmds.expression(object = PFX+"_pumpkins4", s = PFX+"_pumpkins4.rotateZ = clamp(-40,0,sin(time*1)*40)")
cmds.expression(object = PFX+"_pumpkins0", s = PFX+'''_pumpkins0.rotateZ = clamp(0,40,sin(time*1)*40)''')
cmds.expression(object = PFX+"_pumpkins1", s = PFX+"_pumpkins1.rotateZ = clamp(0,40,sin(time*1)*5)")
cmds.expression(object = PFX+"_pumpkins3", s = PFX+'''_pumpkins3.rotateZ = clamp(-40,0,sin(time*-1)*-5)''')
cmds.expression(object = PFX+"_pumpkins3", s = PFX+'''_pumpkins3.rotateZ = clamp(-40,0,sin(time*-1)*-5)''')
def Lights():
ma.directionalLight(n=f"{PFX}_light1", i=2)
ma.move(0,10,0)
ma.rotate(-45,-15,0)
ma.setAttr(f"{PFX}_light1.color", .9, .7, .9)
ma.directionalLight(n=f"{PFX}_light1", i=2)
ma.move(0,10,0)
ma.rotate(-45,-15,0)
ma.setAttr(f"{PFX}_light1.color", .9, .7, .9)
def bone_color():
BG = ma.shadingNode ('blinn', n = PFX+"BoneShd", asShader = True)
ma.select (f"{PFX}_skull3", f"{PFX}_spine*", f"{PFX}_right_leg", f"{PFX}_left_leg", f"{PFX}_hand*", f"{PFX}_left_side", f"{PFX}_right_side", f"{PFX}_shpere1", f"{PFX}_right_arm", f"{PFX}_left_arm")
ma.hyperShade (assign = BG)
ma.setAttr (BG + ".color", 0.802, 0.802, 0.802)
ma.setAttr(BG + ".ambientColor", 0.091,0.091,0.091)
ma.setAttr(BG + ".specularRollOff", 0)
def table_color2():
BG = ma.shadingNode ('blinn', n = PFX+"TableShd", asShader = True)
ma.select (f"{PFX}_ground*")
ma.hyperShade (assign = BG)
ma.setAttr (BG + ".color", .2, 0.2, 0.2)
ma.setAttr(BG + ".ambientColor", 0.091,0.091,0.091)
ma.setAttr(BG + ".specularRollOff", 1)
ma.setAttr(BG + ".eccentricity", 0.545)
ma.setAttr(BG + ".diffuse", 0.01)
def table_color():
BG = ma.shadingNode ('blinn', n = PFX+"TableShd", asShader = True)
ma.select (f"{PFX}_ground04")
ma.hyperShade (assign = BG)
ma.setAttr (BG + ".color", 1, 0.878, 0)
ma.setAttr(BG + ".ambientColor", 0.091,0.091,0.091)
ma.setAttr(BG + ".specularRollOff", 1)
ma.setAttr(BG + ".eccentricity", 0.119)
ma.setAttr(BG + ".diffuse", 0.01)
Animation()
Lights()
pumpkin_color()
wire_color()
bone_color()
table_color2()
table_color()