Jump to content

DonRomano

Members
  • Content count

    148
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by DonRomano

  1. Boat explosion

    Hey guys, Here's a new project I'm working on as I have some free time. The boat is a free model from cadnav. The main rbd sim with instanced debris is there : https://streamable.com/pcayf I used the new rbd deform pieces for the mesh (which is pretty useful) and I'm looking to add some noise and more details to the edges later. I've made the explosions (but infortunately I have only 119 frames because it crashed, I may resimulate the explosions 1 by 1 instead of the 4 in a row) : https://streamable.com/sjcje I've also made a quick low res render to see how the ocean and the explosions behaved all together with a lil bit of comp (to match my background) : https://streamable.com/1sduw Now I need to add sparks, smoke trails, and flip white water, and maybe additionnal splashes, refine the ocean.. Cheers and happy confinement !
  2. Thin Sheet Fluid

    Hey everyone, so after my very long thread (https://forums.odforce.net/topic/44053-implement-kernel-maths-in-vex/) I finally found a solution. The setup works great at 0.05 res, you might have to dive inside the solver and change some parameters to get it work at other resolutions (especially to get the droplets). Here are some test : Emission threshold at 60 (depending on the situation, there might be some abusive expansion, like at the end on the rubber toy, but this seems impossible to fix when you want a full thin sheet) Stretch threshold at 0.75 / Surface Tension 0.5 Emission threshold at 15 / Stretch threshold at 1.25 / Surface Tension 1 Houdini default Flip with Surface Tension at 1 Crown test with 50 Emission threshold (problem with infinite expansion with liquid dropping from the collider) If someone has suggestion to improve it, feel free to tell me I'm still working on fixing the infinite expansion issue, but the emission threshold is doing great until 20-30 depending on the situation Cheers, thin_sheet_solver.hipnc
  3. Boat explosion

    Hello guys, So after many many retakes, here's a new version of the rbd simulation. What do you think of it ? rbd_sim_deformed_mesh_021.mov https://streamable.com/2fs36b Cheers,
  4. Accessing ptnum on a wrangle

    Depending on what you're trying to do, you can either use the nearpoint() function which will return the closest point of the geo in the second input (to the point you're iterating on), or maybe you can setup a custom id attribute on both points, and then use the findattribval() function to find the corresponding point. Another possibility is to iterate through a point cloud, and there are many other way.. Cheers
  5. 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,
  6. PythonLoader

    I didn't know where to post it exactly but I'll post it there too !
  7. 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,
  8. Multiparm (list) parameter linking

    Hey, you can setup a python callback script which dynamically reference the parameters from your hda to the wrangle. Here's a quick example : listparm_hda = kwargs["node"].parm("list") list_hda = listparm_hda.multiParmInstances() children = kwargs["node"].children() for child in children: if "wrangle" in children: wrangle = children else: continue listparm_wrangle = wrangle.parm("list") list_wrangle = listparm_hda.multiParmInstances() i = 0 for parm in list_hda: p1 = parm p2 = list_wrangle[i] p2.set(p1) p2.expression() i += 1 Cheers,
  9. I don't understand what you're trying to achieve, what's your goal here. Do you want just some particles to slide on the red geometry and some other to keep their way or is it something completely different ?
  10. What about sharing your file ? We'll be able to see what's not working and not wasting our breath here. It may come from another node.. Cheers,
  11. Use a compare node to check if the @Cd.r is greater than your threshold value, and then drive a switch with that so it should cast rays only on the red geo :
  12. Keyframing with Python seems buggy?

    It's the same a "normal" python scripting : import module1 import module2 import module3
  13. I don't understand what's your goal here. If you want to replace your script by another script using some condition, create a python module in your hda with your different functions and call them in the menu using hou.pwd().hdaModule.myFunction().
  14. Hey, if you want to put a script into the hda menu script, it must return a dictionnary with your menu items and their id, like def myMenu(): do something items = {"0" : "item1", "1" : "item2"} return items myMenu() I don't know if that seems clear to you, but as you replace the "classic" item list by a script, it must return some items, and those items are evaluated as a dictionnary. Cheers,
  15. POP Fluid collision and thickness issue...

    Sometimes higher sim times are required to get accurate collisions. Substeps helps interpolate you animation to calculte more precisely the collision frame byr frame. What are the settings on your collider ?
  16. Boat explosion

    Yeah I saw this, it's a very interesting breakdown. Initially I was inspired by this https://www.alchemyschool.com/houdinimasterclass but I'm really really not at this level..
  17. Boat explosion

    Thank's a lot for the feedback @6ril, seems like I have a lot of things to rework. I'll post it here when I'll have some new things to show. Cheers,
  18. Mainroad post lookdev classes

    Mainroad Post started posting some classes online. For now there are only 3, it's in russian but it's easily followable and very very very interesting; it deals mainly with vops and maths, and how you can construct patterns using maths functions such as sins, noise, etc.... Very intructive.. https://www.youtube.com/watch?v=rzjXRvgo7YA 1/7 https://www.youtube.com/watch?v=2SSCN3WBne4&t=4591s 2/7 https://www.youtube.com/watch?v=LF4ZUchXU6Q 3/7 And i assume the following will be released soon as they started posting a week ago. Cheers,
  19. Boat explosion

    Some more progress, a quick ld render to look at the global motion of things https://streamable.com/br2ki9 Cheers,
  20. Python drag and drop

    I'm pretty sure it's not possible to do this for now, you have to create your ui into a python panel to be able to use the drag n drop feature. What you may do to solve this is to create a button where you can call the selected node and add it into your line parameter. You can get the current selected node path with : nodes = hou.selectedNodes() selected_node = nodes[0].path() Cheers,
  21. houdini pytho pyqt4 button event

    Please display your code using the insert code, would be much easier to read. The hou.ui.displayMessage function returns the id for the button clicked (i.e 0 for the 1st button, 1 for the second...) so I assume you can do something like this : mybuttons = ["cam1", "cam2", "cam3", "cancel"] returned_button = hou.ui.displayMessage("my message", buttons = mybuttons, close_choice = (len(my_buttons) -1)) if returned_button == (len(mybuttons) - 1): #don't forget to subtract one of your list length to get the right index, otherwise you'll get the wrong one do something do something else Cheers,
  22. Python drag and drop

    I don't understand what you're trying to do. You want to create a shelf tool to drag and drop a node, but where ? And what's the purpose of doing that ? Have a look here it may help : https://www.sidefx.com/docs/houdini/hom/state_dragdrop.html
  23. The only thing I see after diving into the sop bullet solver is to unlock it, dive into the dop and add a sop solver with a wrangle, just like you do in an old way sim. This new sop thing looks like it's pretty limited to customize, even for constraints rules. It's cool for basic rbd sims, but when you want to have more control it seems that you have to go the old way.. Cheers,
  24. How to execute shelf button via python?

    Yeah I see, I'm getting this error too, because I guess the shelf tool needs some sort of info to set up kwargs and executing it from a script doesn't seem to give it the info. Why not creating a normal script and then executing it with hython instead of creating a shelf tool ?
  25. Why don't you just use $F > 1000 ? The "<" statement returns 1 if the condition he's verifying is true, and 0 if not. So just typing $F > 1000 should mean "be active if the current frame is superior to 1000". I'm not sure on how the new rbd sop solver works, but you can try by using the attribute @Frame (which is the equivalent to $F in vex). Cheers,
×