Disorder a object multiple times in room. Know some techniques?

Hey guys, 

I'm trying to solve a problem.  In the picture below you see a lot of books lying around on the ground. Sure I could model some books and place them all over the place but i think there could be a more efficient way of doing this. Maybe something like using a brush you create or with the particle system? I just don't have the skills yet to solve this problem. 

Do you have any ideas or tips you can give me? 

Thank you for the help :) 

  • spikeyxxx replied

    Hi snowingname!

    Chaos is challenging in CG;)

    In this case, I would model one book, then use a few Array Modifiers to make a 'heap of books', floating in the air. (Make sure there is enough distance between the books, so that we can make them different sizes, without them intersecting.) Apply the modifiers.

    With the books selected, go into Edit Mode, select all, press P > Separate by loose Parts.

    Go back into Object Mode. Now all the books are separate objects. All are selected and one is active!

    Enable Rigid Body Physics (Type > Active, under Collision > Shape use Box). Now the active book is a rigid body. Go to Object > Rigid Body > Copy from Active. Now all the books are part of the rigid body simulation.

    With all the books still selected, go to Object > Set Origin > Origin to Geometry. (Otherwise all the books have their origin in the same place and then the rigid body simulation will make them all 'explode'.)

    Go to Object > Transform > Randomize Transform. Then in the little pop-up (bottom left of 3D View), (or press F9) you can randomize the scale of the books ( and maybe also randomize the rotation a bit). Make sure that there are no intersections...

    Make the floor a Rigid Body (Passive, Box Collider).

    Press play and start correcting the physics settings and the starting positions of the books ( this can take a while...).

    (You can give the books random colors in the shading process)

    The next time you will need something like this, it will go a lot faster and I'd guess you'll be needing this quite a lot;)

    Maybe someone else knows a different (maybe better) way of doing this...



  • Tomas Plasil(tomasplasil) replied

    Hi....Thats a really cool way to do something like this. Gotta try i sometime. But I think in this case, there would be a problem that it will creates piles and not stacks. So I would instead create several types of  book stacks, and split the books into different objects. place them around and then use randomize trasnform to give them more variety. If you randomize location on x and y axist, and rotation on z axis, they will not intersect but just be arranged differently. And the bookshelfs could be done the same way.

  • spikeyxxx replied

    I was just taking a walk and thinking the same, about the piles and stacks;)

    But why not combine the two methods, make a few piles and 'dropping' a few books as rigid bodies on and around them...

    If you look in the pictures left, near the bottom, there is a large pile of books for instance.

  • Tomas Plasil(tomasplasil) replied

    I didnt notice that one :) yeah for that the ridgid body would be great

  • snowingname replied

    Thank you both a lot for these nice tips. I will soon try them out and give you feedback!
    Have a good week.