Página 2 de 5 PrimerPrimer 1234 ... ÚltimoÚltimo
Resultados 16 al 30 de 68

Tema: Script en 3ds Max

  1. #16
    Fecha de ingreso
    Dec 2004
    Mensajes
    1,851

    Script en max

    Bueno, el problema que tengo con 3ds Max es que mi conocimiento general del programa es bastante limitado (sobre todo el área de modelado). Lo que conozco mejor es el Particle Flow.

    Pero bueno, yo me apaño muy rápido, así que, miraré a ver qué hago y cómo. Muchas gracias a todos de nuevo.
    E moet roeien met de riemen die je hebt.

  2. #17
    Fecha de ingreso
    Dec 2004
    Mensajes
    1,851

    Script en max

    Jai. ¿Se puede acceder a la posición de las partículas de Particle Flow a través del scripting general? Es que por más que miro la ayuda no lo veo claro. Gracias.
    E moet roeien met de riemen die je hebt.

  3. #18
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Script en max

    Jai. ¿Se puede acceder a la posición de las partículas de Particle Flow a través del scripting general? Es que por más que miro la ayuda no lo veo claro.
    Hi.

    Creo que sí puedes. Mírate la interfaz particleobjectext.

    Aquí tienes un ejemplo que accede a la posición, rotación, escalado y tamaño de cada partícula.
    Código:
    pf = $PFSource 01.
    
    For I = 1 todo pf, numparticles() do (tpf, particleindex = i tformat particle #%\nI tformat particle position = %\nVaya, particleposition tformat particle rotation = %\nVaya, particletm.rotationpart tformat particle scale = %\nVaya, particlescalexyz tformat particle size = %\n\nVaya, particlescale.
    )
    Si no me equivocó es similar a la forma que se utiliza en los scripts internos de Particle Flow. A ver si es lo que buscas. Saludos.

  4. #19
    Fecha de ingreso
    Dec 2004
    Mensajes
    1,851

    Script en max

    Gracias, que rapidez. Voy a hacer unas pruebas a ver.
    E moet roeien met de riemen die je hebt.

  5. #20
    Fecha de ingreso
    Mar 2003
    Mensajes
    3,104

    Script en max

    Ánimo, Bea.
    Minor Bun engine made Benny Lava!

  6. #21
    Fecha de ingreso
    Apr 2002
    Mensajes
    10,772

    Script en max

    Y al final que estás haciendo? Se me ha ocurrido hacer, por ejemplo, a partir de geometría crear efectos. Con una esfera el kame-kame. Te creas una UI que controle de forma automática parámetros del sistema, y tal, yo que sé.

    Por cierto, me imagino que ya lo, pero bobo tienes algunos tutoriales de Particle Flow y Maxscript. http://www.scriptspot.com/bobo/. Suerte.
    Aqui quiero poner una imagen bonita de mi pagina, pero no puedo...ojete.

  7. #22
    Fecha de ingreso
    Dec 2004
    Mensajes
    1,851

    Script en max

    Gracias por la sugerencia. Creo que haré un script parecido al de Slime, pero más básico y que se complemente. Habrá que crear una pistola y elegir el tipo (dardos, balas), animarla (intentaré que sea con un target). Decir que objetos son orgánicos y los impactos causaran un sangrado.

    Qué se yo, todo muy cutre y muy lento seguramente, pero es que, estoy aprendiendo poco a poco.
    E moet roeien met de riemen die je hebt.

  8. #23
    Fecha de ingreso
    Dec 2005
    Mensajes
    939

    Script en max

    Qué bien suena eso. Ánimo.

  9. #24
    Fecha de ingreso
    Dec 2004
    Mensajes
    1,851

    3dsmax Script en max

    Bueno, la cosa va yendo, de momento tengo semiacabada la UI. Sólo he puesto las opciones más básicas y si me da tiempo pondré alguna cosa más, os dejo una captura, en el trozo vacío quiero poner las instrucciones para usarlo, aunque aún no sé cómo se hace.

    Y bueno, el diseño es provisional, simplemente necesito algo para empezar a meter funciones y hacer que funcione.

    Me he dado cuenta de que todos los objetos van a ser internamente deflectores por si la sangre cae en alguno de ellos. Y estoy pensando que eso va a ser lento lento lento ¿no?

    -- IMÁGENES ADJUNTAS --
    Miniaturas adjuntas Miniaturas adjuntas ui_02.jpg  
    E moet roeien met de riemen die je hebt.

  10. #25
    Fecha de ingreso
    Dec 2004
    Mensajes
    866

    Script en max

    Tengo ganas de ver esos avances, lo que preguntas si utilizas todos los objetos como deflectores sí que va a ser lento, me acuerdo cuando vi la demoreel de Slime que me planteé esa misma pregunta, para personajes animados, creo que sería más rápido linkarles deflectores esféricos a las distintas partes del cuerpo que hacer que todo el cuerpo sea un deflector, ya que, calcular colisiones de partículas contra una malla que se deforma debe de costar lo suyo, pero vamos Slime te dirá que es el experto. Suerte con el script.
    _________________________________________________
    Reloj de pulsera /\ Marine Starcraft 2 WIP /\ Motorola L6 /\ Canon Ixus II /\ La vigilante /\ Dragon WIP ________________________________________________

  11. #26
    Fecha de ingreso
    Dec 2004
    Mensajes
    1,851

    Script en max

    Es una movida sí, yo voy a seguir pensando a ver mientras voy haciendo más código.
    E moet roeien met de riemen die je hebt.

  12. #27
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Script en max

    Ante todo decir que sobre estos temas ando escaso. So kep that in mind. ¿Todos los tests de colisión los vas a llevar a cabo a través de Particle Flow o, por ejemplo, la colisión proyectil/objeto la realizaras utilizando alguna función tipo intersectray/intersectrayex/raymeshgridintersectí.

    Lo digo porque en ese último caso, las intersecciones proyectil/objeto se precalcularían, con lo cual te ahorrarías que Particle Flow averiguara la intersección en cada frame.

    Es decir, al pulsar el botón go, calcularías el punto de colisión de cada proyectil (dependiendo de la cadencia de disparo) y entonces crearías un PFSource en la posición de colisión, con una dirección igual a la normal de la superficie en el punto de colisión (esos datos te lo devuelven las funciones intersectray/intersectrayex/raymeshgridintersect). Ese PFSource sería el emisor de sangre.

    De hecho, con ese método creo que podrías hacer algo similar a lo que hace Slime en el impact system (aunque esto que lo confirme el que es el que lo programó), es decir, podrías utilizar esa misma posición y normal de colisión para meter un space Warp de tipo displace y así simular las hendiduras provocadas por los impactos del proyectil. Incluso tal y como hace él, meter teselación en las caras adyacentes al punto de colisión.

    Por otro lado, las colisiones sangre/objeto me imagino que sí se controlarían utilizando un test de colisión y deflectores en pf. En este caso, si hay muchos polígonos, me imagino que la simulación sí será lenta (ignoro cómo funciona Particle Flow y las optimizaciones internas que llevara a cabo).

    Pero hay que tener en cuenta que en una producción cinematográfica (y hablo desde la ignorancia en este caso) se maneja un entorno controlado por lo que se sabe que objetos tienen que formar parte de la simulación y cuáles no (al contrario que en un videojuego donde las posibilidades de interacción son casi infinitas). Eso quiere decir que no todos los objetos tienen por qué ser deflectores. Sólo aquellos que estén en el radio de acción de cada salpicadura de sangre. O sea, que en ese caso me imagino que es cosa del operador el marcar los objetos que formarían parte de la simulación. O incluso se podría automatizar utilizando algún tipo de heurística. Por ejemplo, sólo añadir como deflectores aquellos objetos que estén dentro de un cierto radio de acción (que dependerá de cosas como el tiempo de vida del sistema de partículas, la velocidad de las partículas, las fuerzas que le afecten, etc).

    Pero bueno, no tengo demasiados conocimientos en estos temas así que, invocamos a Slime. Saludos.
    Última edición por HalfVector; 27-06-2006 a las 14:41

  13. #28
    Fecha de ingreso
    Dec 2004
    Mensajes
    1,851

    Script en max

    Cuanta cosa, que bien, la verdad es que en un principio lo quise hacer así, es decir colocando un emisor en cada impacto y estuve buscando y no encontré la manera (la ayuda de Maxscript es un infierno), lo quería hacer así porque el chorro de sangre no dependía del impacto de 1 bala y podía hacer más virguerías de manera más simple como simular el tamaño del agujero de la bala con el tamaño del emisor (el nodo collision y el colisión Spawn se me quedaban un poco cortos).

    Ahora que se el nombre de las funciones lo voy a volver a investigar. Bien.

    Y respecto a los deflectores, tal vez sea mejor que ponga un control para seleccionar los objetos sobre los que cae la sangre por aquello de que optimice quien quiera. A ver lo que puedo hacer. Muchas gracias a todos.
    E moet roeien met de riemen die je hebt.

  14. #29
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Script en max

    La verdad es que en un principio lo quise hacer así, es decir colocando un emisor en cada impacto y estuve buscando y no encontré la manera (la ayuda de Maxscript es un infierno).
    Aunque en la ayuda encontraras más información y más completa, ahí van las posibilidades que tienes utilizando las funciones que he mencionado.
    intersectray.

    Te devuelve el punto de colisión y la normal en dicho punto. Funciona con cualquier tipo de geometría.
    intersectrayex.

    Te devuelve el punto de colisión, la normal en dicho punto, el índice del triángulo en el que se produjo la colisión y las coordenadas baricéntricas. Sólo funciona con editable Mesh.
    raymeshgridintersect.

    Seguramente es la mejor opción de todas, pero por alguna razón no tiene el comportamiento que yo esperaba de ella. Por ejemplo, yo pensaba que si añadías una serie de objetos con los que llevar a cabo el test de colisión, te devolvería el punto de colisión más cercano a la posición desde la que se lanzó el rayo, pero al parecer sólo devuelve la colisión con el primer objeto que se añadió a la lista de nodos. Realmente es un comportamiento muy extraño.

    Así que, teniendo en cuenta el problema aparente de raymeshgridintersect, la mejor opción sería intersectray si no necesitas saber el triángulo en el que se produjo la colisión o intersectrayex si necesitas saberlo (por ejemplo, para la teselación).

    Aquí te pongo un pequeño script que hice hace un tiempo que hace uso de intersectrayex:
    Código:
    Fn closestrayintersection r = (t- Inicializamos variables tlocal closestdist = 999999999 tlocal closestnode = undefined tlocal closestinfo = undefined t- Recorremos todos los objetos geométricos de la escena tfor n in $geometry do (t - Puesto que intersectrayex sólo funciona con editable meshes - Añadimos un modificador edit_mesh add modifier n (edit_mesh()) t - Calculamos la intersección local i = intersectrayex n r t - Eliminamos el modificador deletemodifier n 1 t - Si hubo colisión if i.= undefined do (t - Calculamos la distancia desde el origen del rayo - Al punto donde se produjo la colisión local Dist = distance r, pues i[1].pos t - Si dicha distancia es menor que la anterior - Distancia más cercana almacenada if Dist < closestdist do (t - Almacenamos la nueva distancia closestdist = Dist - El objeto donde se produjo la colisión closestnode = n - La información de la colisión closestinfo = i ) ) t) t- Si  es distinto de undefined quiere decir que hubo t- Colisión, por lo que devolvemos la información de colisión tif closestnode.= undefined do - Devolvemos:
    - La distancia al punto de intersección - El nodo donde se produjo la intersección - La información de intersección de la función intersectrayex return #(closestdist, closestnode, closestinfo) t- Después de todo no hubo colisión treturn undefined).
    
    Probamos la función.
    
    Limpiamos el Listener.
    
    Clearlistener().
    
    Calculamos la posible intersección.
    
    I = closestrayintersection ($tape01 as ray).
    
    Si hubo intersección.
    
    If i.= undefined do (t- Eliminamos el anterior objeto point que pudiera existir ttry(deleete $point01) catch() t- Creamos un objeto point en el punto de colisión tpoint pos:i[3][1], pues wirecolor:red.
    )
    Para que funcione, tienes que crear una serie de objetos y un tape que es el que hace de apuntador (el rayo). Si se detecta colisión, se crea un nodo de tipo point en el punto de intersección. Saludos.

  15. #30
    Fecha de ingreso
    Dec 2005
    Mensajes
    939

    Script en max

    También podrías hacer que las partículas dejaran mancha en los objetos mediante una textura. Quedaría mucho más realista.

Página 2 de 5 PrimerPrimer 1234 ... ÚltimoÚltimo

Temas similares

  1. Script 3ds Max md2
    Por Jhonatan00_00 en el foro Plugins y Scripts
    Respuestas: 4
    : 21-10-2016, 09:53
  2. Respuestas: 2
    : 07-05-2015, 22:08
  3. Cómo cambiar un script a un macro script
    Por Miguel-Arte-3D-1990 en el foro Plugins y Scripts
    Respuestas: 11
    : 11-03-2012, 22:07
  4. Pf script
    Por Zuria en el foro Plugins y Scripts
    Respuestas: 6
    : 18-05-2010, 16:09
  5. Script rpc 2,5d
    Por marvin2k en el foro Plugins y Scripts
    Respuestas: 1
    : 14-10-2007, 19:38