Brief interview with Guillaume about his nice shot Possesed bed using Pulldownit
Why did you decide to make a possessed bed in CG? thats a crazy idea:)
I was looking for a new project involving fracturation/shattering. I had in memory a scene in The Conjuring where a rocking chair is thrown toward the characters, so I though an invisible demonic force would be a good reason to make an inanimate object move by itself and break apart while maybe hitting something.
I had the idea of a bed because it was interesting to mix rigid bodies simulation with cloth.
How did you model and rig the bed?
Actually all the furniture are free 3d models that I found on internet, but I had to re-model the bed because it was too high poly, the fracturation process as well as the simulation would have been too slow and buggy otherwise.
The rig is very simple : the wooden part is only animated with transform nodes : one when it levitates, and two for each part when it breaks. The transition is made simply by animating the visibility of objects.
The mattress, when kinematic, is skinned with two joints that follow the wooden parts, and there is a corrective blendshape.
How did you animate the mattress and the blanket?
The mattress is at first bound to the animation of the bed, the blanket becomes dynamic sooner but still have some points constrained to the same animation. After that it’s all a nCloth simulation with colliders.
Concerning the mattress, I tried a lot of settings trying to have the right behavior but nothing seemed to work. Then I had the idea of simulating only a thin sheet with a large collision distance, with a wrapped mattress model for the final render, and I think that was the best option, moreover it’s faster to simulate.
How did you setup Pulldownit dynamics?
For the long boards on the sides of the bed I used the wood splinters shatter style which was perfect for giving me a crack in the middle. For the front and back panels, I needed a more uniform shattering so I scaled down the panel in one axis, I applied a uniform shatter and then I scaled it back up, which gives similar long wood-looking fragments on all the model.
The piece in the center that breaks first is a fracture object, the two other parts are first a bunch of kinematic or dynamic objects, then it switches to two fractures bodies when it’s thrown at the door.
This last action is perform with a uniform field, it was neat to be able to use it for Pulldownit as well as for the nCloth.
How did you do the transition animation-dynamics for the bed?
Like I said in the rigging part, some objects that are 100% animated switches their visibility with simulated ones. It’s easy to do when the simulation starts when the object is at rest, but for the breaking parts at the top of the bed, I had to make a little script that keyed the state (kinematic to dynamic) of selected fragments at a given frame, as well as setting the initial velocities according to the animation( note: in Pulldownit v 2.7 and later the solver can do this effect by itself).
How did you do interaction between nCloth objects and Pdi objects?
Given that Pulldownit and nCloth can not mutually interact with each other in one solving, I had to proceed by steps.
First of all I made a pdi simulation with only the two remainings of the bed from when it falls back on the ground, and I converted it definely as keyed objects, to keep them for later.
Then I made two simpler models of the fractures and parented them respectively to a foot of the bed to match the overall animation. This is what I used as colliders for the cloth.
Finally I simulated all the smaller fragments, colliding with the geocached mattress, blanket, pillow and keyed / static objects.
To resume the heavier is influencing the lighter : halfs of the bed -> cloth -> small fragments.
The biggest challenge of the project to me was to make interact two solvers that doesn’t understand each other.
I lighted the scene with a portal and an area light but didn’t do a fully realistic render with everything shaded, because I only wanted to spend time on the effects part, which is what I want my speciality to be.
It was my first project using Pulldownit, but I have made some tests on other scenes and I really like the concept of fracture bodies with automatic clustering. There could be some improvements, for example I don’t like the fact that going on the first frame erases the cache, it happened to me a few time by mistake, but Pulldownit is still a young plugin and I’m sure there will be great new features to come.
Author: Guillaume Hoffmann