Gracias Gracias:  0
Página 3 de 5 PrimerPrimer 12345 ÚltimoÚltimo
Resultados 31 al 45 de 68

Tema: script en max

  1. #31
    Senior Member Avatar de Andres3d
    Fecha de ingreso
    Jul 2005
    Mensajes
    146

    Re: script en max

    Hola que interezante HalfVector, yo estoy probando un método como el de smile de bullet impact system, pero con pflow, ya por lo menos consegi un método con "script operator" como deformar la malla para los impactos, lo de la sangre también se puede con un pflow con spawn test.

    Bueno: yo se que lo que se quiere aquí es crear un script o más bien una herramienta como la de smile, pero eso requiere de mucho conocimiento de la materia, pero ánimo yo por mi parte segiere probando con pflow, hasta que quede algo desente, ok saludos

    PD. hola smile, te quería comentar que yo quede muy interezado con la creación de la herramienta que mencionaste de romper objetos por medio de un bitmap, ya por lo menos tengo dos script uno que es el típico script que rompe en pedazos los objetos polys y otro que crea desplazamientso por medio de un bitmap blanco y oscuro, solo quería saber donde puedo encontrar más ayuda pues ya e postedado en otro sitios y no, y ya me estoy leyendo la ayuda de maxscript que es vastante, ok saludos denuevo

  2. #32
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: script en max

    Cita Iniciado por HalfVector
    [...] Pero bueno, no tengo demasiados conocimientos en estos temas
    Pues menos mal, porque lo has dicho prácticamente todo! Lo único que hay que tener en cuenta es cuando se tienen varios objetos en la escena que están en la trayectoria del arma. Yo hice un loop pasando por todos los objetos, detectando intersección con un rayo y midiendo las distancias. El objeto que intersecte cuya distancia es la mínima es el que hay que cargarse!

    Cita Iniciado por bealobo
    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!
    Mucho mejor porque si no va a ser super lento. En cualquier caso, los deflectores de MAX son malisimos y muchas opciones no están soportadas con maxscript.

    Algo interesante para ir montando el sistema es empezar por ejemplo detectando cuando hay colisión del rayo; puedes pintar el objeto dependiendo de si existe o no. Luego ir más allá generando algo en el punto de impacto y luego ya hacerlo con multiples objetos.

    Suerte y animo! Sigue ensenando progresos!

    Cita Iniciado por Andres3d
    PD. hola smile, te quería comentar que yo quede muy interezado con la creación de la herramienta que mencionaste de romper objetos por medio de un bitmap
    Hola Andros. No he mirado nada sobre eso, pero pensandolo bien, no se si seria posible hacerlo de manera sencilla con maxscript, sería más interesante compilar una herramienta usando el SDK.
    Minor Bun engine made Benny Lava!

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

    Re: script en max

    Cita Iniciado por slime
    Yo hice un loop pasando por todos los objetos, detectando intersección con un rayo y midiendo las distancias. El objeto que intersecte cuya distancia es la mínima es el que hay que cargarse!
    Exacto. Es justamente la función que he puesto en mi anterior mensaje. Recorre todos los objetos de la escena (en este caso sería sólo los objetos que seleccionara el usuario) y detecta la colisión con el más cercano.

    Pero hay algo que me llama la atención en el sistema que creaste y es que la teselación es bastante limpia. Pero esto sólo lo he podido ver en polyMeshes y no en triMeshes:



    Y teniendo en cuenta que intersectRayEx te devuelve el índice del triángulo (y no del polígono, ya que funciona sólo con edit_mesh) en el que se produce la intersección, es de suponer que la teselación hay que llevarla a cabo sobre un edit_mesh y no un edit_poly. En ese caso sólo se me ocurre crear una función propia para detectar la colisión con polígonos en vez de triángulos. O eso o es que se me escapa algo.

    Aunque ahora que lo veo con más calma, parece más un meshsmooth. ¿Es posible?:



    En fin, espero que no le importe a Bea que me haya ido un poco por las ramas, aunque lo cierto es que esto le puede venir bien para potenciar aún más su sistema.

    Gracias.
    Miniaturas adjuntadas Miniaturas adjuntadas script en max-tessellation.jpg   script en max-meshsmooth.jpg  

  4. #34
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: script en max

    El tema de la subdivisión fue el más complicado porque el max se colgaba al seleccionar zonas de geometría en cadena (?) y hubo que encontrar un "hack" para que la cosa funcionase. Ahora no me acuerdo de como lo hice, pero casi estoy seguro que hacia varias pasadas para recoger información, porque después de subdividir el calculo de colisiones y el trazado de rayos podía ser muy lento.
    Creo que era algo así:
    a) Deteccion de puntos de colisión en todo el rango, generación de sistemas de partículas y parámetros.
    b) Subdivision y "atacheo" de deformadores en geometría.
    El código no me lo lleve de Blur. A ver si me hago una copia para el recuerdo xD
    Minor Bun engine made Benny Lava!

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

    Re: script en max

    Cita Iniciado por slime
    Ahora no me acuerdo de como lo hice, pero casi estoy seguro que hacia varias pasadas para recoger información, porque después de subdividir el calculo de colisiones y el trazado de rayos podía ser muy lento.
    Pues sí, tienes razón, teselar antes de calcular los puntos de intersección haría que todo fuera más lento. Así que efectivamente lo mejor es hacer el proceso en varias pasadas.

    Incluso se me ocurre que una de las pasadas (después de haber creado las partículas) podría consistir en calcular los objetos que hay dentro del radio de acción de las salpicaduras de sangre. Sería cuestión de calcular el bbox del sistema en el punto de máximo alcance de las partículas y entonces llevar a cabo una comprobación bbox vs bbox con los objetos de la escena. De esta forma la elección de los deflectores sería automática. No sé, habría que pensar mejor eso.

    Saludos..
    Última edición por HalfVector; 28-06-2006 a las 01:29

  6. #36
    Senior Member Avatar de Birkov
    Fecha de ingreso
    Dec 2004
    Ubicación
    Coruña - Barcelona
    Mensajes
    874

    Re: script en max

    Este post para "adheridos" ya que se esta poniendo la mar de interesante, vosotros seguid disertando que yo escucho atentamente
    _________________________________________________
    Reloj de pulsera /\ Marine Starcraft 2 WIP /\ Motorola L6 /\ Canon Ixus II /\ La vigilante /\ Dragon WIP ________________________________________________

  7. #37
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: script en max

    Cita Iniciado por HalfVector
    Sería cuestión de calcular el bbox del sistema en el punto de máximo alcance de las partículas y entonces llevar a cabo una comprobación bbox vs bbox con los objetos de la escena. De esta forma la elección de los deflectores sería automática. No sé, habría que pensar mejor eso.
    Muy buena idea!
    Lo único que se necesitaria ahoa es la posibilidad de asignar geometría a deflectores con maxscript. En la versión 7 no se podía. Si cargas el código de los deflectores, es del anyo de la pera.
    Minor Bun engine made Benny Lava!

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

    Re: script en max

    Cita Iniciado por slime
    Muy buena idea!
    Lo único que se necesitaria ahoa es la posibilidad de asignar geometría a deflectores con maxscript. En la versión 7 no se podía. Si cargas el código de los deflectores, es del anyo de la pera.
    Sí, me acuerdo que una vez me mencionaste ese problema cuando discutiamos sobre los puntos flacos de MAXScript. Pues va a ser que con MAX 8 sigue sin poderse...



    Saludos.
    Miniaturas adjuntadas Miniaturas adjuntadas script en max-deflector.jpg  
    Última edición por HalfVector; 28-06-2006 a las 02:24

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

    Re: script en max

    Bueno, pues como decía slime y confirma la referencia de MAXScript, no se puede asociar un objeto a un deflector a través de MAXScript.

    Evidentemente esto es del todo inaceptable y me imagino que por ejemplo Bea lo necesitara si decide meter deflectores para que la sangre colisione con los objetos.

    Así que sólo se me ha ocurrido una solución para este problema, y es programar unas extensiones para MAXScript a través de C++, utilizando el SDK.

    Pues nada, dicho y hecho. He creado un GUP (Global Utility Plug-In) que implementa dos métodos. Uno para recoger el objeto asociado a un UDeflector y otro para asociar un objeto al UDeflector.

    Pongo un ejemplo.

    Si tenemos un UDeflector llamado "UDeflector01" y una esfera llamada "Sphere01" y queremos que la esfera esté asociada al deflector, lo que tenemos que hacer es escribir:

    Código:
    UDeflectorHelper.setNode $UDeflector01 $Sphere01
    Este método devuelve true si el objeto se asignó correctamente. De lo contrario devolvera false.

    Por otra parte, si lo que queremos es recoger el objeto asociado al deflector "UDeflector01", escribimos:

    Código:
    UDeflectorHelper.getNode $UDeflector01
    Este método devuelve un nodo que apunta al objeto asociado con el deflector. Si el deflector no tiene ningún objeto asociado, devuelve undefined.

    Para instalar el plugin no hay más que copiar el archivo UDeflectorHelper.gup al directorio de plugins de MAX.

    Descargar UDeflectorHelper

    El plugin lo he compilado para MAX 8 pero me imagino que si hiciera falta podría compilarlo para MAX 7...

    Saludos.
    Archivos adjuntados Archivos adjuntados
    Última edición por HalfVector; 28-06-2006 a las 14:21

  10. #40
    Burninating albion Avatar de bealobo
    Fecha de ingreso
    Dec 2004
    Ubicación
    Teatown
    Mensajes
    1,868

    Re: script en max

    Bueno, yo iré poco a poco y por partes, porque aunque se algo de programación acabo de empezar con el script de Max.

    De momento lo de la geometría me parece complicado. Así que lo primero que haré será lo de los rayos, los impactos y el sangrado. Veremos cómo me va.

    Os lo estais currando un montón, me ayudan mucho estas conversaciones. Gracias!
    E moet roeien met de riemen die je hebt.

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

    Re: script en max

    Cita Iniciado por bealobo
    De momento lo de la geometría me parece complicado. Así que lo primero que haré será lo de los rayos, los impactos y el sangrado. Veremos cómo me va.
    Sip, lo mejor en estos casos es ir muy poco a poco. Incluso si es necesario, crear pequeños tests al margen de la aplicación principal. De esta forma te será más fácil aislar los problemas que te puedas encontrar. Sobre todo teniendo en cuenta que la depuración es uno de los puntos flacos de MAXScript (a pesar de que pusieron un debugger con la versión 8 ).

    Saludos.
    Última edición por HalfVector; 28-06-2006 a las 13:51

  12. #42
    Fractal de Excremento
    Fecha de ingreso
    Mar 2003
    Ubicación
    Tokyo
    Mensajes
    3,120

    Re: script en max

    Fantastico, HalfVector! Ese plugin me habría ayudado un montón; una pena que ya no trabaje con MAX.
    Minor Bun engine made Benny Lava!

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

    Re: script en max

    Cita Iniciado por slime
    Fantastico, HalfVector! Ese plugin me habría ayudado un montón; una pena que ya no trabaje con MAX.
    ¡La verdad es que este hilo me esta viniendo bastante bien para profundizar un poco más con el SDK, que hacía bastante tiempo que lo tenía abandonado!.

    Y pasando a otra cosa, estaba yo tirando unas líneas para la serie de tutoriales de MAXScript cuya primera parte espero que no se retrase demasiado, ( ) y de pronto me he planteado una cuestión.

    En uno de los mensajes dije que la dirección que debían tener los emisores de partículas era la normal de la superficie en el punto de intersección. Pero de pronto he caído que seguramente no es la mejor dirección.

    Así que he montado una pequeña prueba con MAXScript que orienta unas flechas en ciertas direcciones de interés:



    Por una lado tenemos el "incident vector" (I) que es el vector director del proyectil y luego tenemos el "normal vector" (N) (la normal de la superficie en el punto de intersección, datos que nos devuelve la función intersectionRayEx). Pero como se puede ver, parece que el vector normal no es el más indicado para emitir las partículas.

    Así que luego he pensado que tal vez el mejor vector sería el "reflection vector" (R) que es el vector "incident" reflejado sobre la normal:

    Código:
    R = I - 2 * N * (dot N I)
    Pero aún así no me convencía, me parecía una dirección demasiado forzada. Así que finalmente he pensado que tal vez, la mejor dirección de emisión sería un vector a medio camino entre la normal y el vector reflexión, al cual he denominado "half-way vector" (H):

    Código:
    H = N + R
    Eso, sumado a un cono de emisión con una cierta apertura, podría quedar bien. Las partículas serían emitidas en direcciónes comprendidas entre el vector normal y el vector reflexión.

    ¿Qué opináis?.

    Saludos.
    Miniaturas adjuntadas Miniaturas adjuntadas script en max-vectors.jpg  
    Última edición por HalfVector; 29-06-2006 a las 13:12

  14. #44
    Glidereando Avatar de Chaman
    Fecha de ingreso
    Jul 2005
    Ubicación
    Madrid
    Mensajes
    1,820

    Re: script en max

    Si el desprendimiento de partículas se corresponde a una reacción producida por un impacto, la mayoría de partículas deberían desplazarse en torno a la misma dirección del impacto y en sentido opuesto (por algo el principio de acción-reacción, no), quizá con algunas partículas díscolas que vayan en alguno de los vectores que indicas. Pero el grueso debería ir en la misma dirección que el impacto, pero en sentido contrario.

    ¿no?
    Última edición por Chaman; 29-06-2006 a las 13:16

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

    Re: script en max

    La verdad es que me imagino que esto variara en función de la composición de la superficie.

    Porque por ejemplo, si disparamos a una superficie de tierra en una dirección similar a la que muestro en la imagen, es posible que gran parte de los trozos desprendidos vayan en una dirección similar al vector reflexión.

    También hay que tener en cuenta que conforme el vector incidente sea más perpendicular a la superficie, más coincidira con él el vector reflexión, por lo que más se cumplira el principio de acción-reacción.

    Saludos.

Página 3 de 5 PrimerPrimer 12345 ÚltimoÚltimo

Temas similares

  1. Respuestas: 2
    Último mensaje: 07-05-2015, 23:08
  2. Blender Uso del script BMG
    Por 3dpoder en el foro Blender Art Magazine nº 1
    Respuestas: 7
    Último mensaje: 30-07-2013, 12:38
  3. script
    Por minato en el foro Programación y Scripts
    Respuestas: 9
    Último mensaje: 20-07-2010, 23:17
  4. script
    Por altair_117 en el foro Modelado
    Respuestas: 2
    Último mensaje: 18-04-2009, 03:53
  5. max script
    Por Thule en el foro Modelado
    Respuestas: 5
    Último mensaje: 13-02-2005, 18:00

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