Hi everyone. I have an interesting problem I'm trying to figure out. I have a velocity volume that I am tracing points through using the volumetrails sop. I have run those trails through a wire solver to get some cool advection on them. Now I would like to take that animation and copy it to the same volumetrail just with 10x the number of trails.
using rest pos and a point cloud function kind of works, but my points don't all grab onto points from the same spline. And I need them to do that.
pcopen restricted to connected splines?
1834 5 0- Alec_
- Member
- 6 posts
- Joined: July 2018
- Offline
- animatrix_
- Member
- 4458 posts
- Joined: Feb. 2012
- Offline
Hi,
You can use pcfind, which is faster than pcopen along with adhoc groups to limit lookups of each point to its original curve. But I would still filter it post-lookup using connectivity information on points:
You can use pcfind, which is faster than pcopen along with adhoc groups to limit lookups of each point to its original curve. But I would still filter it post-lookup using connectivity information on points:
int pts [ ] = pcfind ( 0, "P", @P, ch("r"), chi("maxpts") ); int samecurvepts [ ] = { }; foreach ( int pt; pts ) { int primid = point ( 0, "class", pt ); if ( i@class == primid ) append ( samecurvepts, pt ); } i[]@pts = samecurvepts;
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
- tamte
- Member
- 8444 posts
- Joined: July 2007
- Online
animatrix_
You can use pcfind, which is faster than pcopen along with adhoc groups to limit lookups of each point to its original curve. But I would still filter it post-lookup using connectivity information on points:
why wouldn't adhoc group be enough?
int pts [ ] = pcfind( 0, "@class=" + str(i@class), "P", @P, ch("r"), chi("maxpts") );
int pts [ ] = nearpoints( 0, "@class=" + str(i@class), ch("r"), chi("maxpts") );
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- animatrix_
- Member
- 4458 posts
- Joined: Feb. 2012
- Offline
tamteanimatrix_
You can use pcfind, which is faster than pcopen along with adhoc groups to limit lookups of each point to its original curve. But I would still filter it post-lookup using connectivity information on points:
why wouldn't adhoc group be enough?orint pts [ ] = pcfind( 0, "@class=" + str(i@class), "P", @P, ch("r"), chi("maxpts") );int pts [ ] = nearpoints( 0, "@class=" + str(i@class), ch("r"), chi("maxpts") );
I didn't say it's not enough, but rather every unique adhoc group in a pcfind call will construct a new acceleration data structure which is very costly in performance.
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
- tamte
- Member
- 8444 posts
- Joined: July 2007
- Online
- animatrix_
- Member
- 4458 posts
- Joined: Feb. 2012
- Offline
Linking this here as it's relevant:
https://forums.odforce.net/topic/47247-nearpoint-loopexclude-group/?do=findComment&comment=219746 [forums.odforce.net]
https://forums.odforce.net/topic/47247-nearpoint-loopexclude-group/?do=findComment&comment=219746 [forums.odforce.net]
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
-
- Quick Links