PDF de programación - iniciación a maxscript

Imágen de pdf iniciación a maxscript

iniciación a maxscriptgráfica de visualizaciones

Publicado el 19 de Septiembre del 2017
1.374 visualizaciones desde el 19 de Septiembre del 2017
1,7 MB
19 paginas
Creado hace 9a (05/06/2014)
INICIACIÓN A MAXSCRIPT
JAIME3D.INFO

INICIACIÓN A MAXSCRIPT


MAXSCRIPT



CONCEPTOS BÁSICOS

Maxscript es el lenguaje de programación de 3Dstudio Max.

Un script son cadenas de texto que dan instrucciones al programa.

Hay mas de una zona donde se puede escribir el script .

El Listener permite escribir y ver el resultado de la ejecución del script.

Hay varias formas de ver el listener. Puedes hacer clic derecho del ratón sobre
la pantalla rosacea y clicar sobre Open listener Window, apretar F11, o irte al
menú Maxscript de la barra de arriba y clicar sobre MAXscript Listener.

En la parte rosa podemos escribir el comando , clicamos enter, y abajo nos
aparece el resultado.

También podemos incluir el listener en uno
de los visores de max.

Para volver a tener el visor como antes ,
basta con ir a otro , y clicar sobre la opcion
de visualizacion de la ventana y configure.

En Layout encontraremos las diferentes
conbinaciones de visores.

Clicamos el que nos interese y le damos a
aplicar.


JAIME3D.INFO



1



INICIACIÓN A MAXSCRIPT

Dentro del Maxscript Listener tenemos el
MacroRecorder.

Si lo activamos quedaran grabadas las acciones
que hagamos en Max.

(Va bien para saber que comandos usa max al utilizar el programa).

Por ejemplo creamos una tetera y le
aplicamos un modificador.

Pues irá apareciendo el codigo en la
pantalla rosa como podemos ver en
la captura de pantalla.

Para borrar el contenido del
Maxscript le damos a Ctrl+D.

los

resultados de

El panel en blanco es donde
aparecen
la
ejecución del codigo y donde
podemos detectar los errores de los
scripts.

Otra forma de picar codigo , es en el Maxscript Editor.

Es como el bloc de notas, de hecho podríamos crear el código
en el bloc de notas de windows y ejecutarlo en el
programa,pero el editor de max es más cómodo de usar porque
podemos ir abriendo ventanas y tenemos varias herramientas
que nos pueden ser muy útiles, como evaluar todo el codigo o
solo parte de el. O hacer comentarios de lo que vamos
haciendo.

Existe una interactividad entre el Maxscript Editor y el
Listener.Cuando picamos codigo en el Editor, el Listener
nos irá devolviendo el resultado y nos avisará de los
errores.

Para evaluar
todo el codigo
daremos
a
Ctrl+E, y para
evaluar solo la parte seleccionada o la linea sobre la que
esté el cursor, Shift+Enter.

Hay que ser ordenado al programar, y una de las maneras es indentar el código. Es decir, usar

La tecla Tab para que se vea todo más claro , separando unas líneas de otras y ordenarlas por
jerarquía.

Una forma de ser ordenado, también es comentando el código. Hay varias maneras.



JAIME3D.INFO


2





INICIACIÓN A MAXSCRIPT

Se puede realizar con dos guiones seguidos
antes de cada comentario.

O si se quiere hacer un comentario muy largo
añadimos barra y asterisco antes y despues de
la linea.

Cuando existen lineas muy largas que se
hacen incomodas de leer, las podemos
partir con barra
invertida y Max
interpreta que sigue siendo la misma
linea.

LAS VARIABLES

Las variables son contenedores y los datos asociados a estas se llaman valor.

Si escribimos A =10. La variable es A y el valor es 10.

Si a X le damos el valor de la creación de una esfera, cada vez que escribamos x , vamos a llamar
a
esfera.

esa

Podemos hacer operaciones con las variables que contienen valores numéricos.

También le podemos decir que una variable es mayor que otra, y nos contesta verdad o falso
según los valores de estas variables.



A las operaciones que nos dan valores
false,true,on,off se llaman booleanas.

Muchas opciones de max se basan en
estas operaciones. Por ejemplo en una
tetera
o
desactivamos partes de esta en el
maxscript
con el macrorecorder
activado, vemos que aparecen con el on y off según estén activadas o desactivadas.

activamos

cuando

CADENAS DE TEXTO O STRINGS


JAIME3D.INFO



En
lugar de numeros como
valores para las variables, se
pueden asignar cadenas de
texto.

podemos

crear
Tambien
mensajes en ventanas de Max
usando messageBox.


3

INICIACIÓN A MAXSCRIPT


O hacer preguntas con yesnocancelbox”te enteras de algo?” -- aparece una ventana
preguntando.

Se puede usar una cadena de texto para introducir
números, pero luego no pueden ser usados como
números para realizar operaciones.

En este caso debemos
decirle a max, que esa

cadena de texto debe interpretarse como un numero.

Entre parentesis debemos poner la variable seguido de .. as integer 



LAS FUNCIONES

Son como pequeños programas dentro de Max.

Los argumentos son cualidades necesarias en algunas funciones para poder ejecutarse.

