Anything like bookscatter?? A way to place lot of books into a bookcase

hi blenders,
as subject, do you know a way to put a lot of books into a bookcase without do it manually??

For example, for 3dsmax there is a script called bookscatter that do it with great results.
Just for your knowledge http://mourelask.weebly.com/bookscatter.html

Is there a script that do something similar??
Is it possible using blender particle system??

I tried to use the 3dsmax and exported the objects but obviously I’ve lost all the texture associated (more of 60) and lost the instances of the base geometries so the exported file was too heavy.
If i could do it in blender it will be great for texture and instances managing.

Thanks in advance

try particle sys(grid distribution) with books (grouped) used as object input

I’ll try.

Thanks for the suggestion.

tried but it doesn’t work as I expected… :frowning:

http://www.pasteall.org/blend/22102 Random idea…

epop…I’ve downloaded your scene but it’s not really clear for me.
The result it seems good but could you ask to explain better what you did?
I’ve read your text inside the file but it’s not really clear because I don’t know blender in deep?

Anyway thanks for your suggestion.

We do have Rigid body world right in the 3dedit window now, which means if there is obstacle and rigid body assigned to something in scene, these objects obey world physics rules, simplest being gravity. Rigid bodies fall until they meet obstacle.
This is enough to randomly place objects which is what happens in the scene. Books are rigid objects, shelf is an obstacle. What is also good is that rigid bodies interact between each other (mostly; you might need some manual corrections).

Now, if the books were arrayed and hanging placed regularly in space before world starts to drive them, it wouldn’t be so effective and interesting, so you need to make sure there is some randomness in their start positions.

There is a narrow subdivided plane for that. Each of the faces of that plane duplicates another, smaller plane. That is set as a Duplication, Faces in object properties. If edges of that narrow plane are slightly rotated, smaller planes will be rotated too. That’s where randomness comes in. Could use Subdivide Fractal with small amount or rotate/grab vertical edges of the narrow stripe slightly.
Books, well book in this case, is parented to smaller plane before it is parented to narrow stripe to get duplication.

When all books are hanging in space little above the shelf, set duplicates real and bunch of materialized book copies appear. Move duplication rig away, and let the animation begin.

If rig is rotated 90 degree, you can get piles of books with that slight touch of randomness.

So far in this all books are the same because it started from just one book mesh. I hope there can be Particle system attached to the smaller plane where just one particle renders as a random object from the group of books. That needs to be confirmed.
If not, there probably could be scripted Object mesh ‘swap’ randomly replacing materialized books with a bunch of pre-made ones.

Guess that’s all to this. Hope helps.

with file opened, I’ve read your explanation and it’s more clear.
I’ve tried particles system to bring different books randomly but it doesn’t work.
The duplication works only with only one object of the group of the particle system assigned to the plane parented with the horiz_helper.

Your last guess (a script to swap objects) could help a lot because if the pivot point in the duplicated object is set to the base, it could work very well

I was a bit afraid of that :(. Needs a script then to replace meshes/materials. Or KISS mode :wink:


I think you can use “Grease Pencil Scatter” for randomly placing the books in shelf.

That probably would be too radical if you need just a slight ‘disorder’. If books fall from little above the shelf, the rest - right, left slant fall flat or on another book is done by physics as it would happen in reality. Grease scatter loves mesh corners mostly and gives less control for this particular task.

check out the forum for release scripts
and ask question in pytnon forum!

happy cycles

How did you achieve this??

Oh c’mone that is pretty easy just plane + array + curve + particle system + group of books and it’s done i can make you whole procedural BOok shelf.

Trashed small planes, instead of that narrow thing made geo which is selected in image, assigned particles - 1 to each face, Group of 3 objects what would be books. Same Make Real and that’s it.

@Kramon: What do you do with that curve? Path for plane array?

By the time a script is written or you work out how to write a script yourself, you likely could have done it by hand several times. :slight_smile:

@kramon: could you explain deeper?? At least an image or blend file with simple objects…just to understand your suggestion.