How to create a huge swarm of tyActors
#1
I have a beetle that has 3 animations: Idol, lift off and flying, the idea is to eventually have 20,000 of these beetles flying around but so far 3ds max crashes when i go past about 1000.

I have rigged this beetle using CAT and the tyActor animations work perfectly. The only problem I am now facing is the crashes. I might be wrong but I remember hearing that tyActors are not Instances, so I believe this is where the problem lies. I am trying to find an approach that uses the Shape operator with animated geometry instead but because the beetle is made from about 7 pieces when I add them to the Shape operator Tyflow scatters all these parts individually rather than as a rigged beetle.


Is there a good solution to this?


Thanks
  Reply
#2
Regular tyActor particles (non-deforming) can render as instances, just not skinned meshes. Presumably your beetle is a skinned mesh of some sort, so it can't be instanced. So if your skinned mesh has 50k verts and you have 50k of them, for example, that's 2.5 billion vertices, not including faces, maps, etc as well...that will chew through your RAM pretty quick. Try reducing as many parts of your rig to non-deforming particles as you can, and you'll still be able to make use of instancing.
  Reply
#3
(05-20-2024, 04:00 AM)tyFlow Wrote: Regular tyActor particles (non-deforming) can render as instances, just not skinned meshes. Presumably your beetle is a skinned mesh of some sort, so it can't be instanced. So if your skinned mesh has 50k verts and you have 50k of them, for example, that's 2.5 billion vertices, not including faces, maps, etc as well...that will chew through your RAM pretty quick. Try reducing as many parts of your rig to non-deforming particles as you can, and you'll still be able to make use of instancing.

Haha i did this math too, the beetle is 4.5k which is still a lot, but i thought more than 1000 would be ok but 3ds max doesn't seem to handle it well. I will look into reducing it somehow
  Reply
#4
(05-19-2024, 03:45 PM)ldotchopz Wrote: I am trying to find an approach that uses the Shape operator with animated geometry instead but because the beetle is made from about 7 pieces when I add them to the Shape operator Tyflow scatters all these parts individually rather than as a rigged beetle.


Is there a good solution to this?

One way would be that you place your skinned beetle with all 3 animations on it,. in whatever order you like 
Make a snapshoot of all 7 pieces, and attach all pieces to one mesh. 
Then add skinwrap or TyParticle skin operator to the beetle static mesh model, and reference these 7 parts. 
Now the static beetle model will follow animations of your rigged one. 
You then just point cache it, and collapse modifiers bellow (skinwrap or typarticle skin) 

In shape operator you have a way to control range of animation that you want to trigger and even blend and randomize them. 

Btw, I am not sure you will need "lift off" animation.. imho.. it's better to do a TyFlow (using forces and slow operator) to do the lifting, and you can just trigger then fly animation. 
Maybe better that you add walk (in place) animation, so some of the beetles could walk on a surface (with help of object bind operator).
  Reply
#5
(05-19-2024, 03:45 PM)ldotchopz Wrote: I have a beetle that has 3 animations: Idol, lift off and flying, the idea is to eventually have 20,000 of these beetles flying around but so far 3ds max crashes when i go past about 1000. iq test

I have rigged this beetle using CAT and the tyActor animations work perfectly. The only problem I am now facing is the crashes. I might be wrong but I remember hearing that tyActors are not Instances, so I believe this is where the problem lies. I am trying to find an approach that uses the Shape operator with animated geometry instead but because the beetle is made from about 7 pieces when I add them to the Shape operator Tyflow scatters all these parts individually rather than as a rigged beetle. 


Thanks
While tyActors are not Instances, you can try experimenting with using Instances to represent the beetles. Instances can help reduce the load on the processor, thereby potentially reducing the likelihood of crashes as the number of beetles increases.
  Reply


Forum Jump: