Gracias Gracias:  2
Resultados 1 al 10 de 10

Tema: Script alineación con viewport

  1. #1
    Alberto pa servirle Avatar de acortes
    Fecha de ingreso
    Dec 2004
    Ubicación
    Asturias, paraiso natural
    Mensajes
    2,641

    Script alineación con viewport

    Hola a tod@s, llevo semanas rompiéndome la cabeza para encontrar la forma de hacer que un plano siempre esté orientado al viewport activo.
    Conozco la herramienta look at to camera para hacer que un plano siempre mire a determinada cámara, pero estoy buscando la forma de que lo haga un plano al viewport actual sea cual sea la cámara.
    También lo he intentado con Pcloud, Superspray, etc, pero no hay manera de que las partículas no roten en X e Y. Sólo quiero que roten sobre su eje Z, es decir sobre su eje vertical. Como veréis, se trata de conseguir un rpc o billboard efectivo.

    He estado investigando maxscript y puede que aquí esté la solución a mi "problema" pero lo cierto es que no lo controlo lo que quisiera.
    En principio cree un mini script que selecciona todos los objetos que empiecen por gen2d y los alinee automáticamente con el viewport activo. El problema es que cada vez que lo hace hay que darle ok a la ventana de alineado, y a parte me gustaría que fuese continuo, es decir, que los planos se updaten continuamente.

    Otra opción que he visto es viewport.getTM pero no tengo ni idea de cómo implementarlo.

    También he sopesado el crear un pflow con cada uno de los personajes 2d y escribir un script en el script operator para hacer que ese plano esté alineado continuamente.

    Alguna idea de los expertos en maxscript?.

    Muchas gracias.

  2. #2
    Senior Member Avatar de pyros
    Fecha de ingreso
    May 2005
    Ubicación
    Vancouver, Canadá
    Mensajes
    1,182

    Re: Script alineación con viewport

    Yo lo haría con pflow o TP, pero te hará falta una cámara o un null. Por script tiene que ser posible pero ni idea.

  3. #3
    Alberto pa servirle Avatar de acortes
    Fecha de ingreso
    Dec 2004
    Ubicación
    Asturias, paraiso natural
    Mensajes
    2,641

    Re: Script alineación con viewport

    Gracias pyros.
    La alternativa es usar planos con un look at a un dummy que luego pueda mover a la posición de la cámara, pero estaba buscando algo más automático, que no requiera de dummy ni haya que moverlo a la posición de la cámara.

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

    Thumbs up Re: Script alineación con viewport

    Hola , acortes, podrías hacer en esta manera.

    ejemplo : si quieres que su cámara viaje, y que se vea su paisaje en cualquier ángulo ok.

    1.- utiliza una línea (line)
    2.- modificar path_constraint / Cámara ....

    y Listo con estos elementos y a viajar colega b^.- ...

  5. #5
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,911

    Re: Script alineación con viewport

    Buenas, Alberto,

    Luego lo miro más tarde en casa, porque hace la tira que no abro MAX, pero así a bote pronto a lo mejor se puede hacer lo siguiente:

    - crear un punto, y en su posición, usar un Script Controller con esta linea: inverse(getViewTM()).row4. Eso te va a dar, presumiblemente, la posición de tu cámara 'perspectiva' en coordenadas del mundo.
    - asumiendo que uno de los ejes de tu césped (o briznas) estará siempre apuntando hacia arriba, puedes usar un 'Look At constraint', y hacer que el objeto mire a ese punto. Como 'upnode', usa el eje Z (que imagino será el que apunta hacia el cielo en tu escena).

    Eso debería funcionar.
    character TD @ Walt Disney Animation Studios

    mi curso de rigging facial :: https://www.domestika.org/en/courses...je-3d/ikerclon
    blog :: www.somosposmodernos.com
    twitter :: www.twitter.com/soyposmoderno
    linkedIn :: www.linkedin.com/in/ikerj

  6. #6
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,911

    Re: Script alineación con viewport

    Lo estoy probando y el problema que hay es que el script controller no se evalúa constantemente. Vas tener que meterme en movidas de callbacks si quieres hacer eso. No sé qué tienes entre manos, pero a lo mejor es más sencillo usar una 'free camera' y orbitar con los controles del visor que lo que intentas hacer...

    ... pero si aún así te decides a probar, he encontrado este código en CGTalk te puede ayudar:

    with redraw off
    (
    callbacks.removeScripts id:#camFace
    delete objects
    fn cameraFaced node: = if isvalidnode node do
    (
    ntm = node.transform
    vtm = getViewTM()
    node.transform = translate (rotate (scalematrix ntm.scale) (inverse vtm.rotation)) ntm.pos
    )
    myText = text name:"myText" isselected:on
    cameraFaced node:myText

    callbacks.addScript #viewportChange "cameraFaced node:myText" id:#camFace
    )
    Si decides tirar por aquí, te recomiendo leer sobre los 'callbacks'. Pueden cargar bastante tu escena de MAX si se te van de las manos
    character TD @ Walt Disney Animation Studios

    mi curso de rigging facial :: https://www.domestika.org/en/courses...je-3d/ikerclon
    blog :: www.somosposmodernos.com
    twitter :: www.twitter.com/soyposmoderno
    linkedIn :: www.linkedin.com/in/ikerj

  7. #7
    Alberto pa servirle Avatar de acortes
    Fecha de ingreso
    Dec 2004
    Ubicación
    Asturias, paraiso natural
    Mensajes
    2,641

    Re: Script alineación con viewport

    Chapolín, lo que trato de hacer es que planos con imágenes 2d de gente giren automáticamente para que sea cual sea el viewport o la cámara actual se alineen automáticamente. Si conoces RPC de archivision sabrás lo que quiero. De todas formas gracias por contestar.

    Ikerclon, joder cuanto tiempo! cómo te va? sigues en USA?
    Valiosa información me das. Encontraré un hueco para meterme con el script y con esta guía que me das ya tengo un camino al menos por donde investigar.
    De momento, para el presente proyecto, estoy usando las viejuas técnicas de rotar y ubicar los planos 2d con mapas de gente manualmente para cada punto de vista. Los Archivsion RPC ya los probé pero tienen el inconveniente de que la única forma de poder usarlos en mediante un pago anual de casi 300 euros y eso no me mola, preferiría pillar los personajes individualmente y pagar de una vez por ellos. Además, el plugin no se puede usar con Rebusfarm. Bueno, que me enrollo.

  8. #8
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,911

    Re: Script alineación con viewport

    Buenas, Alberto,

    Sí, sigo en Los Ángeles, cada vez más despegado de 3DSMAX. Pero de cuando en cuando le doy un achuchón, para que no se olvide de mí

    Preparar un pequeño script que oriente todos los planos a la cámara/perspectiva que necesites es relativamente sencillo si no necesitas que estén constantemente en sincronía. Los callbacks sirven precisamente para que haya una actualización constante; en el caso que cité, cada vez que rotas el visor. Si eso no es necesario, y te basta con un 'ok, esta perspectiva me gusta; ahora aprieto el botón y todos los planos que necesito se quedan orientados a esta vista' es muy muy fácil.

    Aquí te dejo un trozo de código que crea, al ejecutarlo, un botón. Al pinchar el botón, lo seleccionado 'mirará' a cámara, asumiendo que el eje que va a mirar hacia el punto de vista es el Z. Lo pruebas y me cuentas

    Código:
    try (destroyDialog LookAtCamera) catch ()
    
    
    rollout LookAtCamera ""
    ( 
     fn lookAtView nodeList =
     (
     viewTM = getViewTM()
     
     for each in nodeList do
     (
     eachTM = each.transform
     each.transform = translate (rotate (scalematrix eachTM.scale) (inverse viewTM.rotation)) eachTM.pos
     )
     )
     
     button doIt_btn "look at Active View Camera"
     
     on doIt_btn pressed do
     (
     with undo on
     (
     lookAtView selection
     )
     )
    )
    
    
    createDialog LookAtCamera
    ¡Un abrazo!
    character TD @ Walt Disney Animation Studios

    mi curso de rigging facial :: https://www.domestika.org/en/courses...je-3d/ikerclon
    blog :: www.somosposmodernos.com
    twitter :: www.twitter.com/soyposmoderno
    linkedIn :: www.linkedin.com/in/ikerj

  9. #9
    Alberto pa servirle Avatar de acortes
    Fecha de ingreso
    Dec 2004
    Ubicación
    Asturias, paraiso natural
    Mensajes
    2,641

    Re: Script alineación con viewport

    Eres un crack. Muchas gracias. En cuanto tenga un hueco de trabajo lo pruebo.
    Saludines

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

    Thumbs up Re: Script alineación con viewport

    Okey De nada acortes, si eh visto sobre los rpc, eh tenido la oportunidad de utilizarlo, está genial, creo que era una siluetas de la forma humana, y luego aparece en el render una persona, y me sorprendía cuando lo giraba se veía,
    todas las imágenes en diferentes ángulos, creo que era como el efecto Matrix esta genial, ok tienes razón .... b^.- ....

    guao están increíbles sus vídeos -.^d ....
    Última edición por Miguel-Arte-3D-1990; 26-09-2014 a las 04:47

Temas similares

  1. Respuestas: 2
    Último mensaje: 07-05-2015, 23:08
  2. viewport
    Por nonuel en el foro Problemas con Programas
    Respuestas: 3
    Último mensaje: 08-06-2013, 22:49
  3. viewport
    Por blancofp en el foro Programación y Scripts
    Respuestas: 1
    Último mensaje: 23-11-2009, 18:49
  4. ayuda con alineacion de objetos
    Por kaahen en el foro Modelado
    Respuestas: 2
    Último mensaje: 31-03-2008, 13:35
  5. alineacion de objetos en Illustrator
    Por dfx3 en el foro Diseño Gráfico y CAD
    Respuestas: 0
    Último mensaje: 05-05-2006, 01:03

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