Jump to content
Yundaz

Stick points on an animated alembic

Recommended Posts

Hi there,

I'm trying to stick points on an animated alembic without the points moving all over the place.

At the moment I've got my alembic attached to a vdbfrompolygons to scatter.

How can I make sure that these points will follow the alembic geometry? (the polycount doesn't change while animating)

 

Thank you for your time and help.

(I've attached an alembic file)

AlembicTestFile.abc

Share this post


Link to post
Share on other sites

one method:

1) timeshift your geo to any static frame

2) scatter points, in the OutputAttribs tab turn on the first 2 options

3) put down Attribute Interpolate and put your points in first input, deforming geo into second input

 

  • Thanks 1

Share this post


Link to post
Share on other sites
5 hours ago, 3dome said:

one method:

1) timeshift your geo to any static frame

2) scatter points, in the OutputAttribs tab turn on the first 2 options

3) put down Attribute Interpolate and put your points in first input, deforming geo into second input

 

Hi 3dome, Thanks for your help.

I went and tried this out but I'm only getting one point that seems to move with this result.

I've attached a zip with the Alembic I use and the hip file with your solution.

Fixedscatter_01.zip

Share this post


Link to post
Share on other sites
Posted (edited)

use the point deform when scatter with volumes, also u need to unpack your geo

fixedscatter.hipnc

Edited by Sepu
  • Thanks 2

Share this post


Link to post
Share on other sites
6 hours ago, Sepu said:

use the point deform when scatter with volumes, also u need to unpack your geo

fixedscatter.hipnc

Thank alot Sepu,

Based on a few options I've come across another option by using an attributeVop and calculating the xyz dist.

The point data seems to animate a bit smoother this way.

FixedScatter.zip

Share this post


Link to post
Share on other sites
Posted (edited)

You could run this snippet in a wrangle:

 

int posprim;
vector param_uv;
float maxdist = chf("maxdist");
float dist = xyzdist(1,@P,posprim,param_uv,maxdist);
vector pos1 = primuv(1, "P",posprim,param_uv);
vector pos2 = primuv(2, "P",posprim,param_uv);

@P = pos2+(@P-pos1);
 

The scatted points in the firstinput

Rest Geo in the 2nd

And deforming geo in the 3rd

Edited by kevidahevi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×