lee
03-27-2008, 08:58 AM
I'm just finishing up a cartoon-style project with syflex cloth (don't ask me why they wanted "realistic cloth" for a cartoon commercial, I'm only a freelancer, I just do as I'm told!). If anybody has tips and tricks or feedback on any of the methods I've described below please share it. There were many, many, many moments during which the cloth simulation completely broke down. My first request would be to have a "cartoon mode" which could better deal with movements that don't square entirely with real-world physics (a sort of syflex-quickstretch mix).
The only way we could get it to work in our scene and force the simulation to get past some extreme movements was to do a "global pin" of the cloth (with no spring i.e. distance zero) to a skinned version of the cloth. However, there's no leeway between 0 distance and .0001 on the spring so it was like turning the simulation entirely off for those images, and so the "animated" transitions were ugly. So my second request would be to normalize the Syflex values so that we have a decent range of options for animating between values rather than a choice between one ten-thousandths and zero (or to have a sort of "by-ten" multiplier to bump the values up to a usable range). Third request would be to include a snap-to-skinned (or better yet blend-to-skinned) option directly in the syflex plugin; the initial state doesn't help at all in this case and we had to jump through hoops with the syflex A/B cache blending node to get this project done (and in fact having a A/B/C/D blending node would have helped!). Perhaps to cut a corner XSI could have a bake-skinned-cloth-to-disk-in-syflex-format function?
The other solution we came up with for the more violent rapid movements was to stretch the scene animation out by a factor of 3, which slowed down the movements and allowed Syflex to calculate comfortably. However, once the longer scene length syflex cache files were calculated, naturally we had to create a script to take every third syflex file and re-number them back to the original scene length. So assuming our time-stretch solution is being used by other artists, it would be great if the xsi-syflex interface had the capability to "timestretch" the cache files on disk.
Any tips on all of this would be greatly appreciated.
The only way we could get it to work in our scene and force the simulation to get past some extreme movements was to do a "global pin" of the cloth (with no spring i.e. distance zero) to a skinned version of the cloth. However, there's no leeway between 0 distance and .0001 on the spring so it was like turning the simulation entirely off for those images, and so the "animated" transitions were ugly. So my second request would be to normalize the Syflex values so that we have a decent range of options for animating between values rather than a choice between one ten-thousandths and zero (or to have a sort of "by-ten" multiplier to bump the values up to a usable range). Third request would be to include a snap-to-skinned (or better yet blend-to-skinned) option directly in the syflex plugin; the initial state doesn't help at all in this case and we had to jump through hoops with the syflex A/B cache blending node to get this project done (and in fact having a A/B/C/D blending node would have helped!). Perhaps to cut a corner XSI could have a bake-skinned-cloth-to-disk-in-syflex-format function?
The other solution we came up with for the more violent rapid movements was to stretch the scene animation out by a factor of 3, which slowed down the movements and allowed Syflex to calculate comfortably. However, once the longer scene length syflex cache files were calculated, naturally we had to create a script to take every third syflex file and re-number them back to the original scene length. So assuming our time-stretch solution is being used by other artists, it would be great if the xsi-syflex interface had the capability to "timestretch" the cache files on disk.
Any tips on all of this would be greatly appreciated.