3dpoder

[Houdini] Convertir el atributo hitid en una selección de primitivas en Sops

  • #1
    Sayden está desconectado

    Nivel Héroe Avatar de Sayden


    Convertir el atributo hitid en una selección de primitivas en sops

    Pues eso, cuando estas en pops y añades y nodo collision, éste puede decirte contra que primitivas ha chocado en pops. Esto luego en SOP se almacena como un atributo point.

    Pues yo lo que necesito es convertir ese atributo point a una selección de primitivas. ¿alguien sabe cómo?
    El caso es que no debe ser complicado, seguro que se me escapa alguna tontería.


  • #2
    Sayden está desconectado

    Nivel Héroe Avatar de Sayden


    Convertir el atributo hitid en una selección de primitivas en sops

    Pues nada, por si alguien alguna vez tiene el mismo problema yo lo he resuelto a base de scripting. Aquí lo dejo:

    Código:

    # this code is called when instances of this SOP cok. Geo = hou, pwd(), geometry().
    # add code todo modify the contents of geo. Tuplepoints = geo, points(). Tupleprimshitted = []. For point in tuplepoints:
    If point, attribvalue (hitid).= 0:
    Tupleprimshitted, append(point, attribvalue (hitid)). For primhitted in tupleprimshitted:
    Hitted = geo, iterprims()[primhitted]. Hitted, setattribvalue (hitted, int(primhitted))

    .

    Lo que yo quería era que cada partícula se llevara por delante una única primitiva para desmenuzar un grid de forma muy progresiva.

    Así y todo la partícula coge la primitiva por el centro y si hay un choque entre partículas se quitan las primitivas unas a otras.


  • #3
    lisux está desconectado

    Nivel Héroe


    Convertir el atributo hitid en una selección de primitivas en sops

    Vaya no me he enterado muy bien lo que quieres hacer, puedes poner una animación de cómo queda el efecto final, para hacer una selección de primitivas tienes que crear u ngrupo de primitivas, como tu atributo es de tipo punto, lo puedes prmocionar a prmitiva con attributepromote y usar una expresión para crear el grupo, también si lo que quiere es generar varios grupos en base al valor de un atributo puedes usar partition SOP, así a bote pronto creo que el tema se puede solucionar sin scripting, pero estaría ver bien un video para saber exactamente que es lo que quieres hacer.

    Un saludo

    Houdini Addict
    Powered by UNIX
    If it looks good enough, it’s good!


  • #4
    Sayden está desconectado

    Nivel Héroe Avatar de Sayden


    Convertir el atributo hitid en una selección de primitivas en sops

    Quería hacer un sistema para un tornado que destruyera edificios y este fue el mejor método que se me ocurrió. El caso es que ya probé con todo eso (attrib promote + attrib transfer). Incluso con el partition. Pero no me salía bien. Quizás algún paso lo hice mal. Os dejo la escena con el resultado final.

    Archivos adjuntados Archivos adjuntados