Crear Script para atajo de teclado en los Selection Filters de 3D Studio Max.



Para cambiar entre los distintos Filtros de Selección (Geometría, Cámaras, Huesos, etc...) mediante teclas, lo único que hay que hacer es configurar el atajo de teclado que consideremos oportuno, en el menú de atajos de teclado de 3dsmax, como cualquier otro elemento. La única pega es que 3dsmax por defecto no muestra "Selection Filters" en ese menú para configurarlo. Pues muy sencillo, lo creamos mediante un MacroScript:

En 3dsmax abrimos el menú MAXScript / New Script

Y escribimos o copiamos lo siguiente:


Macroscript Filter_All category:"Selection Filters" ( SetSelectFilter 1 )
Macroscript Filter_Geometry category:"Selection Filters" ( SetSelectFilter 2 )
Macroscript Filter_Shapes category:"Selection Filters" ( SetSelectFilter 3 )
Macroscript Filter_Lights category:"Selection Filters" ( SetSelectFilter 4 )
Macroscript Filter_Cameras category:"Selection Filters" ( SetSelectFilter 5 )
Macroscript Filter_Helpers category:"Selection Filters" ( SetSelectFilter 6 )
Macroscript Filter_Warps category:"Selection Filters" ( SetSelectFilter 7 )
Macroscript Filter_Bones category:"Selection Filters" ( SetSelectFilter 8 )
Macroscript Filter_IK_Chain_Object category:"Selection Filters" ( SetSelectFilter 9 )
Macroscript Filter_Points category:"Selection Filters" ( SetSelectFilter 10 )


Con esto lo que hacemos es llamar a cada "filtro de selección" para que nos lo muestre el menú de configuración de atajos de teclado, y así después podamos asignarle manualmente el atajo que queramos.

Una vez escrito o pegado el código anterior, damos a File /Save As... y lo guardamos como Script File(*.ms, *.mcr), nos aseguramos que lo ha guardado con la extensión .mcr, de no ser así, renombramos el archivo y ponemos la extensión correcta.

(O bajamos de aquí y descomprimimos el Script ya compilado y listo para ejecutar)

En 3dsmax, ejecutamos el archivo que hemos guardado, mediante el menú MAXScript / Run, lo seleccionamos y damos a abrir.

Bien, ya podemos ir al menú Customize / Custom User Interface / pestaña: Keyboard, y en el menú desplegable Category ya aparecen los Filtros de Selección por separado para asignarle uno a uno el atajo de teclado que más nos guste.

Selection Filters Menú 3dsmax

Para el futuro, podemos dejar ese archivo .mcr en la carpeta donde tengamos instalado 3dsmax ./Scripts/Startup/



Peculiaridad.


El código mostrado en este post de TripleClic, sirve para los Filtros de Selección que vienen por defecto en 3dsmax.

Selection Filters 3dsmax

Si nosotros hemos añadido algún filtro personalizado, "Combo", hay que modificar los números del apartado "SetSelectFilter", números que en realidad sólo llaman a la posición del filtro en el listado (no cuenta la palabra "Combos..." ni los separadores "------"). De tal manera que si por ejemplo añadimos un filtro combo personalizado, todos los filtros a partir de él, ocuparán una posición más, y en el código tendrán que tener un número más. Así sucesivamente con tantos personalizados tengamos.

ejemplo:
Selection Filters 3dsmax
Ahí la palabra "SCH" ocuparía la posición 8 del listado, número que correspondía a "Bones, así que si no corregimos los números, cuando demos al atajo que teníamos asignado a "Bones", nos seleccionaría "SCH", etc.