Gracias Gracias:  0
Resultados 1 al 8 de 8

Tema: acceder a atributos para copiarlos como instancia

  1. #1
    Senior Member
    Fecha de ingreso
    Sep 2002
    Ubicación
    Madrid
    Mensajes
    162

    Acceder a atributos para copiarlos como instancia

    Hola

    Estoy creando un script para hacer lo siguiente.

    Tengo dos objetos, y mediante un script copio como instancia los valores de posición del objeto a al objeto b.

    Supongo que hay alguna otra manera mejor de hacerlo, pero yo lo hago así

    $box.pos.controller.X_Position.controller = $sphere.pos.controller.X_Position.controller

    De esta manera me funciona, y cualquier cambio en la posición en X de la caja, se realiza en la esfera y viceversa.

    El problema es el siguiente. Por otro lado he creado mediante script unos atributos, recogidos con un attribute holder.

    def=attributes prueba
    (
    parameters pruebaparam
    (
    1 type:#Float
    2 type:#Float
    )
    )
    custAttributes.add $.modifiers[1] def

    Lo que quiero es acceder a esos atributos y que también sean instancia de la caja y la esfera.
    Así, cuando mueva la caja, se moverá la esfera, y el atributo 1 tendrá también el valor de la caja.

    He mirado el post "Make Instance Of..." pero no creo que sea el mismo caso, o si es algo parecido, no consigo identificarlo

    saludos

  2. #2
    H = E + L
    Fecha de ingreso
    Mar 2004
    Ubicación
    Entre dos vectores
    Mensajes
    870

    Re: Acceder a atributos para copiarlos como instancia

    A ver si esto funciona.

    Supongamos que tienes una esfera y le aplicas el "custom attribute" que has puesto al "base object". Si ahora quieres crear una instancia del mismo en una tetera, debería ser:

    Código:
    append $teapot01.baseObject.custAttributes $sphere01.baseObject.custAttributes[1]
    Siempre y cuando el custom attribute esté en esa posición del array de atributos.

    Slaudos.
    Última edición por HalfVector; 10-11-2006 a las 21:06

  3. #3
    Senior Member
    Fecha de ingreso
    Sep 2002
    Ubicación
    Madrid
    Mensajes
    162

    Re: Acceder a atributos para copiarlos como instancia

    Hola HalfVector

    Por tu respuesta entiendo que también debo aplicar a la tetera un custom attributes. No estoy seguro de que sea exactamente lo que busco.

    La idea es que la tetera no tenga custom attibutes.

    Pongamos una escena con dos elemento, una esfera y un rectángulo. La idea es que la esfera no tiene custom atributes, sino que lo tiene el rectángulo.
    En el custom atributes del rectángulo he metido, mediante script, dos parámetros, uno para la posición en X y otro para la posición en Y.

    Lo que quiero es copiar mediante script, la posición en X de la tetera en el parámetro de posición en X del custom attributes que tiene el rectángulo, y copiarlo como instancia. Y lo mismo con la posición en Y de la tetera, copiada como instancia en el segundo parámetro del custom attributes, para la posición en Y.

    Si la escena sólo tuviese dos elementos, una caja y una esfera, sin custom attributes ninguno de los dos, lo he solucionado como ponía en mi primer post

    $box.pos.controller.X_Position.controller = $sphere.pos.controller.X_Position.controller

    El problema es que no se cómo acceder a los parámetros que he creado en el custom attributes para hacer algo similar a lo de arriba

    $box.pos.controller.X_Position.controller = $sphere.pos.controller.X_Position.controller

    donde pueda sustituir la expresión de la esfera por la del rectángulo con custom attributes

    saludos

  4. #4
    Senior Member
    Fecha de ingreso
    Feb 2005
    Ubicación
    por ahi ando
    Mensajes
    2,235

    Re: Acceder a atributos para copiarlos como instancia

    Hombre Carlos,que tal?.No voy a decir nada interesante,solo era para saludar.
    Ya me contaras como vas por alla.
    Adeu

    Pdorry por el offtopic

  5. #5
    Senior Member Avatar de phoelix
    Fecha de ingreso
    May 2005
    Ubicación
    Bogotá, Colombia
    Mensajes
    321

    Re: Acceder a atributos para copiarlos como instancia

    podrías intentar de la misma manera que hiciste para copiar los controladores de la caja a la esfera:

    Código:
    def=attributes prueba 
    (
    parameters main rollout:persiana
    (
    vara type:#Float ui:a
    varb type:#Float ui:b
    
    )
    rollout persiana "position"
    (
    spinner a "X" range:[-999999,999999,0]
    spinner b "Y" range:[-999999,999999,0]
    )
    )
    custAttributes.add $box01 def
    $box01.prueba.vara.controller=$box01.position.controller.x_position.controller
    $box01.prueba.varb.controller=$box01.position.controller.y_position.controller
    $sphere01.position.controller.x_position.controller=$box01.position.controller.x_position.controller
    $sphere01.position.controller.y_position.controller=$box01.position.controller.y_position.controller
    esto teniendo una esfera llamada sphere01 y una caja llamada box01

    archivo de ejemplo adjunto
    Archivos adjuntados Archivos adjuntados
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  6. #6
    Intentador inconstante Avatar de mrmojorisin
    Fecha de ingreso
    Mar 2006
    Ubicación
    Tucumán, Argentina
    Mensajes
    153

    Re: Acceder a atributos para copiarlos como instancia

    Perdón por revivir el hilo, pero tengo una duda... y este post me ha ayudado un poco, pero...

    Como hago para que los atributos estén en un attribute holder y no en la base del objeto (en este caso Box)

    Desde ya, muchas gracias!

  7. #7
    H = E + L
    Fecha de ingreso
    Mar 2004
    Ubicación
    Entre dos vectores
    Mensajes
    870

    Re: Acceder a atributos para copiarlos como instancia

    Hola.

    En teoría, suponiendo que tienes un custom attribute como por ejemplo éste:

    Código:
    fooCA = attributes fooAttributes
    (
        parameters main rollout:params
        (
            foo type:#float ui:fooSpinner default:10
        )
    
        rollout params "MyRollout"
        (
            spinner fooSpinner "foo" type:#float
        )
    )
    y un objeto con un attribute holder, con ésto lo añadirías sólo al attribute holder del objeto:

    Código:
    custAttributes.add $.modifiers["Attribute holder"] fooCA
    Creo que debería funcionar.

    Saludos.

  8. #8
    Intentador inconstante Avatar de mrmojorisin
    Fecha de ingreso
    Mar 2006
    Ubicación
    Tucumán, Argentina
    Mensajes
    153

    Re: Acceder a atributos para copiarlos como instancia

    GRACIAS!! ya mismo lo pruebo...

Temas similares

  1. Blender Como copiar atributos modificadores entre objetos
    Por Arkinauta en el foro Infografía General
    Respuestas: 2
    Último mensaje: 20-02-2010, 18:52
  2. referencia se comporta como instancia en max 2009
    Por uqbar77 en el foro Modelado
    Respuestas: 1
    Último mensaje: 06-02-2010, 17:32
  3. Como acceder a mi hilo
    Por Tirit en el foro Todo menos Infografía
    Respuestas: 5
    Último mensaje: 01-02-2008, 23:35
  4. Maxscript: acceder al path de un Loft como spline
    Por cluezz en el foro Programación y Scripts
    Respuestas: 1
    Último mensaje: 28-12-2006, 12:34
  5. Respuestas: 0
    Último mensaje: 26-12-2006, 22:40

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.
  •