Members

9

848

Members

4

6

Members

4

852

Members

3

3,293

## Popular Content

Showing most liked content since 10/15/2020 in Posts

1. 3 points

## How handle this mushroom shape procedurally ?

Just gave the gills a little update.
2. 3 points

## Weathering texture tool

Here is the VEX version of the streaking texture procedure. It's pretty flexible now: Starting curves from uncovered areas to any angle, jumping over gaps, gradually changing target direction, measuring curve length for any point and of course texture mapping. Model taken from threedscans.com streaks_VEX_2.hipnc
3. 3 points

## Visualizing mathematical things using Houdini

Hello, I recently started Houdini and I realized it can be used as a powerful visualization tool for learning mathematics. I visualized the slope field of Lotka-Volterra equations, which are commonly known as predator-prey model. Also, I posted a more detailed explanation of my work on my website. Now, I'm very interested in learning lighting/post-processing skills. So I'd like to know if there are great tutorials on it. Thank you!
4. 2 points

## Cross Product not returning perpendicular axis

Instead of using @tan, you should use v@tan. Houdini only recognizes default attributes correctly. So if you use @tan, it is interpreted as one single float for all three axis. Ah.... juse a few minutes too late
5. 1 point

## Remove doubled lines

Hi, here is another approach (if you have not straight lines). I'm not sure if this works in every situation. rebuild all primitives to polylines (for xyzdist()) for every primitive (the first one, which you are looping over) get all other primitives as list, where the first point is close enough (create a list of these primitives) for these candidates check the distance for all points of the primitive itself (all distances should be small) take the uv_i.x value of the first point and last point (of the first primitive) from the ith candidate (from xyzdist()) check all points of each primitive i, if they are close enough to the first primitive (and between uv_i.x(0) and uv_i.x(n-1)) This method will not work for overlapping primitives. Here is a example file remove_redundant_prims.hipnc
6. 1 point

## move selected points with vex

Great, fantastic Sir ;-). Thank you.
7. 1 point

## Extruding front and back distance based on curve

It's called space carving:
8. 1 point

## move selected points with vex

Hi, You have to set P as a whole by using the original P so something like this: vector origp = point ( 0, "P", pt ); vector pnew = set ( origp.x, height, origp.z ); setpointattrib ( 0, "P", pt, pnew );
9. 1 point

## nearpoint() loop/exclude group.

@animatrix Haha, yep I switched back to the second method and its super quick and handles loads more points. Doh! Thanks @Alain2131, learnt a load about ad-hoc grouping!
10. 1 point

## nearpoint() loop/exclude group.

@Librarian HIP attached, the swirly lines are from one of entagma's tutorials. SOP solver with a curl noise. Play the timeline from the resample to get a nice frame, then you can click down the nearpoint() wrangle which is quite heavy. @animatrix Yep I just had a lockup when houdini went over 64gig with a load more points... Would you have any pointers on how to avoid the adhoc grouping? I had a thought on using a for-each piece SOP, then do the nearpoint() to a second input which has the current piece removed, no need for any grouping. trailSwirl_v07_clean.hiplc
11. 1 point

## Cross Product not returning perpendicular axis

Hey Ikoon & Haggi, Thanks, this does the trick. This is very helpful to keep in mind for the future!!
12. 1 point

## Cross Product not returning perpendicular axis

Hi Irvin, in the attached picture ... by typing only @tan you cast the vector into the float. You read only @tan[0]. And then you store that float into the vector tan. If you want to read custom vector attribute, you have to type v@tan
13. 1 point

## ShkYo30 various work and animations ! ;-)

