161 lines
3.6 KiB
Plaintext
Executable File
161 lines
3.6 KiB
Plaintext
Executable File
--convert 3LateralGUI to Rockstar alpha plane version
|
|
|
|
--for every item in the 3 lateral gui shit align the rs version to them,
|
|
--delete their geo, then attach the RS_ version
|
|
|
|
filein (RsConfigGetWildWestDir() + "script/3dsMax/_config_files/Wildwest_header.ms")
|
|
|
|
----------------------------------------------
|
|
----------------------------------------------
|
|
|
|
standardGui = #( --list of all geo based gui nodes which will get replaced by the alphad plane ones
|
|
"faceControls_FRAME",
|
|
"mouth_FRAME",
|
|
"mouth_CTRL",
|
|
"mouth_TEXT",
|
|
"jaw_FRAME",
|
|
"jaw_CTRL",
|
|
"jaw_TEXT",
|
|
"tongue_TEXT",
|
|
"tongueMove_FRAME",
|
|
"tongueMove_CTRL",
|
|
"tongueRoll_FRAME",
|
|
"tongueRoll_CTRL",
|
|
"tongueInOut_FRAME",
|
|
"tongueInOut_CTRL",
|
|
"outerBrow_R_FRAME",
|
|
"outerBrow_R_CTRL",
|
|
"innerBrow_L_FRAME",
|
|
"innerBrow_L_CTRL",
|
|
"outerBrow_L_FRAME",
|
|
"outerBrow_L_CTRL",
|
|
"brows_TEXT",
|
|
"innerBrow_R_FRAME",
|
|
"innerBrow_R_CTRL",
|
|
"eye_R_FRAME",
|
|
"eye_L_FRAME",
|
|
"eyes_TEXT",
|
|
"eye_C_FRAME",
|
|
"eye_C_CTRL",
|
|
"eye_L_CTRL",
|
|
"eye_R_CTRL",
|
|
"nose_L_FRAME",
|
|
"nose_L_CTRL",
|
|
"nose_R_FRAME",
|
|
"nose_R_CTRL",
|
|
"nose_TEXT",
|
|
"cheek_TEXT",
|
|
"cheek_L_FRAME",
|
|
"cheek_L_CTRL",
|
|
"cheek_R_FRAME",
|
|
"cheek_R_CTRL",
|
|
"lowerLip_L_CTRL",
|
|
"lowerLip_C_CTRL",
|
|
"lowerLip_R_CTRL",
|
|
"lipCorner_R_CTRL",
|
|
"upperLip_C_CTRL",
|
|
"upperLip_L_CTRL",
|
|
"lipCorner_L_CTRL",
|
|
"upperLip_R_CTRL",
|
|
"eyelidUpperOuter_L_CTRL",
|
|
"eyelidUpperInner_L_CTRL",
|
|
"eyelidLowerOuter_L_CTRL",
|
|
"eyelidLowerInner_L_CTRL",
|
|
"eyelidLowerOuter_R_CTRL",
|
|
"eyelidLowerInner_R_CTRL",
|
|
"eyelidUpperOuter_R_CTRL",
|
|
"eyelidUpperInner_R_CTRL"
|
|
)
|
|
rsGUIFile = (theProjectRoot + "art/peds/3LateralSetup/RockStar_GTAV_GUI.max")
|
|
|
|
|
|
fn convertStandardGuiToAlphaGUI =
|
|
(
|
|
mergeMaxFile rsGUIFile quiet:true
|
|
|
|
-- disableSceneRedraw()
|
|
max modify mode
|
|
|
|
for sG = 1 to standardGui.count do
|
|
(
|
|
stdGUI = getNodeByName standardGui[sG]
|
|
alpGUI = getNodeByName ("RS_"+standardGui[sG])
|
|
|
|
if alpGUI != undefined then
|
|
(
|
|
--do i need to parent the alpGUI to the stdGui.parent 1st?
|
|
alpGui.parent = stdGui.parent
|
|
|
|
in coordsys world alpGui.transform = in coordsys world stdGui.transform
|
|
|
|
select stdGui
|
|
|
|
--need to ensure we maintain existing attr holders
|
|
|
|
if stdGui.modifiers.count > 0 then
|
|
(
|
|
modCount = stdGUI.modifiers.count
|
|
val = (modCount - 1)
|
|
if val < 2 then
|
|
(
|
|
modPanel.setCurrentObject stdGui.baseObject
|
|
modPanel.addModToSelection (Edit_Poly ()) ui:on
|
|
maxOps.CollapseNodeTo stdGui 2 off
|
|
)
|
|
else
|
|
(
|
|
modPanel.setCurrentObject stdGui.modifiers[val]
|
|
modPanel.addModToSelection (Edit_Poly ()) ui:on
|
|
maxOps.CollapseNodeTo stdGui (modCount - 1) off
|
|
)
|
|
|
|
modPanel.setCurrentObject stdGui.baseObject
|
|
)
|
|
else
|
|
(
|
|
convertTo stdGui PolyMeshObject
|
|
)
|
|
subobjectLevel = 4
|
|
max select all
|
|
|
|
max delete
|
|
--now we can attach the alpha plane
|
|
stdGui.EditablePoly.attach alpGUI stDGUI
|
|
subobjectLevel = 0
|
|
)
|
|
else
|
|
(
|
|
print ("Couldn't find RS node RS_"+standardGui[sG])
|
|
)
|
|
)
|
|
|
|
if ((yesNoGUI != undefined) and (yesNoGUI.isDisplayed)) do
|
|
(destroyDialog yesNoGUI)
|
|
|
|
rollout yesNoGUI "Connect Attrs?"
|
|
(
|
|
button btnYes "Yes" width:160
|
|
button btnNo "No" width:160
|
|
|
|
on btnYes pressed do
|
|
(
|
|
filein (RsConfigGetWildWestDir() + "script/3dsMax/Characters/Rigging/3Lateral/connectAlphaGuiToAttrs.ms")
|
|
-- connectAlphaGUIToAttrs()
|
|
(destroyDialog yesNoGUI)
|
|
)
|
|
|
|
on btnNo pressed do
|
|
(
|
|
--fack all
|
|
)
|
|
)
|
|
CreateDialog yesNoGUI width:175 pos:[800, 600]
|
|
)
|
|
|
|
convertStandardGuiToAlphaGUI()
|
|
|
|
|
|
|
|
|
|
|