Sun, Dec 1, 5:57 AM CST

Renderosity Forums / Poser 11 / Poser Pro 11 OFFICIAL Technical



Welcome to the Poser 11 / Poser Pro 11 OFFICIAL Technical Forum

Forum Moderators: nerd

Poser 11 / Poser Pro 11 OFFICIAL Technical F.A.Q (Last Updated: 2024 Nov 17 7:07 pm)

banner

Welcome to the Poser Forums! Need help with these versions, advice on upgrading? Etc...you've arrived at the right place!


Looking for Poser Tutorials? Find those HERE



Subject: Suggestions to dynamic cloth room


3D-Mobster ( ) posted Fri, 30 September 2016 at 8:48 AM · edited Thu, 28 November 2024 at 4:16 PM

Not really sure if this is the correct place to post suggestions for future versions of Poser, in that case sorry :D

But in case it is and someone from SM reads it, maybe you would consider adding these suggestions. I use dynamic cloth a lot so this is based on my experience with working with it and how I see you could improve the workflow and quality.

1. Predefined materials

In the current version you have all these dials you can change in order to simulate varies types of materials. However its not especially clear what values are suppose to go where. For instant a fold res. of 5 doesn't really tell you whether that settings is suppose to be cotton or leather, and since the dial for instant ranges from 0 to 1000 and 5 is default. Where in that range would you expect different materials?

Im aware that some old (if they exists anymore) information showed the effect of varies settings, but whether they still apply to the cloth room now or not is not really clear. But regardless, having either a drop down menu where you could choose, for instant Cotton would automatically apply those settings to the simulation for that piece of cloth.

2. Tighten / Elastic

It would be great if you could define areas that would tighten or be elastic. When you add cloth and do a simulation, the cloth always drop, which is a bit unfortunately. because it make it difficult to simulate some type of clothing, such as cloth with an elastic band etc, because the cloth always drop and then straightens out.

So a way to mark or select areas of the mesh, as you can already do with different dynamic groups etc. where the cloth should tighten or be elastic, would be a nice addition. You can do sort of the thing if you constrain some pieces of the cloth mesh, but still you loose a bit of dynamic because the mesh gets completely locked to the character, which can give weird deformation if the character move.

3. Set initial state

One of the biggest problem is, that you always have to simulate based on the default pose that the cloth have. Which is not always very useful. If the cloth is modelled to fit a T pose character and you for instant have to change the pose a lot away from that pose. Then the changes per frame to the cloth can be quite severe, unless you add a lot more frames to the simulation.

Another problem is if you want for instant to simulate cloth where a character is sitting down and get up, then you currently have to either simulate from the default pose to a sitting pose and accept that the cloth doesn't really reflect that motion. Otherwise you would have to first make the character sit, add enough frames for the cloth to settle down and then add another pose where the character gets up. Which requires you to add a lot of frames and spending a lot of time simulating.

So being able to for instant simulate the character sitting down and then set that as initial state for the cloth, would allow you to remove a lot of unneeded simulation time. It would be very useful for people making comics as they might need several shots of someone sitting and having a conversation or whatever, so being able to simply simulate from an already sitting character would save a lot of time.

Another thing is that any changes to a character could be stored into the cloth. Like for instant if you need a fat character, but the cloth you want to use weren't designed for it, then you could simply do one simulation where you make all the changes to the character and then store them into the cloth.

And maybe make it so you could store several different initial states into the cloth and you could just select them through a dropdown menu or something.

Hope these ideas get picked up as i think they would really improve the workflow with dynamic cloth.


Richard60 ( ) posted Fri, 30 September 2016 at 10:14 AM

As far as number three can't you create the pose you want for the cloth such as sitting down with a larger person, spawn a morph from the position and then apply that morph to the cloth then save the cloth back out as "large sitting"? That way next time you already have the cloth in a sitting position and you can apply it then have the character stand up from the sitting position. Granted you would have to save the character pose as well since you would want to make sure the figure is inside the cloth, which is the reason for starting in the T-pose as that is the position of character and how the cloth was first modeled, but it should work.

Poser 5, 6, 7, 8, Poser Pro 9 (2012), 10 (2014), 11, 12, 13


Nagra_00_ ( ) posted Fri, 30 September 2016 at 11:44 AM

