Jump to content

vtrvtr

Members
  • Content count

    229
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won

    10

vtrvtr last won the day on October 19

vtrvtr had the most liked content!

Community Reputation

85 Excellent

1 Follower

About vtrvtr

  • Rank
    Initiate

Personal Information

  • Name
    Vitor
  • Location
    Brazil
  1. Here are some comparisons: Volume source collision: Incorrect Static object collision: Correct Static object collision: As you can see the static object and the volume source are the same, as they should be since they do the same thing. Note that the I didn't have a collisionvel field, which can make the difference depending on the situation. The "incorrect" static is "incorrect" because you're putting a vdb in the sop path parameter, but the solver is recreating this vdb every frame, which is likely not what you want. To fix is you need to put the path the vdb in the Proxy Volume parameter and change the mode to "volume sample". Here is the hip file pyro_col_ODF.hip
  2. If you're asking "is there a button that does this?", then the answer is almost. If you're asking, "can I do this?", then the answer is yes. There's no button, but in the color editor you can load an image and pick colors from it, so you can do a gradient based on the image in a few clicks. If you want to do it in one click, it's relative simple to sample image colors. You can take inspiration (or use it directly) something like this https://github.com/fengsp/color-thief-py
  3. You modify some "value" in some "data", for example the "divsize" value in the "vel" data.
  4. If-Node in node network

    It is, but not most common way to do things. Imagine instead of two things you want to randomize 10, now you have a monstrous network. You can use the Switch SOP and use either python or hscript to randomize the input. As you might imagine, the more inputs you have, the harder this becomes. Example file below. Usually what people do in situations like yours is save the set dressing to disk and just randomizing the loading path. People usually avoid the fully dynamic approach because it's common for fully randomized pieces to simply not fit together well. If you want the fully dynamic approach you might want to create different assets from your attachable geometry. Another approach that might lead to better organization is to use a Object Merge SOP and randomize just the path to the output of whatever network is generating the set dressing. randomize_network_path_odf.hip
  5. PDG Question

    What you think about saving camera settings for all items? That way you don't need to worry about exceptions and everything is standardized. The extra data will also be negligible. Of course, that supposes you can know which camera to use before saving the models. If you can't, then you have no choice than doing it manually later.
  6. PDG - SOP Environment variable

    Use `@PUBCACHE` or equivalent.
  7. Using attributes as parameter

    That doesn't work everywhere. It works in `group` type parameters or the polyextrude node (if you set it up in the UI), for example. It doesn't work in many other parameters. For consistency sake you're better sticking with the `point(...)` syntax or the Python equivalent. That will work in virtually all cases. Oh, yes, you might be confusing it with the new PDG stuff that lets you do `@attribute` if you set it up in TOPs. That also works in most places.
  8. Changing parameters from a python script

    You can try forcing the cook of a node with `node.cook(force=True)`. But usually you would make a button that would let the user randomize whatever on demand. You can also take a look at PDG to make a graph that constructs your assets.
  9. Notification when Houdini crashes

    You should use a render manager of some kind, Tractor, Deadline, Hqueue etc. Many of them have functionality like this. The way you're doing it is a bit troublesome. Where are you running this from? If it's from Houdini for obvious reasons it won't work since the program will have crashed. If it's from some other shell, how will you get the correct pid? Also, Python is cool so it will work, but your morphing function definition isn't very usual. Usually you would take care of the OS difference inside the function (or have two different functions).
  10. Changing parameters from a python script

    `chs...` is a hscript syntax. It's better to use full python if you're going to use python. Something like import random controller_node = hou.pwd().parent().node("controller") windows_parm = controller_node.parm("nOfVertWin") windows_parm.set(random.randint(0, 5)) This would randomize between 0 and 5.
  11. Not completely sure I understand, but maybe something like this. pcfind_normals_ODF.hip
  12. PointWrangle x PopWrangle

    This screenshot isn't from frame 0, right? You have to play the simulation for it to cook. If you want to have the values at frame 0, start your simulation at frame -1. If it really isn't doing anything when you simulate. That's very weird. Maybe reinstall Houdini.
  13. PointWrangle x PopWrangle

    You might want to upload your file because to me it seems it does work. vellum_pt_expr_odf.hipnc
  14. PointWrangle x PopWrangle

    Here's a hip with an example of both reading from SOPs and from itself. point_exrp_dop_odf.hip
  15. You might want to post the hip file because it simply should work. Also, try recreating the node. It seems there's bug (feature?) with what exactly is evaluated when you press "Cook".
×