Difference between revisions of "Houdini learning"

From Antoine Vienne | Wiki
Jump to navigation Jump to search
Line 56: Line 56:
 
vector uv = primuv(0, "uv", @primnum, set(0.5, 0.5, 0));
 
vector uv = primuv(0, "uv", @primnum, set(0.5, 0.5, 0));
 
i@udim = 1001 + int(uv.x) + int(uv.y)*10;
 
i@udim = 1001 + int(uv.x) + int(uv.y)*10;
 +
</pre>
 +
 +
=== Place at World center, scale et re-transform for export ===
 +
<pre>
 +
// In a transform translates
 +
-centroid(0,0) -centroid(0,1) -centroid(0,2)
 +
// In a transform Uniform scale
 +
(bbox("/obj/neigeSol/timeshift1/", D_ZSIZE))/(bbox("/obj/neigeSol/transform_centerWorld/", D_ZSIZE))
 +
 +
// At end, in a transform Uniform scale
 +
1/((bbox("/obj/neigeSol/timeshift1/", D_ZSIZE))/(bbox("/obj/neigeSol/transform_centerWorld/", D_ZSIZE)))
 +
 +
=== Misc Attr Wrangle expressions ===
 +
<pre>
 +
// Delete by color
 +
if (@Cd.x<chf("seuilColor"))removepoint(0,@ptnum);
 
</pre>
 
</pre>

Revision as of 15:48, 9 September 2020

Houdini learning

Increase Volume Density

// In a volumewrangle

@density *= 10;

Substract any VDB by another VDB

// In a volumewrangle

if (volumesample(1,"surface",@P)<0)@density=0;

//inverse:

if (volumesample(1,"surface",@P)>0)@density=0;

Get bound & centroid

// In a null object

bbox(opinputpath('.',0),D_XSIZE)
bbox(opinputpath('.',0),D_YSIZE)
bbox(opinputpath('.',0),D_ZSIZE)

centroid(opinputpath('.',0),D_X)
centroid(opinputpath('.',0),D_Y)
centroid(opinputpath('.',0),D_Z)

UVs

// In this order : uvautoseam - uvflatten - uvlayout
In uvflatten : Seams = seams

Attribwrangle - if...

// Kill emission on a smoke source after frame 300
if (@Frame>300) @density = 0;

Attribfrommap - Use UDIMs images

// Replace 1001 by <UDIM> and check UDIM Filename Expansion

Attribwrangle - Udim number on primitives attributes

// In a wrangle set on Primitives
vector uv = primuv(0, "uv", @primnum, set(0.5, 0.5, 0));
i@udim = 1001 + int(uv.x) + int(uv.y)*10;

Place at World center, scale et re-transform for export

// In a transform translates
-centroid(0,0) -centroid(0,1) -centroid(0,2)
// In a transform Uniform scale
(bbox("/obj/neigeSol/timeshift1/", D_ZSIZE))/(bbox("/obj/neigeSol/transform_centerWorld/", D_ZSIZE))

// At end, in a transform Uniform scale
1/((bbox("/obj/neigeSol/timeshift1/", D_ZSIZE))/(bbox("/obj/neigeSol/transform_centerWorld/", D_ZSIZE)))

=== Misc Attr Wrangle expressions ===
<pre>
// Delete by color
if (@Cd.x<chf("seuilColor"))removepoint(0,@ptnum);