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 142 results

  1. 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
  2. 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!
  3. 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
  4. 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.
  5. 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,
  6. Hi to all, given that I have very little experience with VEX and nothing with Python … I'm trying in every way to modify the Range in the Parameter Interface with a specific dynamic datum. I would like the maximum value to be insertable on the result of an “if … else” expression that I have into my network. Is it possible to create this control type? I guess so … Thanks in advance
  7. Hi, I am attempting to make an HDA for Crowd in order to try using it in Unreal. I've used Houdini Crowds a bit but I'm not a Houdini super-wiz and I know even less about setting up HDAs. I could use a little help. I have got to a point where I have an HDA which accepts Agent Definitions in one input and some points in another input. That seems to work OK (in Houdini, at least. I haven't tried Unreal yet). Now I want to 'embed' my agent definition into the HDA. Is that possible? I have tried using the 'extra files' section, but I'm certain I'm not doing it right. How can you read the embedded files? I have read the manual, and tried the following: opdef:.? opdef:../..? oplib:.? etc, etc, and many variations., but nothing seems to work. How is it done? I include my test file if you can spare a minute and set me straight. Many thanks in advance! Dan HDA_test_v03.hipnc
  8. Individual HDA (version: BETA v1.00) This is the current beta version. More feature versions will soon be released.
  9. Houdini dynamic UI

    Hello, i am currently doing a procedural circle data graph, and I am thinking of make it modular, with a int you can control the amount of types, and that will show in the editor for each unit one label, color and total number, but I don't know if that is possible. Any way to do it dynamic, or i needto create a bunch of premade slots to fill. Thanks you for reading.
  10. Yo magicians ! It's my first time using Houdini Engine, and I tested to animated the parameters of my asset, found out that it's impossible to keyframe it. I can change the values, but I can't keyframe the changes. Is there something i'm missing right there? Thanks all !
  11. Hey, I am working on a HDA that loops over an input mesh and loops over sockets and attaches the corresponding meshes to the sockets, in the next iteration of the loop, it should look at the sockets of the attached mesh and attach the corresponding meshes to it. The idea behind it is to have a gun assembly tool. Unfortunately, it crashes after the second iteration with an out of bounds error. Any idea what it causing the crash or on how to fix it, I guess it has something to do with the mesh sockets, but I can't really pin down the problem. Test_SocketLoop.hdanc
  12. Hi, I'm new here and new to Houdini so my question may be dumb. I'm building my digital assets using some python scripts and so far everything is going pretty well. However, I can't find a way to specify the "Maximum Outputs" number of my (LOP) digital asset, using the API. In fact, I'd like to see no output at all, similar to a rop_geometry SOP or a usd_rop LOP. The minimum and maximum number of inputs are easily customizable, but not the maximum number of outputs, which however is accessible in the "Basic" tab of the "Operator type properties" window. I also did some research on the HDASection and HDAOptions side, without success. Maybe I missed something. Any ideas? Thanks
  13. PythonLoader

    Hey guys, Here's my first HDA : the PythonLoader. It's a python sop node which you can use to write, save, load and execute script within Houdini. It can be very useful to test script for future shelf tools, iterate through similar nodes, load multiple files... all kind of python operation we can make in Houdini. You can save those scripts to re-use them later, modify them or even share ! Tested and working on Houdini 18, let me know if you encounter any problem with another os or Houdini version ! It's free and you can get it here : https://gumroad.com/l/UnmRE Cheers,
  14. HDA loop not updating

    Hi guys. I have a problem with one of my HDA's. I have 3 parallel loops. The first one is looking for a number of iterations to run out of points and stop by triggering Stop Condition. The second and Third loop is using a number of iterations from the first loop. Problem is that the first loop does not update when HDA is inside a loop. I have to select the first loop output and then it works. UPDATE: I thought that the problem is that the first loop is parallel to the one dependent on it, but after I added it to the flow and it is before the 2 others it is still not updating. Any way out?
  15. Executing hda python script every frame

    Hi there, I'm in the process of setting up a little viewport comment hda. All it does is changing the vcomment parameter on a selected camera. This works great for static text and variables but I haven't found a clean solution for time-dependent stuff such as $F. Since the hda python module doesn't execute every frame, I'm using a script SOP inside the hda which calls the phm function that updates the text every frame. The problem is, that this results in the HDA function executing last. So when doing flipbooks for instance, the image will be rendered before the hda function executes, thus the text lags behind by one frame ($F will show "1001" on frame 1002). Part of the problem is (I think) that the string is being evaluated inside the HDA. So the actual vcomment parm on the camera will already be "1001" instead of "$F" (which would probably evaluate correctly every frame). So if I could prevent the string from evaluating on the HDA, that would probably solve the issue. I'll try the same thing with a Python SOP instead of on the HDA's python module, but in the meantime, maybe someone has a better solution for this problem.
  16. Hi, I have encountered some odd behavior of a digital asset in UE4, could somebody please try and do the same to confirm, or maybe point at what am I doing wrong? So, first of all, my Houdini version is 18.0.348 and UE is 4.24.1 I'm quite new to all houdini_to_UE related stuff so probably it is not a bug, but my misunderstanding of some core principles. So I made an hda which has Sweep node inside and a profile curve; when I put it in the UE4 and use curve_input, it works but the resulting geometry appears squashed by one of the axes. Oddly though, if I use PolyWire instead of Sweep in my asset it works just fine.
  17. Object Propulsion

    I'm trying to recreate the effect of small pieces of dry ice propelling themselves across the surface of water. First step was to figure out the propulsion. Thought I'd post my solution in case anyone was interested. The basic approach is to take a number of points on the surface of an object and use their normals as propulsion vectors to move and rotate the object in a (somewhat) physically accurate way. The points and normals can vary over time to create more random behaviour. This can probably be incorporated into dops somehow but haven't looked at that yet. It is also entirely likely that this is trivial to do in some other way and I've wasted my time. If so, please let me know. mt__propulsion__1_0.hdalc
  18. Hengine in Max

    Hey! Is there any way to create collapsible folders in .hdas in Max or does Max not support those? Seems like they appear as simple separated elements.
  19. Hi, thought I'd share this in this section too: I wrote an article for the german “Digital Production” magazine about my free LYNX VFX toolset. For the article I made a couple of renderings using the LYNX fabric tools. Luckily it even made the cover Here are my personal favorites, the rest of the images can be found on Artstation. You can also find the complete scene on GitHub under the Demo Files. So now anyone can design an ugly Christmas Sweater;) Looking forward to seeing what you guys come up with, enjoy! Links: LYNX VFX Toolset Odforce Thread: https://forums.odforce.net/topic/42741-lynx-free-opensource-vfx-pipeline-tools/ LYNX VFX Toolset (Sweater Scene File included): https://github.com/LucaScheller/VFX-LYNX Artstation (HighRes Renderings): https://www.artstation.com/artwork/OyeY6g Digital Production Magazin: https://www.digitalproduction.com/ausgabe/digital-production-01-2020/ Alternatively view the article in my latest blog post: https://www.lucascheller.de/vfx/2019/12/15/ynybp7wpiqtshoy/
  20. Inspired by a tool done by Simon Houdini I decided to recreate same tool on my way. Basically is a nested boolean system which iterates over itself. Starting from a basic cylinder there are three ways to add detail. First is a cylinder which is usefull to generate pivots or a central hole. Second is a circular array of boxes or a circular curve and third is a ray node projecting points over the mesh and copy cylinders there ( useful to attach bolts, screws or make small holes). There are a lot of room for improvements, maybe is not the most user friendly tool of the world and I should try to find a clearer ways to manipulate the tool. I had a lot of problems adding handles or guide geometries because I didn't find the way to switch the guide geometry to older iterations and things like this. At the end I kept at it was without guides and handlers. Please take a look and test the tool. Would be nice have your feedback and ideas for improvements. The tool can be downloaded from here: https://drive.google.com/file/d/1rDgRtMYhhllZWNdANppqnBo9NahtlZNV/view?usp=sharing Thanks for testing it. O.
  21. Hey folks, I have a simple subnet that I use to reduce the poly-count of incoming geometry. I have exposed some parameters and added the ordered menu "Level of Detail". I want to be able to use this dropdown menu as a list of presets to fill in the three values into the fields below. I then want to be able to adjust the values via the sliders. I'm sure there is a straightforward solution to this that I do not see. Thanks a bunch for your help, Felix
  22. Hello everyone, I am currently setting up an asset pipeline for a project in houdini. My main question I have is how I handle the versioning of Digital Assets. I prepared an overview where you can see basically the 2 ways I came up with: The One option is the" self contained" one. When ever you want a new version of your asset you: 1.duplicate the subnet where you work in. 2.Then you have "subnet_v002" that gets turned in to a digital asset "asset_v002.hda" with the definition "asset::2.0" Every new version gets its own asset library and in every library there is only ONE definition of an asset as you can see in the picture. This workflow is good if on your drive you only want one .hda file associated with one asset version. The other option is the packed one. Same as the other when ever you want a new version of your asset you: 1.duplicate the subnet where you worked in. 2.But then you don't create a seperate library you only have one library with multiple definitions. One definition for one version. That means if the library asset.hda already exists with the definition asset::1.0 you will append the latest definition asset:2.0 to the library. In this case you have all the definitions packed in to one library. For me this option is a little confusing in that sense that you dont have a file seperation of the different versions and one asset library can become potentially huge in file size. One big point of assets is being able to update the assets in a houdini scene easily without destroying relations to other nodes. No when it comes to that for option "packed" as every version is in the same library you can simply write a script that updates all nodes with the same library to latest definition is that correct? But if i like the file seperation on disk for each new version, HOW would I in option "self contained" update my "asset_v002.hda" with asset::2.0 to "asset_v003.hda" with asset::3.0 as a definitio? All of this should happen kind of automated so I am searching a python way to do this. I would be really interested if anyone has update solution for the option "self contained" and what you generally think which option is the better one to handle digital assets. Thanks a lot Paul
  23. Hi everyone, Does anybody know how I can set an HDA's parameters with an external Text or Python File? For example how would I change the sizex and sizey parameters of a Grid SOP in the HDA. Thank you, I appreciate any help! - Von Doom
  24. I am doing a simple "Flag" asset with materials , texture and object embedded. All work nicely except for the "POP wind" node i place in my vellum solver which disappear when i bring the digital asset. All the rest works without a problem. What am i doing wrong?
  25. Hi , I have a houdini hda that generating some poly data , but the normal of the poly is weird , i tried to add a normal sop as point or vertex in houdini with different face angle inside my hda , but still can't get a good normal ? I tried also to change the setting for the hda in maya interface (“preserver mesh locked normals”) , but it didn't help . I attached an image to the result i get in maya to show the problem , if i load my hda in cinema 4d , it's give me a good poly normal by default ! Is there any solution to get a sharp or good normal ? any help is appreciated .
×