Hi everyone ! We're always in October, Halloween day approaching quickly... Today : TUMBLING OF PUMPKINS, SPIDERS, SKULLS And So on ! Stay till the end to don't lose the final scene ! Lots of Rigid Body Pumpkins, Spiders and Skulls which tumbling allong pipes to a large Cauldron with a dynamic music ! All objects modeling, rigid body simulations, camera paths, had been made with Houdini v18.0.597 Simulation calculation time with Houdini was long (too many interacting objects I think), about 240 minutes with my AMD Ryzen 9 3900X... And I used REDSHIFT v3.0.30 to render, and NVIDIA Optix Denoiser to speed up rendering process ! To render all the 3100 frames, it took about 30 hours this time... Have fun with this new video and enjoy these TUMBLING PUMPKINS AND SKULLS !!! https://www.youtube.com/watch?v=DpBUH0ALJA8
14. 1 point

NJam njam
15. 1 point

## sand dune flowing dust

Me to How? If we Have this motion , is it possible somehow to blend with the Peak of the Height and just move to the some curliness of the Hill so to Speak HM. MINPOSHIGHT.hiplc
16. 1 point

## rbd clustering + constraints

maybe ahem...'break' it down to separate steps? - do wall connectors - do glass connectors - then do wall glass connectors pay attention to group names at each step...and connectors names vu_constraints_question.hipnc
17. 1 point

## turn an classic billow smoke simulation in a teapot shaped semistatic cloud.

Hey, here's an RnD that I did some time ago, hope it helps - https://www.dropbox.com/s/5c6bdzdg78xrpmo/smoke_attract_RnD.hipnc?dl=0
18. 1 point

## Animating Vellum stopped attribute trouble

Hi Tom ! The issue you are having is because the vellum geometry passed to the solver is actually frozen at the creation frame, and does not update the animated attributes. What you need is to have access to that animated geo So in your popwrangle, you can specify the input 2 to be your animated geometry (it can be anything from your maskfromgeometry to the vellumstructs), and then refer to that geo instead of the dop geometry Hope that helps ! vellum_falloff.hiplc
19. 1 point

## Cycling instancefile sequences

Thanks for you input, Librarian. Cool solution, but I kind of need to use a redshift proxy sequence. But managed to come up with a solution of setting a timer which activates every few hundred frames (the length of animaton) for one frame and then the sequence gets set back to zero.
20. 1 point

## On Growth and Form

Are you already starting to design your own coffn? Stereo-graphic_projection_inversion and Dirichlet problem , Humm.....? I haven t met these guys before but i like your poetry
21. 1 point

## Pyro: Match vdb source and sim grids

Not exactly sure what is going on, but if you unlock the smokeobject and change the Voxel Sampling to Edge XZ on the flame field it will match. Thats the only thing I changed. Or you can transform your source field with half a voxelsize in X and Z (0.015 in this case), seems to have the same effect pretty much.
22. 1 point

## Visualizing mathematical things using Houdini

@Librarian Thank you for sharing! The resources you shared are really helpful to me!
23. 1 point

## Visualizing mathematical things using Houdini

@Hojun Yoon Welcome I would recommend this tutorial if you already didn't see or discovered ..Its 6 part tutos.. It has nice Tricks ..For post processing You can use Cops( you have nice tutorial on Sidefx Forum) or if you search you have some Nice tutos about Digital Fusion and EXR https://www.youtube.com/watch?v=dMvIST1WRD4 for Mathematic http://wordpress.discretization.de/houdini/ http://wordpress.discretization.de/ddg2019/ Have Fun
24. 1 point

## Houdini Senior FX TD, destruction!

Hey Houdini community, Looking for a strong Houdini senior, remote work possible as long as you can somewhat align yourself with the PST timezone, we're located in Vancouver. If you identify yourself with the following characteristics, you may be a good fit for us: – destruction experience (vehicles, buildings, fire, smoke, complex RBD constraint setups) – works confidently & independently – can execute a VFX shot in his/her discipline from start to finish – pragmatic & quick problem solver – 5 or more years of professional experience in VFX – can work with rapid deadlines without overengineering setups Email with cover letter and reel please to: info@stormbornvfx.com We usually do high level hero shots, so that's something that absolutely has to be on your reel, otherwise we can't consider you. Have a look at what we've been doing recently: Cheers, Manu
25. 1 point