Sphere() - - no necesita argumentos para ejecutarse. Podríamos ponerle argumentos como
radio,longitud o número de segmentos, pero si no ponemos nada ,simplemente nos crea una
esfera aleatoria en el 0,0,0 de los ejes de coordenadas.

Sin embargo messagebox() necesita argumentos en forma de cadenas de strings para poder
ejecutarse.

En la siguiente función vamos a crear una variable llamada sumar , una llamada valor1 y otra
llamada valor 2.

La función va a hacer que al ejecutar la variable sumar ,junto a las variables valor1 y valor2 el
resultado será la suma de esos 2 números.

Si ejecutamos .... sumar 5 3 nos dará el valor 8.

A su vez podemos crear otra variable que acumule la función con dos valores dados.

Cuando llamemos a Valor3 nos va a sumar 5+3.



Las funciones guardan en memoria variables que se ejecutan cuando les asignamos valores y las
llamamos.



JAIME3D.INFO


4

INICIACIÓN A MAXSCRIPT



LOS CONDICIONALES

Añade condiciones, en este caso a una función.



Esta función crea variables y
una de ellas se llama tipo.

resta

Si tipo es suma entonces
los valor1 y
sumaremos
valor2,
y
sino
lo que
miraremos es , si tipo es igual
a
, que entonces
restaremos valor1-valor2 y
iremos
sino
comprobando
las
condiciones que
van a
continuación.

entonces

Al final en el listener llamaremos a la funcion
diciendo que vamos a multiplicar valor 5 y 3.

Otra forma de hacer lo mismo es el case of.

Evitamos tener que escribir tanto y acabamos
obteniendo el mismo resultado.



Tipo de condicionales

If x>5 do ()

If x>5 then ()

If x>5 then () else ()

Case x of ()



JAIME3D.INFO


5


ARRAYS

INICIACIÓN A MAXSCRIPT

Un array es una lista de elementos. Y esta se puede asignar
a una variable. Para vaciarlo hacemos lista=#()

Podemos acceder al contenido del array poniendo la
posición que ocupa este elemento entre corchetes.

En la captura vemos como la posición 2 de la lista , es “casa”.

Podemos saber el número de elementos del array
agregando .count a la variable que forma el array.

BUCLES O LOOPS

Nos sirve para repetir acciones

Si seleccionamos varias teteras, y escribimos:



Este script quiere decir, que asignamos a x la selección actual, que son las 3 teteras.

Si el asa de las teteras esta quitada o desactivada entonces on ( la ponemos), y sino la quitamos.

Vamos a analizar el script.

Al principio creamos las variables que contengan los arrays, luego creamos unos bucles en los
cuales creamos esferas en la que la primera está en la posición 10,10,10, la siguiente en 10,10,20
la siguiente 10,10,30 hasta llegar a 10,10,100. Luego se crearía la siguiente en 10,20,100 hasta
10,100,100 y más adelante se incrementaría el eje x para acabar formando un cubo.

Mientras vamos creando el cubo, añadimos un material diferente a cada esfera.

Append añade a la variable objecs ,cada esfera ,para generar un array.


JAIME3D.INFO



6

INICIACIÓN A MAXSCRIPT


El siguiente array se crea añadiendo los materiales dentro
de la variable colors.

Añadimos a colors sfera.material.diffuse , para añadir en la
variable colors , los numeros que formarian cada color.

De esta manera podemos
llamar a colors[1] y nos saldrian
los valores de ese color.

Si no ponemos .diffuse al final
, lo que pasa es que los valores que nos da en los colores
no son numéricos sino el material standard de cada esfera.

En esta última captura, creamos una función que aplica el mismo material checker a todas las
esferas .Por otro lado tenemos otra función que vuelve a dar materiales difuse a cada esfera.

Dejo el texto para poder copiar pegar dentro del maxscript Editor de Max.



myesfer= sphere pos:[10*x,10*y,10*z] radius:5 segs:8
myesfer.material = standard diffuse:(color(255/x)(255/y)(255/z))



append objets1 myesfer
append colors1 myesfer.material.diffuse

for z=1 to 10 by 2 do
(



)

for y=1 to 10 by 2 do
(



)

objets1=#()
colors1=#()

for x=1 to 10 by 2 do
(



)
fn aplicamaterial listaobjs =
( mimaterial=architectural diffuseMap:(checker()) showmapinviewport:on


)
fn restauramaterial listaobjs listacolores =
(

)

for cadaobjs in listaobjs do
( cadaobjs.material=mimaterial)

for i= 1 to listaobjs.count do
( listaobjs[i].material = standard diffuse:colors1[i])


JAIME3D.INFO



7

INICIACIÓN A MAXSCRIPT



LOS VECTORES



Seleccionamos un objeto en el eje de coordenadas y en el listener window escribimos
$.transform el dólar se refiere al eje seleccionado.

Nos devuelve una matriz de 4 x 3 elementos.

Los 3 primeros entre corchetes muestran las transformaciones en rotación y el ultimo muestra
la posición.



Si lo movemos 5 en Z y 1 en X, veremos como en la matriz se han cambiado los valores a los de
la nueva posición.

Las rotaciones y el escalado se escriben en los mismos elementos de la matriz, por lo que hay
que tener mucho cuidado con esto.

En la sigu
  • Links de descarga
http://lwp-l.com/pdf7017

Comentarios de: iniciación a maxscript (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad