fbx with animation

Hi all, I met a problem after importing an fbx file of a running model with animation.
I drag the fbx into TD, then it created a GEO for me.
I want to connect this moving object to a particle SOP, so I need a SOP node of this moving object instead of a GEO.
Though the GEO is moving, deep inside the GEO, I found that the SOP node is a T pose model which is not moving as shown in the pic. How can I get an SOP of the running model?
Does anyone have any idea?



Hi KuraMatata,
Can you tell us what build you are using? The Experimental version has better FBX support in the new FBX COMP.

If you can’t share the file here, can you email us the file so we can look at it?

Thanks

Hi Ben, thanks for your reply! I am now using the experimental version.

I want to emit particles from the body of a running model. I need to get the points on the moving body surface. So I want to get a SOP of this running model and connect it to a particle sop.
I look inside the fbx comp and found it is using a phong to drive the model to do the running animation. So I have no idea how to get the points on the surface of this running model.

My question is if it is possible to get a SOP of the moving model from a fbx comp.

If not, is there a way that I can do particle emission from the body of the running model?

Thanks in advance!

You could use the animation CHOP inside the imported FBX as an input to a CHOP To SOP in order to create one point for each animated joint. You’ll have to rearrange the channels in the CHOP first so that you have channels of tx, ty, tz etc., instead of each joint being its own channel.

You should be able to just turn off the deforms on the MAT and instead use the Deform SOP.

It will be slower as it’s CPU-based but may be adequate.

1 Like

Hi KuraMatata,

Did you figure it out? I too am interested in getting the mesh of a moving fbx as a sop (not just t-pose). I’d like to instantiate particles from random vertexes all over the moving mesh (not just at the joints, as was suggested - good idea though).

  • Louise

Sorry Louise, I didn’t figure it out. Hope someone could help. :frowning:

Also stuck on this. The other fixes mentioned didnt seem to work for me, any luck on this?

Have you tried the Deform SOP? Connect the imported mesh (node name: “mesh”) with the capture attributes to a Deform SOP and set the skeleton root path to the same path as on the deform MAT.

Thanks, eric.b, I tried the solution with the Deform SOP and it seemed to work (so the the Deform SOP is indeed animated), although when I tried to refer to this Deform SOP as a collision SOP in an enclosing Actor COMP (generated from the FBX file using “Generate Actor COMPs” option in the FBX import) the whole combination behaves erratically - collision shape only updates when I monitor the viewer of the Deform SOP (and then I get blinking warnings of dependency loop detected), if I don’t monitor the Deform SOP or turn its viewer off, collision shape does not update unless I manually ‘pulse’ it on the Actor COMP. I think it would be nice to have the ability to combine imported FBX animation with the Bullet Solver capacities to bring animations to the physical world - and it basically works but quite unstable in my case. I would appreciate it if you have any ideas about how to improve on that!

Cheers to everyone

The cooking loop comes about because the deform SOP needs its parent’s transform to create its deform geometry and the parent (ie. actor COMP) needs the deform SOP’s updated geometry to create its collision shape. You’d notice a similar cook loop warning if you were instancing a Geo COMP with a deform SOP inside of it.

The solution here is to move the deform SOP chain outside the actor COMP but still use it to create the collision shape, then toggle on Update Collision Shape to have the collision shape continuously update:

BulletFBX.tox (22.6 KB)

Thanks, eric.b, this is very helpful!

Hey guys! Im trying to do the same (trying to connect an fbx animation with SOP Particles). I read that the Deform SOP solves it but Im stuck there, when I add a Deform SOP to my mesh, I get an error saying “NO capture attributes” exist. Not sure how to solve that.

Help :frowning:

Which SOP are you using as the input? You should be using the import select SOP which holds the mesh imported from FBX. See below. The highlighted red SOP is the import select SOP for humanoid.fbx.

EDIT:

Another workflow that might be better is to put down an import select SOP at the same level as the FBX COMP, then reference it and choose your mesh with the capture attributes. You can verify the SOP has capture attributes by middle-clicking the SOP and looking for Point Attribute pCapt and Detail Attributes pCaptStr and pCaptData.

I am importing a rigged animated character from Mixamo, so my SOP is found inside the character container as “Mesh”. The character is a normal walking figure but is appearing in a weird form when I connect the particles SOP to mesh.

I tried adding the Deform SOP to my mesh but it gives me an error and doesn’t solve it! im kinda stuck there. Been on it for hours!

Here is my TD file:
NewProject.3.2.toe (19.5 KB)

Help ?

1 Like

Could you attach your fbx file as well?

NewProject.4.toe (18.0 KB)

I tried the 2nd workflow with the import select SOP. However when I attach Particles SOP to Deform, the animation seems to stop. Above is the TD file.

And here is the FBX file:
https://we.tl/t-EJxPsVXb8M

I am importing a rigged animated character from Mixamo, so my SOP is found inside the character container as “Mesh”. The character is a normal walking figure but is appearing in a weird form when I connect the particles SOP to mesh.

You’re using the wrong SOP with the deform MAT which is why the animation looks wrong. You shouldn’t be using (ie. display/render flags enabled) “mesh” but rather “null1” which contains the vertex capture attributes. The Deform SOP does not use the vertex capture attributes but rather the point capture attributes hence why you want to use mesh as an input instead in that case.

I tried the 2nd workflow with the import select SOP. However when I attach Particles SOP to Deform, the animation seems to stop. Above is the TD file.

Does the animation stop in the particle SOP or the deform SOP? If it’s in the particle SOP it’s probably because your birth rate is too low. The way the particle SOP works is it births particles based on the input SOP’s point position, so as the deform SOP moves, where the particles are birthed also changes. To get it to work you’d likely need a high birth rate and a low life expectancy. Then again I’m not sure the exact effect you’re going for. You could also try the sprinkle SOP, which will sprinkle points along the surface of the mesh.

NewProject.5.toe (18.6 KB)

1 Like

Thank you very much Eric! That was super helpful !! its working now.

1 Like