2
$\begingroup$

My goal is import crowd particle data from Maya to Blender, but I'm stuck at how to find aim direction from each particle, because all points not pointing at the velocity direction.

I try this workflow:

  • export particle cache (nparticle) via ABC
  • in Blender import that Alembic
  • then using geometry node point instance to add some object instance
$\endgroup$
2
  • $\begingroup$ abc format has .velocities attribute under modifier, but when I tried to use this attribute as vector under geometry nodes, the "Group Input" socket plugged into Viewer node is zero ... so I'm not sure if there is something to be used ... or I could misunderstood the velocity usage :) $\endgroup$
    – vklidu
    Nov 19, 2021 at 20:53
  • $\begingroup$ In theory ... there probably could be a way to generate from vertex a point for each frame, connect by curve spline as motion trail and let follow instances this curve spline ... ? $\endgroup$
    – vklidu
    Nov 19, 2021 at 20:56

2 Answers 2

2
$\begingroup$

Currently a velocity atribute is not part of .abc file. Velocity is stored only for mesh sequence like fluid, because there is not any other way to calculate velocity due vertex amount change.
For more info read here.


For particles exported as vertices is kept vertex ID and continuity from frame to frame. It means you can calculate velocity from previous/next vertex position.

As workaround you would have to duplicate object and under Constraint Properties > Transform Cache > set Frame Offset 1 (don't forget to make this data block unique).

Then you can use Geometry Nodes to calculate velocity from previous vertex position by Transfering Attribute from the duplicated object and Subtract vector from original object.

enter image description here

enter image description here

With particles it works in the same way ...

enter image description here

$\endgroup$
1
$\begingroup$

Edit: In 2020 there was an implementation of velocity for .abc file ... you could use velocity attribute directly (see answer), but not anymore for 2.93 and above ... there was a unification of handling velocity data. Now Alembic stores only velocity for objects changing point count (like fluid).

I'm thinking to delete this answer


Velocity Attribute

  • connect Vector input socket of Align Euler to Vector node directly to empty socket of Group Input, it will automatically set socket type as Vector.

enter image description here

  • go to Modifiers and under Geometry Nodes > Input click on icon and then click into empty field and select Point>Velocity

enter image description here

enter image description here

Note: Tested one of the developer's .abc file used as proof of implementation.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.