Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Rigid Body _ initial Ground Collision

    You can make it active any time. As I've said earlier this is simplest way. In hip file rough example of a bit complicated approach. I don't know if it suits you but anyway... ODForce_GroundCollision_001_01.hipnc
  3. Today
  4. Thanks a lot for this! I tried the python gconvert method and the odd thing is that I cant get it to write the output of subprocess.check_output() into a variable. No matter what I do it errors out into a "CalledProcessError: Command 'gconvert' returned non-zero status 1". I actually managed to get it to write the output into the console by removing the "stderr" flag, but it always ends with an error and does not assign the output into a variable. Do you have any ideas what could be the reason for this/how to get around it?
  5. FMX is back in town in and we'll have our Stuttgart HUG meetup + od-lunch on Wed May 1 during the FMX lunch break at 1pm. Location: Restaurant “Logo” inside the “Haus der Wirtschaft” at the FMX - We booked a table for 20 people. ( You don't need a FMX ticket for the restaurant area ) Meetup Event: https://www.meetup.com/Stuttgart-Houdini-User-Group-STHUG/events/260937509/ Big thanks to @Oliver Markowski for helping out setting this up! See you there!
  6. Hello guys, I"m trying to do an explosion of debris, I started by doing the particles simulations, then added an attribute randomize for the pscale, then I did a copy into the particles with a debris geo I made. The problem is that everything is falling at the same speed, big debris, and the very small ones. Is there a way to fix that? Thank you !!!
  7. It does both, the new deformer bends and twists. So when you search for a twist deformer it gives you a deformer that can twist, the same with bend.
  8. Nature fun

  9. The Twist and Bend deformers in Houdini 17.5.173 seems to be exactly the same? Is it true for your as well or is something wrong with my Houdini? Or are there some subtle differences I'm not aware of?
  10. Support has gotten back to me. Turns out my render licenses got mysteriously taken away. They sent over an updated license file and all was good! For future reference if anyone encounters this issue.
  11. get all possible file extensions with python

    I don't know reliable future-proof way to get the exact list of geometry files for File node. 1. To make hou.ui.selectFile() ask for geometry, pass file_type=hou.fileType.Geometry parameter. 2. You can parse data from "$HH/GEOfiles" and "$HH/GEOio.json", which appear to provide most common geometry formats. 3. To get the most extensive list of supported geometry, I'd parse the help message of gconvert utility: import re import subprocess formats = {'Read': set(), 'Write': set()} # Capture output of gconvert utility. path = 'gconvert' try: out = subprocess.check_output(path, shell=True, stderr=subprocess.STDOUT) except: pass # Split output into major pieces. _, builtin, _, external_translators = re.split(r'-- Built-In --|-- Translators --|-- External Translators --', out) # Parse "Built-In" piece builtin = set(builtin.partition('Recognized Extensions:')[2].replace(',', '').split()) formats['Read'] |= builtin formats['Write'] |= builtin # Parse "External Translators" piece external_translators = re.findall(r'\((Read)-(?:Only|(Write))\)\n.*: ([\w., ]+)', external_translators) for read, write, extensions in external_translators: extensions = set(extensions.split(', ')) if read: formats['Read'] |= extensions if write: formats['Write'] |= extensions # Manually add 2 formats from "Translators" piece and also add FBX read. formats['Read'] |= {'.hgt', '.fbx', '.vdb'} formats['Write'] |= {'.vdb'} It will output this: {'Read': {'.abc', '.ai', '.bgeo', '.bgeo.bz2', '.bgeo.gz', '.bgeo.lzma', '.bgeo.sc', '.bgeogz', '.bgeosc', '.bhclassic', '.bhclassic.bz2', '.bhclassic.gz', '.bhclassic.lzma', '.bhclassic.sc', '.bhclassicgz', '.bhclassicsc', '.bjson', '.bjson.gz', '.bjson.sc', '.bjsongz', '.bjsonsc', '.bstl', '.dxf', '.eps', '.fbx', '.geo', '.geo.bz2', '.geo.gz', '.geo.lzma', '.geo.sc', '.geogz', '.geosc', '.hbclassic', '.hbclassic.gz', '.hbclassic.sc', '.hbclassicgz', '.hbclassicsc', '.hclassic', '.hclassic.bz2', '.hclassic.gz', '.hclassic.lzma', '.hclassic.sc', '.hclassicgz', '.hclassicsc', '.hgt', '.iges', '.igs', '.json', '.json.gz', '.json.sc', '.jsongz', '.jsonsc', '.lw', '.lwo', '.obj', '.off', '.pc', '.pdb', '.ply', '.pmap', '.stl', '.vdb'}, 'Write': {'.abc', '.bgeo', '.bgeo.bz2', '.bgeo.gz', '.bgeo.lzma', '.bgeo.sc', '.bgeogz', '.bgeosc', '.bhclassic', '.bhclassic.bz2', '.bhclassic.gz', '.bhclassic.lzma', '.bhclassic.sc', '.bhclassicgz', '.bhclassicsc', '.bjson', '.bjson.gz', '.bjson.sc', '.bjsongz', '.bjsonsc', '.bstl', '.dxf', '.geo', '.geo.bz2', '.geo.gz', '.geo.lzma', '.geo.sc', '.geogz', '.geosc', '.hbclassic', '.hbclassic.gz', '.hbclassic.sc', '.hbclassicgz', '.hbclassicsc', '.hclassic', '.hclassic.bz2', '.hclassic.gz', '.hclassic.lzma', '.hclassic.sc', '.hclassicgz', '.hclassicsc', '.iges', '.igs', '.json', '.json.gz', '.json.sc', '.jsongz', '.jsonsc', '.lw', '.lwo', '.obj', '.off', '.pc', '.pdb', '.ply', '.pmap', '.stl', '.vdb'}} Difference may not worth it, but it exist: >>> formats['Read'] - formats['Write'] {'.ai', '.eps', '.fbx', '.hgt'} >>> formats['Write'] - formats['Read'] set()
  12. @henderthing it's a preprocessor macro similar to ones in C language. Houdini 17.5 docs is not very informative on them. Fortunately, you can use C tutor on this: http://www.zentut.com/c-tutorial/c-macros/ We have both object and function macros in VEX. Be careful about: ...precedence #define FOURv1 2 + 2 #define FOURv2 (2 + 2) printf("8 == %d using FOURv1\n", FOURv1 * 2); // 2 + 2 * 2 printf("8 == %d using FOURv2\n", FOURv2 * 2); // (2 + 2) * 2 ...more precedence #define TWICEv1(arg) arg * 2 #define TWICEv2(arg) (arg * 2) #define TWICEv3(arg) ((arg) * 2) printf("8 == %d using TWICEv1\n", TWICEv1(1 + 1) * 2); // Expanded as: 1 + 1 * 2 * 2 printf("8 == %d using TWICEv2\n", TWICEv2(1 + 1) * 2); // Expanded as: (1 + 1 * 2) * 2 printf("8 == %d using TWICEv3\n", TWICEv3(1 + 1) * 2); // Expanded as: ((1 + 1) * 2) * 2 ...scoping and line continuation #define REPEATv1(arg) \ arg; \ arg; #define REPEATv2(arg) \ { \ arg; \ arg; \ } if (0) REPEATv1(printf("This should never print (REPEATv1).")) /* Above expanded as: if (0) printf("This should never print (REPEATv1)."); printf("This should never print (REPEATv1)."); */ if (0) REPEATv2(printf("This should never print (REPEATv2).")) /* Above expanded as: if (0) { printf("This should never print (REPEATv1)."); printf("This should never print (REPEATv1)."); } */ Note: you may want to omit the scope to generate variables that should be created in scope where macro is used. And never put trailing space after backslash, as it will break the code with cryptic error. For useful examples search VEX libraries in $HFS/houdini/vex/. For example, ADVECT_POINTS macro in $HFS/houdini/vex/include/groom.h at line 265
  13. Yesterday
  14. Constraint Grains to Animation (targetP ?)

    I found this post very helpful in figuring out the grain dancer question. I just needed some help finding where to apply animation to have force go to the grains. I think I understand the use of the point deform node, but I'm putting it in the wrong place. Here is what I have been working on. Please help Thank you, grainExp3.hip
  15. scaling pyro sims

    @ejr32123Thank you. This helps.
  16. Hi there How may I achieve this: let's say I have a rectangle. I want to add a point at 10% of its length, then another at 20% of its length. Later I'd like to have some knowledge of whether a segment is between two points that were added to the original geo, for example to make an opening for a door. I didn't have much luck with carve because the First U parameter is expressed in terms of a u parameter in NURBS, not a distance on the curve; also two consecutive carve SOP are not commutative,
  17. Ways to bend geo under hard constraints

    I'm working on an rbd sim of a helicopter being hit by missile mid air. My metal is bending nice upon collision, but I'm looking for other ways to bend metal by the missile explosion (besides throwing a rock at it). Meta balls do break those hard constraints which are meant to break and send rigids flying, but I'm not getting any deformation in rigids which do (and are supposed to) stay constrained. TLDR: meta balls just don't bend my metal. Am I doing something wrong here? Should I be using some other method to achieve this effect? Unfortunately this is work for a client, so I cannot share files or pictures.
  18. Cloud rendering for education

    Howdo Im looking for some advice. Im teaching at a small private school in Vancouver, and its coming upto final project time. Unfortunately rendering on their workstations isnt quite going to cut it when it comes to crunch. I was wondering what experience other education houses have had with various providers, setup, their support lines and bang for buck. Did you need to have a seperate holding server for up/downloads There is only a handful of students so we wouldnt be sending the volume of data some of the larger schools can for big discounts. And as well as Houdini educational edition it would have to support maya too, but i think most do anyway Any help/thoughts greatfully received Ed
  19. Weird. I've been running into something similar on my Indie on Steam. Sometimes my render view glitches, and when I click the render button, nothing starts. If I create a new render tab, then it usually fixes itself, but it can happen again. If closing your session and re-opening it doesn't resolve your issue, it might be a little more serious than a simple glitch.
  20. Working only perlin, simplex and all below it
  21. Snow Solver

    You can use a grain solver
  22. Snow Solver

    Hello, everyone! Have you ever used the HDK snow solver for effects? I'm currently looking for examples for it. I'd gladly accept any examples, even with another solver, not necessarily the HDK one. Thanks!
  23. Hi fine People of odforce! I am setting up the simplest of curl-noise setups, an empty "vel" volume, a volume vop, some points on a grid and a volume trails sop for visualization. All I'm doing in the volume vop is adding a curl noise, feeding it volume position and exporting the result to vel. Now: picking base noises "alligator", "simple perlin" or "sparse convolution" results in this "missing dimensionality" along this axis that seems to be {-1,1,1}. What is going on here? I feel like I'm doing something wrong, but noises like simplex and perlin work absolutely fine in this setup. Any light shed upon this mystery is greatly appreciated! alligatorcurl.hiplc
  24. Rigid Body _ initial Ground Collision

    Thank you for your fast reply. Your solution works well. But in this case the bottom boxes would never be affected by the simulation. Is it possible to make the initial position a rest position defined previously by the node rest position ?
  25. Run script in Command Line tools with Python

    Ok, build a tool to render a list of HIP files without Hscript and batch files, via Python Directly.
  26. Hi, I am working on an airplane destruction with a skeleton underneath the fuselage. At first this worked quite well. ( SimV15_V5_goodImpact ) But after importing a newer version of the model with wings it completely ruins the simulation. ( SimV15_V7_Glitch ). Once I removed the breaks in the fuselage and skeleton mesh it works as it should again but the skeleton glitches through the fuselage. ( SimV15_V7_WingFixSkeletonBug2 ). So I know why this happens but I don't know how to fix it. I also don't really understand why the skeleton glitches through the fuselage mesh all of a sudden. Can two deformable surfaces work together properly? In attachments, you can find the file ( Simtest_15_V10WingFix_SkeletonIssue ) and the ABC ( B25_V30_Turbo_AllWingsV2 ) Btw I used steven knippings rigids 3 tutorial to get the metal deformation. Thanks in advance SimV15_V5_goodImpact.mp4 SimV15_V7_Glitch.mp4 SimV15_V7_WingFixSkeletonBug2.mp4 Simtest_15_V10WingFix_SkeletonIssue.hipnc B25_V30_Turbo_AllWingsV2.ABC
  27. "standard" pyro and deforming mesh

    Ah yes, indeed it works better. It's not entirely flawless, though - there is still that annoying lag behind as if the flames were pursuing the model limbs rather than being attached to it. Fun fact, I did try to crank up the Burn Rate a lot higher but I never tried settng the maximum, and the result is faaar different between 0.99 and 1.0 ! Anyway, in the end, after letting it rest for the night and trying to make it work for a few days, I'm quite dissatisfied with the provided pyro workflow. I'm quite sure I'm not entirely wrong about how I'm doing things but it requires so many patches and fixes to work 'well' that it ends up taking too much time simulating only to get a clunky result. I guess I'm better off with the 'fake' fire methods, temperature field manipulation and all that jazz. I mean, it's like building a house from scratch rather than trying to plug the leak in an old manor. Or something like that. I may be wrong though, and I'd be curious to hear about people successfully getting nice and realistic fires using the pyrosolver model...
  28. Rigid Body _ initial Ground Collision

    Hello, simplest way to achieve your goal is to set point attribute i@active = 0 on bottom boxes there as on the others set 1. And look some tutorials at sidefx.com about RBD simulation with bullet solver.
  1. Load more activity