Last active
September 18, 2023 09:04
-
-
Save JokerMartini/4705d4d14a40a0081e32 to your computer and use it in GitHub Desktop.
Maxscript: Create an empty mesh node in 3ds Max using maxscript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
epoly = convertToPoly (editable_mesh name:(uniquename "EPoly")) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fn stealMesh node:undefined = | |
( | |
if isvalidNode node do | |
( | |
local mods = #() | |
for m = 1 to node.modifiers.count do | |
( | |
append mods node.modifiers[m].enabled | |
node.modifiers[m].enabled = false | |
) | |
-- clean mesh | |
epoly = convertToPoly (editable_mesh name:(uniquename "EPoly")) | |
epoly.transform = node.transform | |
epoly.scale.controller = ScaleXYZ() | |
epoly.scale.controller.value = [1,1,1] | |
-- inject mesh | |
meshInstance = instance node | |
polyOp.attach epoly meshInstance | |
-- fix transform | |
ctrl = classof node.scale.controller | |
node.scale.controller = ScaleXYZ() | |
node.transform = epoly.transform | |
node.scale.controller = ctrl() | |
node.ObjectOffsetPos = [0,0,0] | |
node.ObjectOffsetRot = quat 0 0 0 1 | |
node.ObjectOffsetScale = [1,1,1] | |
node.baseObject = copy epoly.baseObject | |
for m = 1 to mods.count do | |
( | |
if mods[m] do node.modifiers[m].enabled = true | |
) | |
delete epoly | |
gc() | |
) | |
) | |
fn resetMeshes nodes:#() = | |
( | |
max create mode | |
InstanceMgr.MakeObjectsUnique nodes #individual | |
for n in nodes do | |
( | |
stealMesh node:n | |
) | |
) | |
resetMeshes nodes:selection() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment