--// Michael Stark --// michael@mstark.tv --// http://www.mstark.tv --UI Rollout rollout FumeFXrgbLightRig "FumeFX RGB Light Rig" height:535 width: 180 ( local rf01 local rf02 local gf01 local gf02 local bf01 local bf02 label lab1 "FumeFX RGB Light Rig" height:30 on RunScript pressed do ( RGB_Control = dummy scale: [25,25,25] name: "RGB Light Controller" rf01= targetSpot name: "Fume Red Light" rgb:(color 255 0 0) parent: RGB_Control shadowColor:(color 0 0 0) contrast:0 softenDiffuseEdge:0 nearAttenStart:0 nearAttenEnd:40 farAttenStart:80 farAttenEnd:200 decayRadius:40 atmosOpacity:100 atmosColorAmt:100 shadowMultiplier:1 hotspot:43 falloff:45 aspect:1 castShadows: on transform:(matrix3 [1,0,0] [0,0,1] [-1,0,0] [500,0,0]) isSelected:on target:( rf02= Targetobject transform:(matrix3 [1,0,0] [0,1,0] [0,0,1] [-500,0, 0]) name: "rft" parent: RGB_Control) gf01= targetSpot name: "Fume Green Light" rgb:(color 0 255 0) parent: RGB_Control shadowColor:(color 0 0 0) contrast:0 softenDiffuseEdge:0 nearAttenStart:0 nearAttenEnd:40 farAttenStart:80 farAttenEnd:200 decayRadius:40 atmosOpacity:100 atmosColorAmt:100 shadowMultiplier:1 hotspot:43 falloff:45 aspect:1 castShadows: on transform:(matrix3 [1,0,0] [0,0,1] [0,-1,0] [0,500,0]) isSelected:on target:( gf02= Targetobject transform:(matrix3 [1,0,0] [0,1,0] [0,0,1] [0,-500,0]) name: "gft" parent: RGB_Control) bf01= targetSpot name: "Fume Blue Light" rgb:(color 0 0 255) parent: RGB_Control shadowColor:(color 0 0 0) contrast:0 softenDiffuseEdge:0 nearAttenStart:0 nearAttenEnd:40 farAttenStart:80 farAttenEnd:200 decayRadius:40 atmosOpacity:100 atmosColorAmt:100 shadowMultiplier:1 hotspot:43 falloff:45 aspect:1 castShadows: on transform:(matrix3 [1,0,0] [0,0,1] [0,-1,0] [0,0,500]) isSelected:on target:( bf02= Targetobject transform:(matrix3 [1,0,0] [0,1,0] [0,0,1] [0,0,-500]) name: "bft" parent: RGB_Control) rf01.wirecolor = color 255 0 0 gf01.wirecolor = color 0 255 0 bf01.wirecolor = color 0 0 255 RGB_Control.pos = rigArray[4] rf01.pos.x = $'RGB Light Controller'.pos.x + 500 rf02.pos.x = $'RGB Light Controller'.pos.x - 500 gf01.pos.y = $'RGB Light Controller'.pos.y + 500 gf02.pos.y = $'RGB Light Controller'.pos.y - 500 bf01.pos.z = $'RGB Light Controller'.pos.z + 500 bf02.pos.z = $'RGB Light Controller'.pos.z - 500 ) fn fume fobj = classof fobj == FumeFX --Run Script Buttons group "Creation" ( pickbutton chooseit "Select Fume" width:150 filter:fume button RunScript "Build FumeFX Light Rig" width: 150 button moveG "Move Rig to FumeFX" width: 150 button addFL "Add Lights to FumeFX" width: 150 button removeFL "Remove Lights from FumeFX" width: 150 ) on chooseit picked obj do ( if obj != undefined do ( chooseit.text = obj.name fumeOb = obj rigArray = #(fumeOb.pos.x) append rigArray fumeOb.pos.y append rigArray fumeOb.pos.z append rigArray fumeOb.pos ) ) on moveG pressed do ( select fumeOb newFumePos = #(fumeOb.pos) select $'RGB Light Controller' $.pos = newFumePos[1] deselect $ print "Moved Rig to FumeFX Container" ) on addFL pressed do ( select fumeOb $.AddLight rf01 $.AddLight gf01 $.AddLight bf01 messagebox "RGB Lights Added to FumeFX Container" print "RGB Lights Added to FumeFX Container" ) on removeFL pressed do ( select fumeOb $.RemoveLight rf01 $.RemoveLight gf01 $.RemoveLight bf01 messagebox "RGB Lights Removed from FumeFX Container" print "RGB Lights Removed to FumeFX Container" ) --Link/Unlink Dummy to Fume Grid group "Utility" ( button LinkDummy "Link to Fume Grid" width: 150 button UnlinkDummy "Unlink from Fume Grid" width: 150 ) on LinkDummy pressed do ( select $'RGB Light Controller' $.parent = fumeOb deselect $'RGB Light Controller' ) on UnlinkDummy pressed do ( select $'RGB Light Controller' $.parent = undefined deselect $'RGB Light Controller' ) --Turn Lights On/Off group "Lights On/Off" ( checkbox check1 "Red Light" checked: true checkbox check2 "Green Light" checked: true checkbox check3 "Blue Light" checked: true ) on check1 changed clicked do ( rf01.enabled = clicked ) on check2 changed clicked do ( gf01.enabled = clicked ) on check3 changed clicked do ( bf01.enabled = clicked ) --Light Multiplier group "Light Multiplier" ( spinner rMult "Red Multiplier" range: [0, 100, 1] align: #right spinner gMult "Green Multiplier" range: [0, 100, 1] align: #right spinner bMult "Blue Multiplier" range: [0, 100, 1] align: #right ) on rMult changed true do ( rf01.multiplier = rMult.value ) on gMult changed true do ( gf01.multiplier = gMult.value ) on bMult changed true do ( bf01.multiplier = bMult.value ) --Distance Controls group "Distance Controller" ( spinner disM "Distance" range: [0, 10000, 500] align: #right ) on disM changed true do( rf01.pos.x = $'RGB Light Controller'.pos.x + disM.value rf02.pos.x = $'RGB Light Controller'.pos.x - disM.value gf01.pos.y = $'RGB Light Controller'.pos.y + disM.value gf02.pos.y = $'RGB Light Controller'.pos.y - disM.value bf01.pos.z = $'RGB Light Controller'.pos.z + disM.value bf02.pos.z = $'RGB Light Controller'.pos.z - disM.value ) label lab3 "Created by Michael Stark" label lab2 "v1.2" ) createdialog FumeFXrgbLightRig