mzigaib
I want to remove particles with values bellow 0.5 at certain frame dynamically
you can dive inside of FLIP Solver SOP and add POP Wrangle for example
if( @Frame == 20 && f@mask < 0.5 ) removepoint( 0, @ptnum, 1 );
mzigaib
I want to remove particles with values bellow 0.5 at certain frame dynamically
if( @Frame == 20 && f@mask < 0.5 ) removepoint( 0, @ptnum, 1 );
jaminationit really depends on how you are representing rotation on particle, whether, v@v and v@up, v@N and v@up, p@orient, or 3@transform
-I am looking for an easy way to rotate a particle locally in VOPS. In Softimage there is a compound called "Transform Local" that allows all local transforms.
jaminationagain, just multiply your vector by matrix using Multiply VOP or by quaternion using Rotate By Quaternion VOP ( qrotate() in VEX )
- Softimage also has a "Rotate Vector" node that allows you to rotate a particle around a vector, which really just moves the particle to the rotated position but keeps the particles orientation. I am also wondering if Houdini has a simple solution for that.
Masoudyou are not sampling density from the correct points
Hello Tamte
Thank you for replying.
Please take a look at my file. I tried this codes in the density field:point("/obj/box1/SRC", $OBJ, "density", 0)
The spreadsheet indicates the density of each piece, which is useful, but the lower-density pieces always sink in the fluid!Image Not FoundImage Not Found
MasoudThis is not correct
- Fractured RBDs are more suitable when you need individual control over each fractured piece or if the number of fractured objects is relatively small and you need to manage them individually for specific behaviors.
fit01( rand( $OBJ ), 500, 1000 )
point("../../OUT_piece_densities", $OBJ, "density", 0)
atof( arg("100 50 1000 75 1500 645.5 711 537.4", $OBJ) )
stinzenSounds point wrangle should work
I tried creating a channel path with ch("../" + name) in vex but the value in the channel wasn't actually referenced.
s@unreal_instance = chs("../" + s@name);
gordignot sure what exactly you tried
I've had absolutely no luck applying limits to IK controllers. If I try to apply a rotation limit to, say, leg_l_fore_ik_target, it will add minlock:r and maxlock:r values of 0,0,0 no matter what's in the Configure Joints SOP, whether I'm using Configure Joints OR Configure Joint Limits SOP, whether I'm manually entering the limits or using a MotionClip...
edit: and of course, right after I posted that, I tried something I apparently hadn't tried yet: applying the limits to the actual joints instead of the controllers. Would be nice to know why that isn't working, though.
i@id = vertexprimindex( 0, @vtxnum ) + 1000 * @primnum;
GrahamDClarkif you mean reading dictionary attribute, then you can also use hscrip which I think has a cleaner syntax
found you can also do this expression in parm:hou.node("/stage/sopcreate1/sopnet/create/IN_pt1").geometry().point(0).attribValue('dict')['key'] hou.node("/stage/sopcreate1/sopnet/create/IN_pt1").geometry().attribValue('stuff')['it']
point("/stage/sopcreate1/sopnet/create/IN_pt1", 0, "dict.key", 0)
detail("/stage/sopcreate1/sopnet/create/IN_pt1", "stuff.it", 0)
https://www.sidefx.com/docs/houdini/nodes/lop/sopimport.html#enabling-parameters
To retrieve both the geometry and generate USD materials for an object authored in Houdini, you can use a SOP Create node, or a combination of a SOP Import to import the geometry, a Material Library LOP to bring in the materials, and a Material Assign LOP to bind the two together.
You could also use a Scene Import LOP to import geometry and materials with a single node, but it provides fewer control over the import process.
kurosabayou can also use sop::attribvop callback to process geo in a similar way to Attrib Wrangle in SOPs
そうする以外に、ジョイント毎へ処理を実行することが出来なさそうだったからです。