Make the simulation multi threaded! When i start a simulation i can go and have a coffee break just because the remaining 23 CPU cores of my computer are idle :-(


Richard60 ( ) posted Fri, 30 September 2016 at 5:04 PM

@Nagra_00_ not to say having a faster simulation would not be a good thing the issue with multithreading is how to track everything so that it acts as it should. Example is two balls (whatever's) one at 0 and the other at 100. They both are moving towards each other at a speed of 90 units a measurement and will collide in real life. In the single thread ball1 travels from 0 to 90 and is still 10 units from ball2. Now ball2 starts to be moved and can only get 10 units before running into ball1 and some type of collision occurs and the effects calculated. Now if we were to run them at the same time ball1 would travel from 0 to 90 and be 10 units from the location where ball2 started, no collision. Ball2 would start at 100 and move to 10 and be 10 units from the starting location of ball1 and still no collision. The next cycle through the movement the two objects are now 80 units apart and heading in opposite directions so will never collide. If everything moved at a constant rate it maybe possible to multi-thread, but most threads will be stuck waiting for the largest most time consuming calculations to complete before going on to the next cycle. if they moved at different rates the small fast objects might complete their travel and never encounter the obstruction slowly moving into their path. Think of it like a bullet and a car. The bullet may only require to check 50 points per cycle and can complete 100 cycles per second. The car requires 500 points and can complete only 10 cycles per second. At point (frame) 1000 the two objects car and bullet should be at the same location and cause a collision. However the bullet only took 10 seconds to get to the location and found nothing there since the car is still 90 seconds behind in calculated space.

It is issues like this and others that make trying to multi-thread very difficult.

Poser 5, 6, 7, 8, Poser Pro 9 (2012), 10 (2014), 11, 12, 13


3D-Mobster ( ) posted Fri, 30 September 2016 at 8:21 PM

Example is two balls (whatever's) one at 0 and the other at 100. They both are moving towards each other at a speed of 90 units a measurement and will collide in real life...

Not an expert in multi threading, so not even going to pretend :D But couldn't you solve that issue by simply checking the directions of the moving objects, distance and speed. So if object 1 is moving towards object 2 and they are moving at different speeds, you could measure whether the combined speed of the object would be greater than the distance between them, in that case you know there is a chance of a collision. However you don't know exactly where it would happen, so to solve that you sub divide until the combine speed is less than the distance between them and then make a new check whether that resolve in a collision. If you can keep track of number of cycles each thread have done, some could wait for others etc.

Or maybe it would be possible to even out the cycles. In the example of the bullet only requiring 50 points and able to do 100 cycles per second and the car 500 at only 10 cycles per second, then even it out so they arrive at the same time.

Anyway wild guesses, however i believe you are correct when you say that its not easily solved :D


Nagra_00_ ( ) posted Sat, 01 October 2016 at 4:50 AM

The implications of parallel computations are well known in computer science. In fact there are only a few cases that can be translated very easily (rendering is one of them). So the question is not if it can be done. The question is how well does it scale with the number of CPU cores. I am not an expert in cloth simulation so i don't know. VirtualWorldDynamics is an expert, would be interesting to know what he has to say.


FVerbaas ( ) posted Fri, 07 October 2016 at 7:14 AM · edited Fri, 07 October 2016 at 7:14 AM
Forum Coordinator

Experience with Marvelous Designer was that moving from single core to eight core simulation had a noticable but not smashing effect on performance. So, do not expect miracles.


Frequency3D ( ) posted Tue, 08 November 2016 at 9:53 PM · edited Tue, 08 November 2016 at 9:54 PM
Online Now!

I agree about the elastic!

I have mentioned this before but people have misunderstood and get it confused with stretch. This would be an actual shrink (as of right now you can do a shrink using a special trick scaling the figure, but it affects the whole garment). Being able to put shrink/elastic on dynamic cloth groups would be awesome, since constrained often ends up looking distorted because it sticks to the figure's polygons like conforming clothing. That is not what we want, we still want it to slide over the figure enough to retain a realistic shape as cloth.

There are so many cool things we could do with this!


Frequency Gallery  |  Frequency Store


bosArt ( ) posted Wed, 09 November 2016 at 7:34 AM

Nagra_00_ posted at 2:31PM Wed, 09 November 2016 - #4285238

Make the simulation multi threaded! When i start a simulation i can go and have a coffee break just because the remaining 23 CPU cores of my computer are idle :-(

I strongly agree. if it's technically possible (no idea about that, saw in one of the replies that this might not be easy). my main pc has two cpus each 27 cores adds up to 54 threads. now for simulations cpu uses only 3% !


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.