Jump to content

vtrvtr

Members
  • Content count

    179
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won

    6

vtrvtr last won the day on November 5

vtrvtr had the most liked content!

Community Reputation

67 Excellent

About vtrvtr

  • Rank
    Initiate

Personal Information

  • Name
    Vitor
  • Location
    Brazil
  1. Volumes dissipating

    A couple things 1. By initial data, it does mean initial data, as in "only in the first frame". That's why usually you set up a fluid simulation using a Volume Source DOP, which will usually add more volume every frame 2. The reason your sim "dissipates" is simply because the turbulence spills it outside of your container. If you turn on "Closed Boundaries" in the smokeobject or turn off the turbulence, you'll see your smoke is fine 3. You can check exactly what your pyro "sees" as collision by activating the collision visualization in the smoke object node https://giant.gfycat.com/GoldenMajorAlpinegoat.webm Finally, as suggestion, try to avoid using absolute paths in your HIP files. Also avoid spaces in paths in general
  2. Saving areas of a field of objects

    Very similar to 3dome, but still slip_alembic_odf.hip
  3. Mass create nodes from tab menu

    It's possible, but quite cumbersome because of how HDAs still use a xml to define these things. Also, it won't work with nodes that only have the category hardcoded (usually older nodes). It should work with the newer gamedev tools import xml.etree.ElementTree as ET def create_all_nodes_by_category(network, category): installed_hdas = hou.hda.loadedFiles() for hda in installed_hdas: definitions = hou.hda.definitionsInFile(hda) for definition in definitions: try: xml_content = definition.sections()["Tools.shelf"].contents() root = ET.fromstring(xml_content) tool = root.find("tool") submenu = tool.find("toolSubmenu").text if submenu == category: network.createNode(definition.nodeTypeName()) except: pass create_all_nodes_by_category(hou.node("/obj/geo1"), "GameDev") https://streamable.com/4yxqx
  4. Vellum Hair _ deforming geo

    Here's a simplified file deform_vellum-2018-10-23_11.55.25.mp4 vellum_deform_odf.hipnc
  5. Vellum Inflate From Flattened State?

    Here's the hip with animating the restlength in a geometry wrangle vellum_inflate_odf.hipnc But you're correct you need some data to know when to stop, otherwise the length will just get bigger and bigger
  6. Vellum animated constraints

    Maybe there's a more straight forward way. string_release.hipnc vellum_anim_con_break-2018-10-17_13.12.16.mp4
  7. Event firing when a node is Deleted ( not HDA )

    You can have events from nodes by type of individually without editing any defaults. Check http://www.sidefx.com/docs/houdini/hom/locations.html "Node event handler files" section
  8. You probably want to make a library to use functions in multiple wrangles. You can save files with a .vfl and add them to your environment with a HOUDINI_VEX_PATH variable. After that you can use a #include inside a wrangle to get your functions
  9. It can be done but you're probably better making an HDA The code it something like node = hou.node('/obj/geo1/FILE') new_button = hou.ButtonParmTemplate("new_button", "New Button") node.addSpareParmTuple(new_button) You need to set the proper scripts in the button for it to replicate the actual button logic
  10. Editing DA in pipeline

    I don't think there's a way to prevent this with Houdini alone. You can try to hack it like making it impossible to save without permission or having a callback that would create a copy of the asset so you can prevent losing work or saving the asset every X minutes so conflicts are unlikely, but those are all fragile measures. You need something like a control system. You could use git, for example. Although I'm not quite sure how merges would work at that level, depending on what you're doing I'm afraid you would end up with many conflicts that would be a nightmare to resolve. Probably the best solution is to rethink the pipeline in such way this wouldn't happen. E.g, the shading asset might not be the same asset as the modeling asset, they are just related. Take a look at this talk here, it might give you some ideas Also, take a look at USD, even if you don't want to actually use it, the concept of layers is what you're after https://graphics.pixar.com/usd/docs/index.html
  11. I don't think you should do that. You can do it with a bit of scripting, check the hip, but it's not a very good idea. You'll never be able to close your asset, let alone compile it (technically you could make each combination an unique shader, but it seems messy to me) Someone correct me if I'm wrong, but I suppose the "correct" way to do this is do it in SOPs and then just read the attributes inside your shader with bind vop or similar Again, just to make it clear, this is likely a terrible idea: 2018-08-21_12-04-43.mp4 multy_block.hipnc
  12. Check flip_transfer_color-2018-08-14_13.34.22.mp4 transfer_color_to_FLIP.hipnc
  13. Supposing this frame is representative of what you need, I don't think you need anything fancy. ray_curved.hip
  14. Vray for Houdini

    If anyone happens to have an issue with the IPR not working when using the houdini.env setup, the following fixed it for me: Instead of : PATH="${PATH};${VFH_PATH}" As suggested, expand everything. So: PATH="${VRAY_APPSDK}\bin;${VFH_ROOT}\vfh_home\bin;$PATH;${VRAY_FOR_HOUDINI_AURA_LOADERS}"
  15. Script callback on a button

    Do you need to make it hscript? If not, the python equivalent would be something like On PythonModule define a function: def displayMessage(kwargs): hou.ui.displayMessage("Are you sure?", ("Delete", "Cancel")) And then on the Callback Script field you can write `hou.phm().displayMessage(kwargs)` and that's it.
×