Jump to content

Search the Community

Showing results for tags 'hda'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 162 results

  1. Hi guys, I have a problem with the compile block inside HDA. I is working fine unless I add a second asset right after the first one. Then things go crazy because this second asset claims that the Stroke Node that is not even in the first compile block is not Compile compatible and it cannot cook. Should I isolate the stroke from the compile block? Tom
  2. Hi all! I recently made a free public post on my Patreon, a bit of a New Year's gift. In my destruction classes & SideFX conference presentations I've mentioned that I often use geometry grouping to define the clustered sections in my RBD sims. However, it takes a bit of work to create the feedback for-each loops to set that up, so I've finally wrapped it up into a helpful HDA. Demo HIP file included as well. (I also included the HDA in the November 2020 'quick tip' post, but this version fixes a bug in the size-based prioritization, so for patrons that have that version I highly recommend downloading this one instead!) https://www.patreon.com/posts/45769153 https://vimeo.com/496659441 Hope you find this useful, and that you enjoy the new year! :-) ~ Keith
  3. Hi everyone, Short explanation: I want to be able to see parameters (of a Houdini Digital Asset) that I created in Houdini’s Python Module, in Unreal. Long explanation: I’m creating a Digital Asset in Houdini and want to use it in Unreal. When I create parameters in Houdini in the “Type Properties” window everything is fine and the asset works in Unreal and parameters are visible and can be adjusted. Now I added some a Python function in the Python Module of Houdini that creates some parameters. I also created a button that when pressed, triggers this function. This all works in Houdini but as soon as I export this to Unreal the button does nothing. If I use the Sync Session in Unreal (so I have my Houdini and Unreal open at the same time with the same asset) and press on the button (in Unreal), then the parameters do get created in Houdini, but still not in Unreal. The only solution I found so far is, place the tool in Unreal, go back to Houdini’s “Type Properties” window, save the tool again and press “Revert Layout” in the pop-up window. Only then the parameters created in Python get visible in Unreal. But as soon as I place another HDA in the level I have to do that all over again. I want the user to use this tool only in Unreal, without reverting the layout all the time in Houdini. Is there away to achieve this? Thanks in advance, you would really help me out here!
  4. Hello! I've modified the heightfield scatter that ships with Hou. It's saved as versioned HDA to my projects HDA folder and I'm now using it, nested inside and other HDA, in a PDG setup. This works fine on my workstation but not for my college. The reference to the modified heightfield scatter is lost when he opens the HIP and the HDA containing the trouble maker just fails. I have a hard time debugging this since it only fails on others workstation. The tools we're building are ending up in Unreal and so far we've managed to avoid using environment files, something we handle with a custom setup in Unreal instead. So I'm hoping to find a solution that doesn't require us to turn to a environment file.
  5. FFX Align To Curve

    FFX Align To Curve HDA FFX Align To Curve brings a faster system for customizing orientation of geometry along the length of a curve. Working with point data directly, a user is easlily able to develop in realtime their desired orientation data. A clear adjustable guide system shows exactly which direction your geometry will orient towards once copied onto the processed points. Scaleable arrows reveal the primary tangentu orientation and travel direction along the curve. Auxillary normal and bitangent markers reveal the other axis orientations. Features include: - Guide scaling, opacity, and color. - Offset parameter to slide points along curve. - Reversible orientation direction - Roll, Pitch, and Yaw controls that can be varied over the length of curve. - Pscale (scale) point attribute that can be randomized and varied over the length of curve. - Cd (color) point attribute that can be varied over the length of curve. - Separate head and tail point breakout to allow for unique geometry from the main curve. - Plus other adjustment, and output options. Video Tutorial: https://vimeo.com/478682335 For more information please visit https://fendrafx.com
  6. Export houdini to unreal engine

    Hello, people of OD force, I am a noob at Houdini only a year of experience with the software but I am having fun and enjoy learning it. Now I am doing a short film for university and I made a few different effects. I have accomplished the effects I wanted but the problem is I cannot seem to be able to export them, I tried, alembic, FBX and HDA but none of them works. I was planning on rendering on unreal so that's where I want import them but I can't figure it out how to do this. More info The effects I have done are two volumes sop and an rbd fracture. I believe I am doing something wrong with the fracture but the cloud man and the volumetric fog might be because they don't have any geometry but I am not sure. My option or best bet is try to work out hdas or just rebuild all the effects in unreal or Maya or even do them in compositing. This is why I need you people of the internet to help another human being out, please. I'll be leaving the hip files so you can check it out and understand the situation better : fog_effect.hip test_smoke_3.hip fracture_judgement_export.hip and the files I am using in the scenes needed files.rar All your wisdom is appreciated Thank you Juanandonly
  7. Stroke node input geometry force recook

    Hi, I'm doing a tool using the stroke node for breaking the corner of a geometry. User can isolate part of the geometry by selecting group. The problem appear when the user isolate a part and want to paint on the surface. It look like the stroke node don't refresh the geometry input and still use the inital geometry input as reference model for the stroke projection. Maybe I'm wrong but I'm pretty sure the problem is coming from the stroke node that not re-cooking when the user tick the isolate toggle and select a group. Does some one could give me a hint on how to fix that please, I'm pretty stuck right now.
  8. Hey there ! I've got an issue where I have a group on my HDA (or multiple, doesn't matter) to do some stuff, but when I click the "select button" to start the selecting in the viewport, the display flag doesn't go on the group node. It stays where it was set when the HDA was saved. So in this example, the display flag is set on the Output node, and when selecting the prim or the point, we stay on the tube geo instead of going to the cube or the sphere I made sure to have all the nodes as "Editable" in the HDA, just in case. Here's a bare-bone setup showcasing the issue. The Group parameters on the HDA were created by drag-and-dropping each group nodes' parameter on the HDA, and I changed the Action Button Script a little bit to make it work. In this gif I tried with two version of the same HDA, one at the OBJ level, the other at the SOP level. Both have the same behavior. Looks like the display flag isn't able to be changed, since the HDA is locked. So when I unlock the HDA, then the selection stuff works correctly ! Until I lock it back up. I would assume that even when locked, the display flag would do that stuff with the render/display flags combo where upon clicking the "start selection" button, the render flag stays on the currently-displayed node, and the display flag moves (temporarily) onto the parent of the group node, until the selection is done. I swear that worked before.. I seem to remember that I had to specify the parent of the group node as an Editable Node in the HDA, and then the render/display flag combo worked... But I might be mistaken ..? Is there a workaround ? Did it really work before ? Thanks ! groupDisplayFlagHDA.hipnc test_groupSelect_obj.hdanc test_groupSelect_sop.hdanc
  9. I would like to input Maya geometry into the HDA, which then will do it's magic, like placing that 1 geo 100 times, and then instance it when baked.
  10. In my HDA I make simple geometry. In Maya I want to select these separate geometry and based on this selection I want to do stuff with it in the HDA. Basically, the geo made in Houdini, how can I use the selection made in Maya and send that to Houdini. Is there a simple way of doing this?
  11. Hi guys, I'm creating an interactive cutting tool and I have trouble getting node parameters in the HDA parameters. I have imported toolutils and as long as I import only the build-in functionality of the node (draw curve node) it is working fine, but when I want to add parameters created by that node to the HDA parameters it is not working. Anyone can explain it to me how to properly import node proprieties to HDA or just give me a hint of where to look for that info?
  12. I have an HDA with a series of preset curves that the user can switch between. This curve is taken and a revolve node is applied (this is in the top left of "model inputs," "bulb"). If I want the option to let the user draw a curve that they want, what do I do? If I simply include a blank curve, what allows the user to draw in in the HDA? And ideally, they should start drawing it at the origin like I did when making the three preset curves. lightbulbs.hdanc
  13. Hello, I am strugling with project management. We are in homeoffice now, so we try to figure out how to manage our assets paths. For textures and bgeos we are fine, but issue comes with hdas. We try to define their path with global variables but the instant you close the window it gets converted back to standard path string. Currently we have a python hda install system as our server is linux based and breaks all the hda paths. The issue is easier to explain with an image. Does somebody know a solution for this? Thanks
  14. Hey all. Just wondering if it's possible to create a custom HDA/OTL with the same network view container network box like the one you get when you create a Block Begin (foreach loop)? I'm creating a couple of OTLs where they “gatekeep” between any SOPs a user places inside them and the visual box around the SOPs is something I'd love to be able to recreate. Thanks, Marb
  15. Unreal Landscape Layer Issue

    Hey guys, I'm copying this post from Reddit to get more exposure. Since you guys are pros, maybe you'll know the answer: I'm having an issue with my landscape material. I've got an HDA pulling in a landscape with six layers. I've setup each layer as a material function so I can blend each function in a material based on their layer name. The problem is the material only works with three layers at a time. I can't do more. This is what it looks like with three layers as expected: Three layers with blend mode set to Opaque The shader fails when I plug in more than three. It shades in a tiny square on the terrain (not shown here), the rest of the terrain is the standard checkerboard: Six layers fail with blend type set to Opaque The only way to view all layers is to set Blend Type to Alpha Composite, however I completely lose my directional lighting: Six layers with blend type set to Alpha Composite (no directional lighting) It must be something with my layering weights.. I just can't figure this out for the life of me. Here are my layer settings: Layer Blend settings Let me know if you've run into this issue; I'm sure it's an easy fix. Thanks guys, Colby
  16. Python - Callbacks help

    Hey Guys, Still quite new to Python, hoping someone can help point me in the right direction on this that I've been grappling with for a while now. I have a simple filecache .hda that I'd like to change color if it can/can't find the cache on disk. I've been able to use hou.ui.addEventLoopCallback() to continuously track and check the file parameter to see if the cache exists, and the color changing now works as expected. Where I'm having trouble is removing the event loop when the .hda is deleted from the node graph. An error pops up because Houdini is still trying to access the deleted node. I've been trying to look for a way to use the OnDeleted event handler, or hou.nodeEventType.BeingDeleted, but no luck yet and I feel out of my depth with my limited python experience. The .hda is attached, and there's a preview of the code below. Any help would be appreciated! custom_filecache.hda ####PythonModule#### import os import hou def nodeColor(kwargs): node = kwargs["node"] def colorCallback(): filepath = node.evalParm("file") if(os.path.exists(filepath)): node.setColor(hou.Color((0.0, 0.8, 0.0))) node.setComment(filepath) node.setGenericFlag(hou.nodeFlag.DisplayComment,True) else: node.setColor(hou.Color((0.8, 0.0, 0.0))) node.setComment("File not found") node.setGenericFlag(hou.nodeFlag.DisplayComment,True) startCallback(colorCallback) #adding this code below crashes Houdini when hda is deleted #node.addEventCallback([hou.nodeEventType.BeingDeleted], endCallback(colorCallback)) def startCallback(callback): hou.ui.addEventLoopCallback(callback) def endCallback(callback): hou.ui.removeEventLoopCallback(callback) ####OnCreated#### kwargs["node"].hdaModule().nodeColor(kwargs)
  17. I'm developing some UI for pipeline tools. One of the tools is an HDAs and Setups manager, where I click on the desired HDA and it is imported into the current geo context. I spent some time reading the documentation and other created threads on how to get the current geo context path and all I've managed to do is a workaround where I have to select one or more nodes and only then can I import my HDA into the selected context. Any ideas on how to achieve this without having to select any nodes?
  18. Hi Everyone, I followed this tutorial and everything works well but there are no constraints and it just falls apart. Does anyone know how to get glue constraints to work from houdin to UE4 through the HDA? here is my network. I have tried merge, attribute transfer Thanks in advance for any help
  19. Event Handler on a HDA inside HDA

    Hi, I have an HDA (sop) that contains a different HDA (rop). The problem I have is that I need both of them to run a OnCreated event, but it seems to run only when user creates the node, not when it gets created as a part of a different hda (both have the OnCreated working, when I just create them separatelly). Does anyone have a solution for this? Thanks Martin Running: Houdini 17.5, Linux
  20. so i create a subnet with a few options in the parameter interface. outside that - i created 3 options joined by a switch. so i have 2 questions. 1) how do i create an HDA that keeps my current menu from the subnet and include that with a menu for the switch? i hope i am asking that right. 2) rather than having a slider for the switch - is there a way to create a toggle button for each option?
  21. Python Viewport NDC Transform

    Hey, I am currently building an HDA with python viewer states and I want to display an image/grid in the upper left corner of the viewport. This is what I currently use to move the grid to the current viewport postion. viewport = hou.ui.curDesktop().paneTabOfType(hou.paneTabType.SceneViewer).curViewport() cam = viewport.viewTransform() hou.parmTuple('/obj/geo1/transform1/t').set(cam.extractTranslates()) hou.parmTuple('/obj/geo1/transform1/r').set(cam.extractRotates()) I also transform the grid in the negative z direction afterwards. This results in the image beeing in the center of the viewport. But I'm not sure how I can move the image to the corner of the viewport and keep it in the correct postion when the viewport is beeing resized. Maybe with the viewport.viewportToNDCTransform() or viewport.mapToWorld() methods. But I couldnt figure out how. I found a promising vex based result here:https://youtu.be/7UuVhbTRcew?t=1890 string cam = chs("camera"); vector bb = relbbox(0,@P); vector4 crop = chp("crop"); bb.x = fit(bb.x, 0, 1, crop.x, crop.y); bb.y = fit(bb.y, 0, 1, crop.z, crop.w); bb.z = chf("zoffset"); @P = fromNDC(cam,bb); But this one requires a camera node and I'd rather have this logic in the python states if possible. Thanks
  22. Hey guys! Once again, I have to seek out your precious help ^.^ I am currently creating my own asset browser and I am working on feeding assets from Houdini into the library. So far, everything was going pretty smoothly up until I got stuck with something that seems so simple: the frameSelected() function of the hou.GeometryViewport class. When I use the Python shell inside Houdini and do this, it is working correctly: import toolutils viewer = toolutils.sceneViewer() view = viewer.curViewport() node = hou.node('/obj/geo1/DZK_Asset_Export') node.setCurrent(True,True) view.frameSelected() My section in the HDA is not. Broken down to the essential part (with hard coded selection of node as above for the sake of the example): import toolutils viewer = toolutils.sceneViewer() view = viewer.curViewport() [...] cam = obj_level.createNode('cam', 'asset_cam') node = hou.node('/obj/geo1/DZK_Asset_Export') node.setCurrent(True,True) view.frameSelected() view.saveViewToCamera(cam) view.setCamera(cam) All the other functions work as expected (lockCameraToView, saveViewToCamera, setCamera all work fine). I only have trouble with frameSelected(), even when adding the code from the shell to my script, basically hard coding selecting the correct node. After running my export process which does not frame the view, I can go to the shell and call frameSelected() and from there it works again :/ I also have sections where I first set the camera, lock the view, then try framing but it is the same result: all working, except the framing. I wonder what I am doing wrong in my code and hope you can help me out. Any pointers, comments are greatly appreciated!
  23. Hi there, I want share for free my HDA for combine and export the cache of fluid from cluster system and convert it in VDB. Download here It's a open HDA so you can edit it if you want, please let me know if you do/did it and let me know if you use it in production. It's free, but a little donation is grateful Have a nice day Matteo video demo https://youtu.be/dLj2CaWam7Q
  24. Sparse Pyro Upres H18

    Hi everyone ! I have been working on a sparse pyro upres recently and did a video to test it. You can find the hda here : https://drive.google.com/drive/folders/1H4Y0HNELDJ6lmHsM43eEI_lRgNuCEaxX?usp=sharing More details about the solver : The sparse upres solver is a deeply modified sparse pyro that allow the user to quickly upres a smoke simulation from simple inputs. The core idea for the upres is to bypass every nodes related to velocity update in the smoke solver, like the project non divergent, vel advection, collision mask, ect. and replace the upres vel field by a copy of the low resolution velocity. One can then advect any dyes needed through that vel field to create an upres. In order to keep the pipeline as simple as possible i splitted the process in 2 nodes, a 'configure_inputs' which precompute some lowres fields and normalize inputs and the upres solver itself. The sparse solver needs to match the parameters of the lowres simulation to work properly (like dissipation, flame amount, temperature diffusion, ect.). To quickly set up the upres solver i added a python script, that copy and paste all relevant parameters of a lowres pyro to the upres solver. You just need to select which pyro solver to use as reference to match the parameters. The sparse solver itself has some simples parameters like noise / random that allow the user to inject details in the lowres vel field. Noises and randomness are stored on an separated field, 'noise', to be conserved through time since vel is simply copied from the lowres. That allow the noise field to be advected by the vel and then merge with it to advect other fields like density, flames, ect. Which create a more complex pattern than a noise directly merge with the vel. Color can be added at the upres stage if the source contains a Cd and Alpha volumes. Those fields will simply be advected by the upres solver like any other fields resulting in a colored smoke. Your lowres simulation needs no color. Retime can be perform by interpolating the source and scaling parts of the upres solver. The process is automated from a tab in the sparse solver. However, it can vary if you animate the retime or set it to low (especially with flame). The upres solver does not need any modification of the velocity other than small disturbance / turbulance details. If you add strong changes in the vel field your upres dye will deviate far away from the lowres vel field. Every major modifications of the vel field like wind or buoyancy need to be added in the lowres simulation. A fake divergence can be added through the process by computing the negative gradient of the density added to the velocity. Since pressure projection has been bypassed, important amount of this 'divergence' will result in compression in the vel field creating artefacts in the smoke. However, it can be usefull to break the sharp edges of an upres smoke if needed. At last, one can force the upres to match the lowres fields by simply removing parts of the simulation which are outside the lowres smoke by taking the lowres density field as reference. If the lowres is below a threshold value, the upres smoke is multiply by amount less than 1. This can be usefull is you have strong noises and need to dissipate them to stay in the bounds of the lowres.
  25. Hi guys Im fairly new to houdini I am spawning a cube along a curve using a copy to points and a carve in a for loop, so I can spawn multiple cubes but also control their position along that curve individually. My question is how can I use a switch and a for loop so that I can also control what geo is then assigned to each iteration of the copy to points, first I spawn a cube, then I want to select a sphere, then a cube again or is a for loop not the way to do this? Any help is super appreciated! Thanks,
×