Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

  • Days Won


Community Reputation

14 Good

1 Follower

About catchyid

  • Rank

Personal Information

  • Name Khaled Abdelhay
  • Location Montreal, QC

Recent Profile Visitors

586 profile views
  1. Thaaaaaaanks Janis I have tested volume slice and it does work exactly like you described. However, when it comes to Volume VOP, I am not sure exactly how to do this test : if density > 0 execute the addpoint command? plz, see attached image where you can see what I have done... Once more thanks for your help vop_question.hip
  2. Thanks... I've watched these videos before and I was able to get good result already I've also watched the video below which has a better way of creating bubbles/tendrils :
  3. Hi, I have FLIP simulation that I convert to VDB (i.e. in the Particle Fluid Surface node, I set output to "Surface VDB"). I am rendering the VDB in an external renderer that requires negative VDB densities (or to be more clear, it requires positive densities inside the volume), so in a Volume VOP I multiply incoming "density" by (-1) and wire the result to output "density" (plz, see attached image). However, when I do the multiplication, I get "new" voxels inside the VDB??? Meaning, I get positive densities in voxels that were zero before the multiplication??? The problem is gone when I converted the VDB into a native Houdini Volume then converted the result into VDB again (but this is inefficient). My question: why VDB multiplication creates new voxels?Is there a way to avoid this problem without converting back and forth between native and VDB volumes? Thanks,
  4. Thanks Edward...I've tried both, I don't understand how VDB Visualize Tree works (meaning, I don't understand its parameters, I think I need to understand VDB data structures in order to understand this node!), and Volume Slice SOP definitely helps... However, I was hoping to find a way to query VDB densities, for example : I want a way to query (either visually or in the spread sheet) all voxels with positive densities, negative densities, zero densities, etc... I could not find a way to do that natively in VDB, so I thought about converting a VDB to points (i.e. sample VDB densities using points), however this is not easy because I want exactly one point per voxel if does exist (i.e. in VDB you might not have voxels since it's sparse) and I don't know how to match the number of the generated points to the number of existing voxels... Anyways, I don't think there is a direct way to do that.... Once more, thanks for your help
  5. Hi, I am rendering Lava FLIP simulation in an external renderer as VDB. I want to visualize the generated SDF VDB before sending it to the external renderer, meaning: I want to "see" the voxels with zero density that represent the surface, other negative voxels that represent the inside of the fluid and how thick they are (i.e. is it one layer below the surface or two layers, does it go all the way to the inner most of the fluid...), does it generate positive voxels and how many layers? I am not sure exactly how to do that? I looked into "Particle Fluid Surface" and it uses "VDB From Particle Fluid" node with "Half-Band Voxel" set to 3, so I am assuming that I have approximately 6 layers of SDF VDB. However, I could not find a way to visualize these layers easily?? ALL what I got is a something that looks like an ISO surface (plz, check attached image) I am thinking, is there a way to convert each voxel to exactly one point such that it copies the "density" attribute in the voxel? I was able to do something similar by using "Attribute from Volume" node, but it's not accurate because this node requires points cloud to copy attributes to (so multiple points might exist in the same voxel or maybe too many voxels outside the VDB altogether). Thanks,
  6. Thanks Alejandro
  7. Hi, I am reading a point cloud using "Point Cloud Open" VOP, so I am setting "Search Radius" and "Number of Points" to appropriate numbers, however I have a question: since this node is sampling a specific number of points in a certain radius, how does it calculate the final result? Meaning, If I set "Search Radius" to 0.5 and "Number of Points" to 10, then if the node finds 3 points 0.5 radius, how would it calculate the final result? I guess the most basic assumption is that it's going to average them? The documentation does not specify how this is done (http://www.sidefx.com/docs/houdini15.5/nodes/vop/pcopen).
  8. cannot you use displacement (i.e. translation along normal maps) for that? If this is what you need, then it's possible (I don't know details though!). But I am thinking, if you just want it to move slightly side to side only (i.e simple translation), why don't you just animated it's translation? Maybe you can do both, use translation to do side to side and normal maps to add more character to it...
  9. I think you if you want anything to stick to your character animation, then one possible idea is to stick them to UV coordinates of the character (so in the noise generator, you would use UV instead of pos), but I am not sure how this scales to volumes? I think you need to know also how you would animate your object, i.e. if it's pure transformation, then there is no problem at all because noise will be described in object space (i.e. before the transformation)...
  10. Not expert, but as far as I understand it, native volumes were initially developed to handle volumes needed in modeling and simulation (e.g. pyro for example is still volume based), and I guess after VDB standard/algorithms were developed, Houdini implemented them and eventually they are trying to make tools work with both native and VDB volumes. Hmmm, to answer to your question, I "think" in modeling you can use VDB volumes, and in simulation you would have no choice as Houdini uses native volumes instead...
  11. Thaaaaaaaanks guys @Atom, actually the wrangler is not affecting is simulation, it's before the popnet and is just there to create initial velocity (maybe it's best to remove it altogether and initialize the velocity inside the pop, which I think is cleaner!) @Martin, YES, you nailed the problem! I am not sure why each time I use "trail" sop, I get these problems, I've tried to use "Match by Attribute" and use "id" for the attribute but it did not work as well. However, when I think about it, there is no need for trail sop in the first place because velocity is already computed by the POP network, so adding trail node is just a waist of computation. To answer your question, indeed I need to use the pop velocity, my goal is to mix between particle velocity and a random velocity such that at the beginining of the particle life I will have the particle velocity and as it ages the noise kicks in until it dominates just before the particle dies... Alright, once more thanks Atom and thanks Martin...
  12. Thanks... The ground is only static (it's Static Object DOP and it uses volume representation), the bubbles are "Source Volume" initialized to "Collision". Plz, see attached image. Actually, could you explain more what you mean by : because I don't understand what that means?? Thanks
  13. Hi, I have a Lava FLIP simulation, it works fine IF I don't have any collision volumes (ps. collision volumes are such spheres going upward to simulate lava bursts). However, once I enable collision volumes, the simulation works fine for a bit then particles explode (around frame 44)??? What is the best way to trouble shoot this problem? Are there some parameters that could "fix" this behavior? Note, in the pictures blow, there is only one frame difference between stable/unstable screenshots... lava_v2.hip
  14. Thanks Yes, I've looked at that tutorial before and it's very informative ... The fourth input is used in this tutorial to change particles velocity via SOP solver, Just want to share
  15. Hi, In the flip solver, there are four inputs: -First input is the FLIP object (which is where particles live). -Second and Third inputs are particle velocity AND volume. This is where I can apply particles or volume velocity fields, i.e. the ONLY thing I am allowed to do here is to attach either: a) POP Forces (i.e. should not use any particle source/location as particles already spawned by the first input), or b ) Volume velocity. Is this correct? -Last input which is sourcing (post-solve). The obvious use for this is spawning particles in the FLIP Object. However, I find "Gas Temperature Update" can still change the particles temperature/viscosity over time. I found another tutorial which adds SOP solver to copy particles velocity based on proximity? My question: Can I add any solver that change any particle attributes (except for velocity) in this fourth input? If anyone can verify my understanding of FLIP Solver above points, please do Another question: I want to introduce Lava tendrils + bubbles in the simulation. IF my above understanding is correct then somehow I need to copy particles velocity based on proximity into Lava particles? Actually, I've seen one tutorial that does that through a SOP solver, but I want to make sure that this is the right way or maybe there is another better way? Thanks,