Gracias Gracias:  14
Página 2 de 2 PrimerPrimer 12
Resultados 16 al 29 de 29

Tema: Tutorial MaXScript - Introduccion

  1. #16
    Miembro Nuevo
    Fecha de ingreso
    Jul 2008
    Ubicación
    La Laguna, Tenerife
    Mensajes
    15

    Re: Respuesta: Tutorial MAXScript - Introducción

    seguramente ya habras resuelto tu duda pero por si puede ayudar a alguien más... al principio si no me equivoco debes poner el nombre de la ventana:

    FirstDialog = newRolloutFloater "Título de la ventana" 250 175 -- 250 y 175 son las medidas

    después de todos los rollouts deberías poner algo como...

    addrollout TuPrimerRollout FirstDialog -- Esto añadira cada rollout al diálogo
    addrollout TuSegundoRollout FirstDialog
    addrollout . etc etc etc

    Yo también soy novato en maxscript así que igual no es certero 100%, pero por ahí van los tiros

  2. #17
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Lightbulb Re: Tutorial MaXScript - Introduccion

    hola,hola, tengo este experimento, que eh logrado hacer que seleccione continuamente, los objetos, pero, trato de que no siga buscando más selección, a los objetos .....


    Alguien de ustedes, me podría decir como le hago, se los agradeceré mucho por su ayuda .

    les dejo este : b^.- ....

    Código:
    rollout pru ""
    (
    button fin "Crear nombre al objeto"
    on fin pressed do if selection.count == 1 do if classof selection[1] == point do
    (
    myname = (filterstring selection[1].name "_")[1]
    if obj != $selection[1] do
    (
    c = $.name = myname + "_C_Handle"
    c = $p*
    )
    )
    
    spinner m "Selects points" range:[-0,9999,0] type:#integer
    
    ---button fin1 "Select el objeto nombrado"
    on m changed val do if selection.count == 1 do if classof selection[1] == point do
    (
     
    c = $p*
    
    for s in 1 to c.count - 1 do 
    (
     select c[1+m.value] 
    ) 
    )
    
    )
    createdialog pru
    --- b^.- creado por Chapolin ....
    Última edición por Miguel-Arte-3D-1990; 25-05-2015 a las 23:14

  3. #18
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Lightbulb Re: Tutorial MaXScript - Introduccion

    Que creen acabo de resolver el problema ehehehe!!!!, lo tenía en mis narices jjjjj b^.- le puse en el siglo for , a si : for s in m.value to c.count - 1 do y listo , ya puedo continuar y descontinuar la selección de los objetos, bueno pues a seguir luchando con Max jjjjj -.^d .

    Y espero que les sirva de algo, gracias . -.^d
    Última edición por Miguel-Arte-3D-1990; 18-03-2015 a las 22:14

  4. #19
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Exclamation Re: Tutorial MaXScript - Introduccion

    Hola, hola, tengo otro problema, alguien de ustedes me podrían explicarme, como se activa bien los plugins, eh tratado de sustituir, por otro nombre y el classid:,
    pero, me manda errores .....

    les dejo este ejemplo :

    Código :

    Código:
    plugin simpleobject Box
    name: "crear un Box"
    classid:#( 0xf573d97, 0x7c695ed8 )
    category:"Box2"
    (
    tool create
    (
    )
    )
    ahora trato de cambiar a si :

    Código:
    plugin simpleobject caracteres y modelaje
    name: "crear geometrias"
    classid:#( 0xf573d97, 0x7c695ed8 )
    category:"por chapolin"
    (
    tool create
    (
    )
    )
    --- Bueno les aviso que ahora estoy creando un plugins Crear caracteres y modelado .

    Y espero su ayuda, bueno, pues a seguir luchando con Max. -.^d ....
    Última edición por Miguel-Arte-3D-1990; 27-02-2015 a las 01:31

  5. #20
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Lightbulb Re: Tutorial MaXScript - Introduccion

    hola,hola, ya pude resolver el problema Gracias ....

    (b-.^d)

    Era ah si

    Código :

    Código:
    plugin simpleObject geometrias_2015
    name:"geometrias"
    classid:#(0x3ee41a1b, 0x5acc0b94)
    category:"ok"
    (
     tool create
     (
     )
    )
    bueno ah seguir luchando con max
    Última edición por Miguel-Arte-3D-1990; 23-03-2015 a las 01:07

  6. #21
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Lightbulb Re: Tutorial MaXScript - Introduccion

    Hola,hola, tengo una teoría,

    ¿se podrá cambiar los nombres, a los objetos, al compás del reloj, en un siglo for?, ejemplo :

    Que cuando llegue a clonar 4 puntos, el punto 1 cambie, por otro nombre $point001.name = "a", y cuando llegue a clonar 5 puntos, el punto 1 cambie por otro nombre $point001.name = "b" a si sucesivamente en un silgo For, pero, no se por donde empezar, en estos momentos estoy experimentando,de un cono que hice que esta en mi nuevo tema.

    Crear Caracteres y modelado, y espero sus comentarios y su ayuda.

    Gracias por visitarme en mis temas. -.^d

    Ok, les dejo este Código : como teoría b^.- .

    Código:
    rollout pp ""
    (
     spinner clon "lados" type:#integer range:[3,8,6] --- type:#integer
     
     button cr "clon"
     on cr pressed do
     (
     delete $p*
     delete $b*
     delete $c*
    
     p = point()
     
     for i in 1 to clon.value - 1 do
     (
     copiar = copy p
     copiar.pos = [i*clon.value*10,0,0]
     )
     
     p = $p*
     
     for i in p.count - 1 to p.count - 1 do
     (
     p[i+1].name = "c"
     )
    
     p = $p*
     
     for i in p.count - 1 to p.count - 1 do
     (
     p[1].name = "b"
     )
     )
    )
    createdialog pp
    De que se trata esta teoría, trato de quitar, las líneas que me sobran ah la hora de realizar el cono ok.

    saludos b^.-
    Última edición por Miguel-Arte-3D-1990; 25-05-2015 a las 23:22

  7. #22
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Post Re: Tutorial MaXScript - Introduccion

    hola,hola, encontré esta función, de operación numérica, no se si pueda resolver mi teoría que deje arriba ok, les dejo este Código.

    Código:
    fn operacion_numerica valor1 valor2 tipo =
    (
     if tipo == "suma" then return (valor1 + valor2) else
     (
     if tipo == "resta" then return (valor1 - valor2) else
     (
     if tipo == "multi" then return (valor1 * valor2) else
     (
     if tipo == "divide" then return (valor1 / valor2)
     )
     )
     )
    ) 
    
    operacion_numerica 1 3 "suma"
    
    operacion_numerica 23 3 "resta"
    
    operacion_numerica 23 5 "multi"
    
    operacion_numerica 64 2 "divide" ok, -.^d
    Bueno, espero su ayuda, y pues ah seguir luchando con Max. b^.-
    Gracias -.^d.
    Última edición por Miguel-Arte-3D-1990; 14-05-2015 a las 20:14

  8. #23
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Post Re: Tutorial MaXScript - Introduccion

    Hola,hola, alguien me podrían explicarme, sobre los if , then, return, else, siglo for , fn, array = #(), etc, al menos entender, real mente que lo que estoy haciendo, cuando
    trato de sacar algo , pero la ahora ups no se por donde empezar, hay tantas variaciones por aprender...

    Bueno, sigo batallando con Max, y espero su ayuda plz

    La idea que tengo es tratar de clonar puntos y que este cambiando, constantemente, ah partir del Point001 en un siglo por, ejemplo :

    Si quiero clonar 4 puntos, el primer punto 1 cambe por un nombre a si:Point001.name = "a"
    y cuando quiero clonar 5 puntos, el primer punto 1 cambie por otro nombre a si:Point001.name = "b

    a si sucesivamente en un siglo for o al copas de un reloj, ejemplo:

    que empiece a las 3 y que cuando llegue las 4 en lugar que se escuche la larma,
    que me cambie por nombres etc ..... Ok, eso es mi idea por el momento ok.

    Saludos a todos y que tengan un feliz, de semana santa -.^d .

  9. #24
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Post Re: Tutorial MaXScript - Introduccion

    Hola, colegas, alguien sabe como activar Flip Normals, en Maxscript, cuando ajunto a todos los splines .....

    ok, espero su ayuda ;( ,,,
    Miniaturas adjuntadas Miniaturas adjuntadas Tutorial MaXScript - Introduccion-ejemplo_crear_un_cono_2014-2015_2015-10110-.jpg  

  10. #25
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Post Re: Tutorial MaXScript - Introduccion

    Hola, hola, tengo una duda, sobre las funciones, quiero crear point, por medio, de una función, y luego llamarlo, por otra función, a si, sucesivamente , pero, no se, por que se desactiva, y deja de funcionar Max, etc.

    Ejemplo:

    Código:
    fn crearp np =
    (
     p = point name:np
     p.size = 5.0
    )
    
    fn creareobjetos =
    (
     crearp "a"
     crearp "b"
     crearp "c"
    
     a = $a
     b = $b
     c = $c
    
     for i = 0 to 5 do
     (
     copiar = copy a 
     copiar.name = ("a" + i as string)
     copiar.pos = [i*25,0,0]
     copiar.parent = a
     )
    )
    crearobjetos() --- nada, nada.

    Alguien de ustedes, me podrían decir, donde esta mi error plz espero su ayuda.

    Bueno, pues ah seguir luchando con Max .

  11. #26
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Exclamation Re: Tutorial MaXScript - Introduccion

    Hola, hola, sigo intentando, de resolver, sobre las funciones, va de nuez con este.

    Código:
    crearobjetos --- sin paréntesis "()" muy bien
    crearobjetos() --- con paréntesis nada, nada :( .
    --- le pongo con paréntesis , me manda error,
    --- sin paréntesis, si acepta, pero, no crea los point,y
    --- estado experimentando, hacer funciones , para no
    --- estar escribiendo varías veces como el ejemplo que esta arriba ok.

    ejemplo : con un Rollout

    Código:
    fn crearp np =
    (
     p = point name:np
     p.size = 5.0
    )
    
    fn creareobjetos =
    (
     crearp "a"
     crearp "b"
     crearp "c"
    
     a = $a
     b = $b
     c = $c
    
     for i = 0 to 5 do ---- me refiero todo esto estar creando
     (
     copiar = copy a 
     copiar.name = ("a" + i as string)
     copiar.pos = [i*25,0,0]
     copiar.parent = a
     ) ---- varias veces etc . ---
    )
    
    rollout ejemploconfn ""
    (
     button activarlasfunciones ""
     on activarlasfunciones pressed do
     (
     ---- crearobjetos() --- herronio --
     crearobjetos --- a si me indica un true se inifica verdadero
     )
    )
    createdialog ejemploconfn
    Alguien, de ustedes, me podrían explicar, donde esta el error, plz
    espero sus comentarios plz, se los agradecería mucho ok.

    bueno, ah seguir luchando con Max .

  12. #27
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Thumbs up Re: Tutorial MaXScript - Introduccion

    Mil gracias , por su ayuda, ya pude resolverlo, y espero,
    que le sirva, de algo ok.

    Saludos!!!!

    Código:
    fn crearp np =
    (
     p = point name:np
     p.size = 5.0
    )
    
    fn creareobjetos =
    (
     a = $a
    
     for i = 1 to 5 do
     (
     copiar = copy a 
     copiar.name = ("a" + i as string)
     copiar.pos = [i*25,0,0]
     copiar.parent = a
     )
    )
    
    rollout pru ""
    (
    	
     button cr ""
     on cr pressed do
     (
    	delete objects
    
     crearp "a"
    	creareobjetos()
     )
    )
    createdialog pru
    --- listo

    mi error fue , que era primero, es llamar, la (función crearp "a"), y
    luego, llamar el siguiente, (función creareobjetos()) , y listo ok.

    bueno, ah seguir batallando con MAx.
    Última edición por Miguel-Arte-3D-1990; 27-05-2015 a las 22:36

  13. #28
    Senior Member
    Fecha de ingreso
    Oct 2010
    Ubicación
    México D.F.
    Mensajes
    582

    Exclamation Re: Tutorial MaXScript - Introduccion

    Hola colegas, tengo un problema sobre (COUNT), no le hallo, como seguir continuando, de nombrar (F1 y F2), a los objetos, solo me crea una vez, cuando selecciono, los primeros 2 objetos, pero, a la hora de seleccionar otros 2 objetos, solo me nombra la letra (F) etc.

    Les dejo un ejemplo :

    Código:
    fn a =
     (
     if selection.count > 1 then
     (
     $.name = "f" --- a qui continua el nombre (F) en cualquier objeto ---
    
     f = $f* --- a qui se nombra (F1 y F2) entre 2 objetos . ---
    
     for i in 1 to f.count - 1 do
     (
     f[1].name = "f2"
     
     f[1+1].name = "f1"
     )
     )
     
     else 
     (
     messagebox "select two objects to name, F1 and F2"
     )
     )
    
    rollout p ""
    ( 
     button cr "f"
     on cr pressed do
     (
     a()
     )
    )
    createdialog p
    Espero que alguien, me pueda resolver, este ejemplo por favor
    se lo agradecería mucho .

    Saludos de Miguel

  14. #29
    Senior Member Avatar de tests
    Fecha de ingreso
    Sep 2007
    Ubicación
    Neuquén, Argentina
    Mensajes
    383

    Re: Tutorial MaXScript - Introduccion

    Hola estoy tratando de correr el siguiente script que es para hacer strech a un biped y me sale ese error, asumo que un paréntesis está mal colocado o falta, no lo entiendo. alguien sabe que puede ser?

    Código:
    macroScript SquashyBiped
    category:"lm_Rigging" 
    tooltip:"SquashyBiped" 
    buttontext:"SquashyBiped" 
    (
    -------------------------------------------------------------------------------
    -- Globals
    --***dialog settings***
    
    global squashyBiped_dialog, squashyBiped_rollout
    
    try(cui.FloatDialogBar squashyBiped_rollout)catch()
    try(cui.unRegisterDialogBar squashyBiped_rollout)catch()
    try (destroydialog squashyBiped_rollout) catch()
    
    global objs, parents
    objs = #()
    parents = #()
    
    -- Functions
    fn biped_filt obj = classof obj == Biped_object
    
    fn detect_bipeds =
    (
     arr_bipeds = #()
    for bips in geometry where (classof bips.controller == Vertical_Horizontal_Turn) do
    (
    append arr_bipeds bips.name
    )
    return arr_bipeds
    
    ) 
    
    rollout squashyBiped_rollout "StretchyBiped"
    (
    
     button btn_Stretch "Make Stretchy" tooltip:"select all biped bones which you want to stretch with one parameter" across:2
     checkbox ch_cntInclude "skip 1st" tooltip:"will force action to take first obj as controller only" offset:[20,5] 
     button btn_remStretch "remove stretch" tooltip:"select controller," width:170
    
     
    -- local functions 
    fn quick_react_setup react react2 = (
    print react
    print react2
    print dir
    print axis
    -- animate react2 (cos new state needs value )
    anim_val = 100
    animate on at time 10 react2.value = anim_val
    anim_val = -100
    animate on at time 20 react2.value = anim_val
    -- create reaction controller on morph channel
    r_cnt = float_reactor()
    react[1].controller = r_cnt
    -- creating state 1
    reactto r_cnt react2
    -- creating state 2
    slidertime = 10
    createreaction r_cnt
    -- creating state 3
    slidertime = 20
    createreaction r_cnt
    -- setting reaction values
    setReactionState r_cnt 1 0.5
    setReactionState r_cnt 2 1.0
    setReactionState r_cnt 3 6.0
    -- naming reactions
    setReactionName r_cnt 1 "min"
    setReactionName r_cnt 2 "default"
    setReactionName r_cnt 3 "max"
    slidertime = 0
    -- delete animation keys
    deleteKeys react2 #allKeys 
    
    )
    
    fn setupExprCnt react react2 = (
     -- dealing with X AXIS for stretch
     cnt = float_expression()
     react[1].controller = cnt
     
     iface = cnt.iexprctrl
     iface.addscalartarget "stretch" react2 offset:0
     iface.setexpression "stretch"
    
     -- dealing with Y&Z axis for squash expression
     for i = 2 to 3 do (
     cnt = float_expression()
     react[i].controller = cnt
     
     iface = cnt.iexprctrl
     iface.addscalartarget "stretch" react2 offset:0
     iface.setexpression "(sqrt(stretch))/stretch"
      )
    )
    
    fn check_rig node = (
    if (node.modifiers[#attribute_holder] != undefined ) then return true else return false
    )
    
    on btn_remStretch pressed do
    (
    
    if (check_rig selection[1] == true) then (node = selection[1])
    if node != undefined then
     (
     -- getting dependent nodes into array
     nodes_arr = #()
     cnt_arr = #()
     
     cnt = node.modifiers[#Attribute_Holder].stretch.controller
     nodes_arr = refs.dependentnodes cnt
     try (deleteModifier node 1) catch()
    
     for i in 1 to nodes_arr.count do
     (
     cnt = nodes_arr[i].transform.controller.biped_subanim.controller.bipscalelist.controller
     append cnt_arr cnt
      )
     for i in 1 to cnt_arr.count do
     (
     cnt_arr[i].delete 1 
      )
      )
    )
    
    on btn_Stretch pressed do
    (
     nodes_arr = #()
     cnt_arr = #()
     nodes_arr = selection as array
     if ch_cntInclude.state == true then deleteItem nodes_arr 1
     
     node = selection[1]
     
     if node != undefined then
     (
     addmodifier node (EmptyModifier ())
     new_def = attributes str_attributes )
     (
     Parameters main rollout:params
     (
     'STRETCH' Type:#float UI:'STRETCH' Default:1.0
      )
     Rollout Params "stretching Attributes"
     (
     spinner 'STRETCH' "STRETCH:" Width:100 Height:16 Align:#Left Offset:[0,0] Type:#float Range:[0.05,5,1.0]
      )
      )
     CustAttributes.add node.modifiers[#attribute_holder] new_def
    
     for i in 1 to nodes_arr.count do
     (
     cnt = nodes_arr[i].transform.controller.biped_subanim.controller.bipscalelist.controller
     append cnt_arr cnt
      )
     for i in 1 to cnt_arr.count do
     (
     new_cnt = scaleXYZ()
     
     cnt_arr[i].Available.controller = new_cnt
      )
    
     cnt = bezier_float() -- needed once 
     react2_cnt = node.modifiers[#attribute_holder].stretch.controller = cnt
     for i in cnt_arr do
     (
     --react_cnt = i[1].controller
     -- setting stretchy at x
     --quick_react_setup react_cnt react2_cnt -- setting stretch at x axis
     -- setting squash at yz
     
     -- setup expression controllers
     react_cnt = i[1].controller -- sending xyz controller for scalelist first controller to setup expressions on this
     --print react_cnt
     setupExprCnt react_cnt react2_cnt
      )
     
     
    )
    )
    
    on squashyBiped_rollout open do
     (
    
      )
     
    
    ) -- end of rollout
    
     on execute do (
     squashyBiped_dialog = createDialog SquashyBiped_rollout 200 60 pos:[5,70]style:#(#style_titlebar, #style_border,#style_sysmenu)
     squashyBiped_rollout.title = ("SquashyBiped" + "_v_0.2")
     )
    )
    Y este es el error que me sale una vez que lo quiero ejecutar:

    Welcome to MAXScript.

    -- Error occurred in anonymous codeblock; filename: C:\Program Files\Autodesk\3ds Max 2015\MacroScripts\lm_Rigging-SquashyBiped_0.mcr; position: 493; line: 20
    -- Syntax error: at end, expected (
    -- In line:
    cuan dificil es resistir a la tentación...

Página 2 de 2 PrimerPrimer 12

Temas similares

  1. RealFlow Primer tutorial de RealFlow: Vistazo general e introducción
    Por kazlivsjy en el foro Almacen de Tutoriales
    Respuestas: 0
    Último mensaje: 07-09-2014, 13:09
  2. Tutorial para animar con maxscript
    Por juliux en el foro Programación y Scripts
    Respuestas: 0
    Último mensaje: 19-12-2012, 05:51
  3. Respuestas: 3
    Último mensaje: 10-11-2008, 08:26
  4. Tutorial de MaXScript prinsipiante
    Por Alexs1888 en el foro Programación y Scripts
    Respuestas: 4
    Último mensaje: 06-10-2008, 23:42
  5. [MaXScript Tutorial] - Matrices de transformacion
    Por HalfVector en el foro Programación y Scripts
    Respuestas: 18
    Último mensaje: 02-08-2008, 17:41

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •