Enabling our powerful collision detection feature can double the runtime of Ziva VFX simulations. If you do not need collisions, we highly suggest turning them off on the zSolver node.
If only some bodies need to participate in collisions, disable the collisions or selfCollisions attribute on the zCloth, zTissue, or zBone nodes that do not need collisions (but keep the collisions option turned on in zSolver). This completely removes the cost of their collisions.
Collision detection is done directly with the triangles meshes used to construct the tissues, cloth, and bones in a Ziva VFX simulation. This gets slower when there are more vertices in these triangle meshes. To keep collisions fast, prefer triangle meshes that are as coarse as possible without compromising the accuracy of the shapes.
For tissues, one can use a Collision Mesh (found in the Menus) to set a different mesh for collisions than for tet-meshing, materials, and attachments. This can be used to set a low resolution collision mesh without compromising other aspects of the simulation.
Note that collision accuracy will be lower with large triangles than with small triangles. Accuracy can be recovered by setting zSolver.collisionPointSpacing to a small distance. This achieves similar accuracy to using triangles of that diameter by adding more collision points inside the triangles, but it is faster than directly using small triangles of that size. That said, avoid setting zSolver.collisionPointSpacing to very small values as this will create an unnecessarily large number of collision points.