## Houdini -> Quixel Mixer -> UE4

Hey @sant0s81, I'm glad it worked. I reckon the best way would be to create base colors procedurally and then select the areas you need the most manually. if you have a "path" or "name" attribute you can split it in a better way tho with smth like this. @Cd = rand(random_shash(s@name)); randUVcolor_v001_t01.hiplc
26. 1 point

## Rhythmic particle emission

So it happens like it usually does, right after posting my cry for help, I discover the checkbox for probabilistic emission, unchecking which is exactly the solution I was looking for. So in case, anybody else looks for it, the pop source node has the option in question.
27. 1 point

## 1 Minute VEX

Hello once again! Since the last time I posted here I've added three new tutorials, all of which briefly cover textures, mapping and colour in VEX. Thanks to everyone once again for all of the support and useful suggestions! 1 Minute VEX VII - OCIO transformed attribute from image - https://aaronsmith.tv/1-Minute-VEX-VII Using colormap() and ocio_transform() to read an sRGB image and convert it to an ACES-compliant attribute. 1 Minute VEX VIII - sampling nearest texture with UDIM filename expansion - https://aaronsmith.tv/1-Minute-VEX-VIII Using xyzdist(), primuv() and colormap() to sample the nearest UDIM-friendly texture on a surface. 1 Minute VEX IX - triplanar mapping & projection - https://aaronsmith.tv/1-Minute-VEX-IX Using simple vector math, for loops and colormap() to create a triplanar projection. Please feel free to PM me with any questions or suggestions.
28. 1 point

## Technical Modeling as a Practice

Have Fun. some Nice Tricks and Files ..Thanks (Asia Students ). click on the right Menu to download files .. https://trello.com/b/7ftxZclJ/houdiniゆるゆる会
29. 1 point

## Rendering thin lines Mantra

@char maybe its trail timeshift ..I have This scene in OUR T of ODforce. HOpe it Helps! TRAIL TIME.hipnc
30. 1 point

## Sculpt Tool

Maybe use smooth brush to smooth out those imperfections any time you start noticing penetrations like that, as sculpt pushes along normals, so you will easily get intersecting geo on detailed surface
31. 1 point

## Sculpt Tool

don't understand what the issue is exactly, but it seems you're only applying the sculpt on primitive selection (maybe by mistake?) - that might cause some unwanted behaviour.
32. 1 point

## Houdini Broke After Update?

you asking for a friend, right ?
33. 1 point

34. 1 point

## 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
35. 1 point

## Rotating uv tile

Hi David, you can do this in: SOPs using primitive's node rotate and attribute copy. VOPs feeding random values to UV position's rotate. VEX feeding random values to the rotate function. int seed = chi('seed'); vector pivot = primuv(0, 'uv', i@primnum, 0.5); float amount_n = rand(i@primnum, seed); float amount_pi = fit01(amount_n, -M_PI, M_PI); matrix3 m = ident(); rotate(m, amount_pi, {0,0,1}); v@uv = (v@uv - pivot) * m + pivot; rotate_UV_tiles.hipnc
36. 1 point

## Particle Birth rate based on velocity source

Particle Birth rate based on velocity source
37. 1 point

## Some of the pyro clusters aren't even visible

Here is the final HIP from the video tutorial. Maybe you can swap the rubber toy with your comet? ap_pyro_cluster_for_keyframed_geo_072617.hipnc
38. 1 point

## How to import open vector of ai to Houdini?

Zombie thread alert. I figured I'd share this solution for folks that come across this thread in the future years later like I did. The Ends SOP node can be used to delete the loop so the curves are open instead of closed. Set the Close U parameter to Open and it should work.
39. 1 point

## Which VEX noise function is suitable to create cellular noise?

float dist1,dist2; wnoise(@P * chf("freq")+chv("offset"), chi("seed"), dist1, dist2); @Cd = dist1;
40. 1 point

