Home Coding, Scripting, Shaders

[Maxscript] Unwrap Cylinder Context Script

ngon master
Offline / Send Message
zachagreg ngon master
Hey all,

I've been using this script that I threw together for unwrapping cylinders quickly in max. Basically combined a couple of frequently used commands together so that it is just one keypress. As well as solving an issue I run into often in max cylinder unwrap where it staggers the edge along a seam or doesn't weld a vert. Thought you guys might appreciate it or get some use out of it. Also combined a context sensitive function in it to select poly ring while in edit_poly. I believe the relax function is just @renderhjs relax function from TexTools just stacked a couple more times. So all credit to him for the quick 200 iteration relax.
macroScript ContextRingUnwrap<br>category: "Pendragon"<br>ButtonText: "RingUnwrap"<br>(<br><br>if selection.count == 1 and isKindOf $ Editable_Poly or validModifier $ Edit_Poly do --check if valid edit poly/editable poly<br>(<br>	macros.run "PolyTools" "Ring"<br>)<br><br>if selection.count ==1 and validModifier $ Unwrap_UVW do --check if Unwrap mod is applied<br>(<br>	actionMan.executeAction 2077580866 "40178"<br>	actionMan.executeAction 2077580866 "40162"<br>	actionMan.executeAction 2077580866 "40015"<br>	if classof (modPanel.getCurrentObject()) == Unwrap_UVW then(<br>		undo on(<br>			local uv = modPanel.getCurrentObject();<br>			<br>			local gRi = uv.unwrap3.getRelaxIteration();<br>			local gRa = uv.unwrap3.getRelaxAmount();<br>			<br>			case uv.gettvsubobjectmode() of(<br>				1: (<br>					uv.unwrap3.setRelaxIteration 200;--default 100<br>					uv.unwrap3.setRelaxAmount 1;--default 0.1<br>					uv.unwrap3.relax2();<br>				)<br>				2: (<br>					--edge selection<br>					uv.relaxByEdgeAngle 1000 0 1 false;<br>				)<br>				3: (<br>					<br>					uv.unwrap5.relaxByFaceAngle 1000 0 1 false;<br>				)<br>			)<br>			<br>			--restore previous settings<br>			uv.unwrap3.setRelaxIteration gRi;<br>			uv.unwrap3.setRelaxAmount gRa;<br>		)<br>	)<br>	actionMan.executeAction 0 "50027"  -- Selection: Select Object<br>	macros.run "Modifier Stack" "SubObject_2"<br>	macros.run "Modifier Stack" "SubObject_3"<br>)<br>)
Sign In or Register to comment.