tadian
Wow, thank you. What are you inputing into the layer?
height
This is inline with other HF SOPs that expects a layer name.
And make sure to bind height to density:

tadian
Wow, thank you. What are you inputing into the layer?
int index = nametoprim ( 1, chs("layer") ); float d = volumesample ( 1, index, @P ); @density += ( @density - d ) * ch("amount");
float maxdist = ch("maxdist"); vector n = normalize ( @N ); vector p = -1; vector uvhit = 0; int primhit = intersect ( 1, @P + n * 0.1, n * maxdist, p, uvhit ); if ( primhit != -1 ) i@group_outside = 1;
desktop = hou.ui.curDesktop() viewport = desktop.paneTabOfType(hou.paneTabType.SceneViewer) if viewport.isCurrentTab(): view = viewport.curViewport() view.changeType(hou.geometryViewportType.Perspective)
vector n = @N; n.y = 0; @P += n * ch("scale");
float n = float ( @ptnum ) / ( len ( primpoints ( 0, @primnum ) ) - 1 ); float u = primuvconvert ( 0, n, @primnum, 4 ); @P = primuv ( 1, "P", 0, u );
Digipiction
I've looked at your scene and couldn't find any relevant differences to my own scene, except for the orient attribute. And sure enough, that attribute appears to be massively important, even though you're just giving it the default value it seems.
How did you know that this is needed? It's not mentioned at all in the documentation for condir and condof.
Here's your scene slightly modified: I turned the collision shape into a regular ground plane, I added a POP force pushing the car body along X, and I deactivated the orient initialization. The result is what I'd been fighting with for days, i.e. the wheels doing weird things, ignoring their constraint directions. But if you re-enable the orient initialize, it works as expected.
So thanks of course, this is great to know! I have a feeling I'm now among roughly 12 people in the world who have this insight. Having to add 3 barely doccumented attributes via wrangles just to make directional constraints work is harsh even by Houdini's standards.
float infectionSolver(float infection; float timeStep; float diffusion; float decay; int maxIterations)
float infectionSolver(float infection, timeStep, diffusion, decay; int maxIterations)
for(int pt = 0; pt < npoints(0); ++pt )
int pts [ ] = primpoints ( 0, @primnum ); int index = find ( pts, @ptnum ); int pt = pts [ index + 1 ]; vector tangent = point ( 0, "tangent", pt ); if ( dot ( v@tangent, tangent ) < ch("angle" ) ) i@group_pts = 1;
ao = vop_bias(raytest(v@P - aorayoffset * nml, -nml, aomaxraydist, aosamples, aoseed, pt_id, aoconeangle), aobias);
__feisar__
Congratz, well deserved.
The amount of content in volume 1 is mind blowing. It is the gold standard for houdini training. Zero fluff, clear explanations followed by the implementation.
Will Volume 2 come this year?