## Non-Simulated Flame (+hipfile & notes)

Thought it would be cool to share some R&D i worked on for creating a flame FX without doing any simulation purely through deforming geo. A pretty simple FX nothing too crazy but i though i should share it as some people might be trying to do similar things. I've included the Hip file as well as notes explaining the vop workflows. I'm very much a novice to Houdini's more technical side so excuse any rookie mistakes, critique welcome as well if you think i can improve my workflow. Non_Simulated_Flame.hipnc
41. 1 point

## UV's move on bgeo sequence

An even newer update to Whithers' original helpful post and danw's update that I hope helps those new to Houdini (hopefully Whithers won't mind my copy/paste of much of his original text). I added a few more steps since I'm being very explicit: The vertex node you want in Houdini, at least as of v. 17.5 is called "Vertex - Old." The new node called "Vertex" is an Attribute Expression sop and doesn't work with these specific instructions. 1) Plug the File node with the bgeo sequence into the desired UV sop ("UV Project", "UV Texture", etc). 2) Plug that UV sop into a "Time Shift" sop. 3) Click in the "Frame" field of the "Time Shift" sop and change it to 1 (or whichever frame you are "locking"). 4) Connect the "Time Shift" sop to the second input of the "Vertex" sop. Again, it's actually the "Vertex - Old" sop. 5) Connect your File node (your imported .bgeo file) into the first input of the "Vertex" sop. 6) Click on the "Vertex" sop and about halfway down, change the "Keep Texture" tab to "Add Texture." 7) You will see green boxes that say @uv.x, @uv.y and @uv.z. Change these to @uv2.x, @uv2.y and @uv.2.z. The original instructions confused me at this step and I first changed it to @uv.x2, etc. which doesn't work Your texture should now stick to your geometry. I even applied it to a specific piece of my entire .bgeo animation (using the blast node to separate it from the rest) and it worked great. Thanks again to the previous posters for their instructions. Hope this helps on the newer versions as well.
42. 1 point

## Blueprints to 3D Mesh

Here is a concept for turning blueprints into simple 3d meshes. Its basically carving silhouettes into a volume. After getting the aspect ratio for defining the volume´s dimensions ... res_front = hou.imageResolution(img_front) res_side = hou.imageResolution(img_side) res_top = hou.imageResolution(img_top) ratio_side = res_side[1] / float(res_side[0]) ratio_top = res_top[1] / float(res_top[0]) geo.addAttrib(hou.attribType.Global, 'ratio_s', ratio_side, create_local_variable=False) geo.addAttrib(hou.attribType.Global, 'ratio_t', ratio_top, create_local_variable=False) ... a wrangle is carving the silhouettes into the volume from all three sides: vector bbox = relbbox(0, v@P); float mask_front = vector(colormap(image_front, bbox.x, bbox.y)).x; float mask_side = vector(colormap(image_side, bbox.z, bbox.y)).x; float mask_top = vector(colormap(image_top, bbox.x, bbox.z)).x; f@density = min(mask_front, mask_side, mask_top); The rest is a matter of converting to polygons, smoothing and remeshing. blueprint_to_geo.hiplc blueprints.zip
43. 1 point

## dealing with ramp using python

# Initialize new ramp. node = hou.pwd() ramp_parm = node.parm('ramp') bases = [hou.rampBasis.Linear] * 5 keys = [0.0, 0.125, 0.25, 0.375, 0.5] values = [0.0, 0.25, 0.5, 0.75, 1.0] ramp = hou.Ramp(bases, keys, values) ramp_parm.set(ramp) # Add multiple points to existing ramp. node = hou.pwd() ramp_parm = node.parm('ramp') ramp = ramp_parm.eval() bases = list(ramp.basis()) + [hou.rampBasis.Constant] * 4 keys = list(ramp.keys()) + [.5, 0.625, 0.75, 0.875] values = list(ramp.values()) + [0.25, 0.5, 0.75, 1.0] ramp = hou.Ramp(bases, keys, values) ramp_parm.set(ramp) # Change first point value from 0.0 to 1.0. node = hou.pwd() point1_val = node.parm('ramp1value') # Point indexing starts from 1. point1_val.set(1.0) python_ramp.hipnc
44. 1 point

