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.


Popular Content

Showing most liked content on 08/21/2017 in all areas

  1. 4 likes
    you could put the following two lines in a vertex wrangle: setdetailattrib(geoself(), "min_val", @uv.y, "min"); setdetailattrib(geoself(), "max_val", @uv.y, "max");
  2. 4 likes
    In this tutorial we will go over how to set up optimized pyro clustering with oriented DOP containers in Houdini given a piece of geometry moving through a scene. This process will lower simulation time and be more efficient when saving to disk because there are fewer voxels. Link to Tutorial -> https://gum.co/TqUNR The tutorial is free though, if you feel like giving me some support I'd be grateful !! We first go over how to get things set up quick and easy and in the second half of the tutorial we make further optimizations using VEX. We'll look at how to rewrite cluster points to do exactly what we need it to, which includes rewriting the resample sop using VEX. An intermediate tutorial for those looking to speed up their pyro workflow and learn some VEX. Includes the scene file! Hope to see everyone leveraging these optimizations in the future and squeezing in those extra few iterations before deadline! You can reach me at trzankofx@gmail.com for questions or comments.
  3. 3 likes
    Radial Joiner...all you need to do is to align your geo to X axis first...then feed it in to the Joiner...a million times faster and cleaner than Boolean. No, I won't waste my time uploading to orbolt then wait for approval...rather watch grass grows... vu_radial_joiner.hdanc
  4. 3 likes
    @konstantin magnus, try function-style cast: vector(vertex(0, "uv", 0))
  5. 3 likes
    No Problem! Here is an example for diffusion and dissipation as the material gets closer to the collision object. I hope that this helps! Cheers! Alejandro dissipation_by_collision_proximity.hip
  6. 2 likes
    As you requested a VEX solution, I would put something like this into a detail wrangle: int all = nvertices(0); @min = vertex(0, "uv", 0); @max = vertex(0, "uv", 0); for(int i = 0; i < all; i++){ float compare = vertex(0, "uv", i); if(compare < @min) @min = compare; if(compare > @max) @max = compare; } Unfortunately I would not know how to access a single vector component in this manner: @min = vertex(0, "uv.y", 0); // these lines @max = vertex(0, "uv", 0).y; // do not work Maybe someone can help me out here?
  7. 1 like
    You can use an id mask, so this mask should be advected / transported exactly the same as density, this way you can use it to mask whatever filter/effect you want.
  8. 1 like
    Do you want to apply turbulence only for source or whole future field from this source? pyro_source_mask.hip
  9. 1 like
    I am used to access vector component like this, I hope it is a good solution as well: vector compare = vertex(0, "uv", i); if(compare[2] < @min) @min = compare[2];
  10. 1 like
    Hey This might come from volume sitting under ocean surface. I had similar issue and lowering Cloud density in oceanvolume shader plus playing with Displacement Bound with both ocean and volume gave me good result.
  11. 1 like
    @f1480187, ah thank you! So I guess, its: int all = nvertices(0); @min = vector(vertex(0, "uv", 0)).y; @max = vector(vertex(0, "uv", 0)).y; for(int i = 0; i < all; i++){ float compare = vector(vertex(0, "uv", i)).y; if(compare < @min) @min = compare; if(compare > @max) @max = compare; }
  12. 1 like
    Just convert your particles to a velocity volume and use Source Volume DOP. Couldn't be easier POPs_velocity_to_DOPs_fix.hipnc