anyone mentioned this before ?
there is a built in scripts for max , but no one cares to install it
the first is to select non-Quad polys
the second is a 3 point “spot” light
there are more for sure , but i think these 2 would be the most popular
Extracted from the MXS ref
[left][color=blue]macroscript[/color] SelectNonQuadPolys category:[color=maroon]"HowTo"[/color]
[/left]
[left](
[/left]
[left][color=blue]on[/color] isEnabled return
[/left]
[left](
[/left]
[left]selection.count == 1 [color=blue]and[/color] classOf selection[1].baseobject == Editable_Poly
[/left]
[left])
[/left]
[left][color=blue]on[/color] execute [color=blue]do[/color]
[/left]
[left](
[/left]
[left][color=blue]local[/color] face_selection = #{}
[/left]
[left][color=blue]local[/color] base_obj = $.baseobject
[/left]
[left][color=blue]local[/color] num_faces = polyop.getNumFaces base_obj
[/left]
[left][color=blue]for[/color] f = 1 [color=blue]to num_faces [/color][color=blue]do[/color]
[/left]
[left](
[/left]
[left][color=blue]local[/color] num_face_verts = polyop.getFaceDeg base_obj f
[/left]
[left][color=blue]if[/color] num_face_verts != 4 [color=blue]do[/color] face_selection[f] = true
[/left]
[left])[color=green]--end f loop[/color]
[/left]
[left]polyop.setFaceSelection base_obj face_selection
[/left]
[left][color=blue]max[/color] modify mode
[/left]
[left]modPanel.setCurrentObject base_obj
[/left]
[left]subobjectlevel = 4
[/left]
[left])[color=green]--end on execute[/color]
[/left]
[left])[color=green]--end script
[/color]
[/left]
3point Light " with very minor changes "
macroScript Three_Target_Lights
category:" Cgtalk "
tooltip:"3lights"
(
tool three_lights
(
local key, fill, back, targ
on mousePoint click do coordsys grid
(
if click == 1 then -- create key, back & fill lights at mousedown
(
targ=targetobject pos:gridPoint
key = targetspot pos:gridPoint name:"key" target:targ
back = targetspot pos:gridPoint name:"back" target:targ
fill = targetspot pos:gridPoint name:"fill" target:targ
)
if click == 3 then #stop
)
on mouseMove click do
(
if click == 2 then -- drag out & round on x-y plane
(
coordsys grid key.pos = gridPoint
coordsys targ back.pos = - key.pos
local p = if shiftKey then 90 else -90
coordsys targ fill.pos = key.pos * ((eulerangles 0 0 p) as quat)
)
else if click == 3 then -- drag up to elevate lights
(
in coordsys targ
(
local Z = gridDist.z
key.pos.z = Z
back.pos.z = Z * 1.5
fill.pos.z = Z * 0.5
)
)
)
)
startTool three_lights
)