## Gas Disturbance vs Gas Turbulence [solved]

1) gas turbulence under Bindings tab the Density field specifies where turbulence is calculated. This works togehter with Influence Threshold (under Turb Settings). So setting the threshold to 0 might give you turbulence before density is present (can't try right now). 2) gas disturb temperature field works because it's a scalar field whereas vel is a vector field. Tick that checkbox disturb is vector field and it disturbs the vel field.
45. 1 point

## FLIP Divergence Question

Hey, just did some tests and everything works fine for me 1. you need to initialize a `divergence field` attribute (for example in attribute wrangle @divergence = 10;) 2. you need to turn on a "add divergence filed" parm in the flip object 3. in the flipsolver - divergence. the divergence by attribute parm must be turned on as well
46. 1 point

## How to stop the gas resize field from shrinking down at end of sim

Inside the resize container node there is Reference field. This defaults to density. However, the bounding box of density is often smaller than the heat or temperature around it. You can extend the Reference field by typing temperature after density. Then the bounding box of both volume types should be evaluated for the resize operation. I often increase the padding up from 0.2 default to 0.5 as well. Worst case scenario you can disconnect the resize container and simply manually animate the Size fields of the smoke object itself.
47. 1 point

## Point String Attribute to a FILE_NAME in a FILE SOP

Problem Solved. Problem was in expression. point("../node", 0, '"attr", 0) doesnt support for string attributes. Instead of this I've used points() expression function. I've incerted this expression in the FILE_SOP textfield >>> `poins("../node", 0, "path_attr")` Now I able to load the pieces I needed and load any attribute for corresponding piece of geoometry with Attribfrommap SOP. I cant upload work project here, but I try to prepare and upload scene here a bit later. Thank you
48. 1 point

## How to change Vertex numbers order?

First off shifting the vertex order will actually change the way the geometry is constructed. Just so you know. Adding to the post above, you can use the Primitive SOP's Face/Hull tab to reverse the vertex sort (reversing the primitive normals to boot) or shift the vertex number. Any of these shifts will keep the point order intact. If you want to reconstruct the primitive using any vertex sort driven by the point sort order, you can use the Add SOP. First press the toggle to just keep the points. Then in the Polygons Tab choose the Group option. Now your vertex order will match the point order, as messed up as you want it to be. If you have multiple primitives to reconstruct, use the Connectivity SOP to create a partition attribute and use the "By Attribute" option in the Add menu parameter. There are a bunch of other ways to reconstruct primitives from re-sorted vertices but the Add SOP is the easiest to use driven by the point order. playing_with_vertex_order.hip
49. 1 point

## How to eliminate/reduce noise in volume renders?

Transparent Samples is the first thing to adjust when you find you are getting the "salt and pepper" look in your volume. The default of 4 is a starting point that may work for dense volumes but less so for transparent volumes. If you have objects with an opacity that is not 0 or 1 with Stochastic Transparency enabled, you will be firing opacity rays first. Houdini does this prior to firing shading rays. It computes the transparency by partitioning the surface shader and evaluating only the part of the shader that computes final opacity or Of. This is what makes this very efficient. You have decoupled the opacity rays from the sample rays. This also means if you are creating your own shaders, keep the Of opacity path clear of any shading models. If you have Stochastic Transparency off, each ray will compute opacity first and then colour. Not as efficient.
50. 1 point

## How to create a point at the center of every primitive on a Grid SOP?

Attached are two more ways of looking at it. Perhaps second one could be called inbuilt. That is using the "prim" prefix to override the default point position TX,TY,TZ in point sop. Cheers, primCenter.hipnc
×
• Donations