• Welcome to the Community Forums at HiveWire 3D! Please note that the user name you choose for our forum will be displayed to the public. Our store was closed as January 4, 2021. You can find HiveWire 3D and Lisa's Botanicals products, as well as many of our Contributing Artists, at Renderosity. This thread lists where many are now selling their products. Renderosity is generously putting products which were purchased at HiveWire 3D and are now sold at their store into customer accounts by gifting them. This is not an overnight process so please be patient, if you have already emailed them about this. If you have NOT emailed them, please see the 2nd post in this thread for instructions on what you need to do

My rather infrequent, and possibly apocryphal, 'books project'.

3dcheapskate

Busy Bee
I used to have a thread on this subject on the Smith Micro Poser forum. But that's gone the way of all virtual flesh.

I also had a sort of parallel thread over in the DAZ freebies forum entitled 'Books For Those Empty Virtual Bookshelves', but with less details because I didn't want to duplicate everything. The last inspired activity over on that DAZ thread was around late 2019, so nearly two years ago.

A couple of days ago I found myself unexpectedly playing with a booky idea that I'd thought about several times but could never be bothered to actually try. It's mentioned in this post of the 'Changing the length of a bone via a pose file' thread on the Renderosity Poser forum. While posting booky stuff there I realized that I was getting off-topic from the thread title and decided that I needed a new thread for continuing my bumbling musings on this next idea...

So here we are. Well I am anyway. Let's see how it goes
 

3dcheapskate

Busy Bee
I'll just do a brief run through of what I've done so far - there are more details on that DAZ thread I mentioned in the post above if anybody feels the need.

Firstly, most of the stuff I've done involves rows or stacks of closed books. I decided at a very early stage to make each book a discrete mesh, initially just a stretched cube which was fine for a basic paperback.

1) My original intention was simply to provide something that could be easily used to fill an empty bookshelf. I started by putting 41 (a badly chosen number, based on a badly designed UV mapping) paperback meshes in a row and making that a single 'bookrow' prop. Since 41 books of exactly the same dimensions is visually unappealing, at least to me, I decided to use some simple morphs to give a more varied appearance. This was the first bookish freebie, , A Few Books By The Cheapskate... as shown below.

TwoMorphs.jpg


2) I then decided to try creating a single prop that could fill a whole bookshelf. I ended up with 384 books (six rows of 64 books) using similar controls to the previous release to vary the book sizes. I also created fitting morphs for the two bookcases I had in my runtime. And I also added a magnet that could be used to select any of the 384 books and tilt/pull it from the shelf. This was the second book-related freebie, the Six-Bookrows Prop.

SixRows.jpg


3) At this point I decided that slightly more detailed meshes might be worth a try. I went back to square one and created four additional hardback meshes to add to my basic paperback mesh:

BookMeshes.jpg


I also rethought the UV mapping and ended up with 64 books mapped to a single 1024x1024 texture map. I abandoned the 41-book prop and created 1, 2, 4, 8, 16, 32 and 64 book props for each of the five basic meshes. A bit of maths with the U and V offsets of the texture map and each prop could start with a different book image from the texture map:

Offsets.jpg


That was my third released booky freebie, More Of The Cheapskate's Books.

4) I then briefly changed tack to create a Proof Of Principle - Poser ERC Opening Book - here's a very short video:

Poser Book Figure Test - YouTube

5) And then I did some proper stacks of books. I released the DAZ Studio version of this, A Few Books (Hardbacks) For DAZ Studio 4, first, intending to follow up with the Poser version. But the apathy struck; and then my computer crashed; and one of my backups failed and I lost the most recent work I'd done; and then I forget all about it. Until now

DSbooks.jpg
 

theschell

Brilliant
Good to see you still around, I remember the first version of these way back... been a long time! I've been out of the game myself a while and am just starting to slowly get back into things again... In case I never said it back in the day... thanks for the support you gave my Anime Girl back when she was new to the scene!
 

3dcheapskate

Busy Bee
I have to admit that I was rather proud of those towering 64 book stacks...

stacks.jpg


...until I happened to see some of my stacks actually used in the background of somebody else's render. I was surprised - they just looked, well, wrong. Rather obvious really because in the real world stacks of books are wobbly, leaning this way and that way. Thicker books sometimes twist a bit. All that sort of stuff.

But I remembered that this wasn't an oversight. It was a limitation imposed by my decision to make the book rows/stacks as props. The standard x/y/z rotation sliders work on the whole prop, i.e. the stack of however many books there are, and there's no easy way to rotate an individual book within that stack. Of course there are ways to do it, such as the magnet I used in the six-bookrows prop to select, tilt and pull out an individual book, but that's not something I'd want to do for each book. The apparent rotations of individual books in the image of the three 64-book stacks above are done with a morph, which is linear, and that's why the 'rotation' angles are all fairly small.

I knew from fairly early on that I'd probably have to use a figure if I wanted to do anything more than this for rotations of individual books within the stacks.

And that's basically where I'm up to now - I've just started playing with a simple four book stack figure.
 

3dcheapskate

Busy Bee
Good to see you still around, I remember the first version of these way back... been a long time! I've been out of the game myself a while and am just starting to slowly get back into things again... In case I never said it back in the day... thanks for the support you gave my Anime Girl back when she was new to the scene!
I think everybody's had other things on their plate over the past year or two !
 

3dcheapskate

Busy Bee
Before getting on to the stuff about creating a book row/stack as a figure I just want to highlight a few things about real books. So here's a photo I've just taken of four thick paperbacks, and there are a few things that strike me immediately:
1 - You can tell that they're old books, and that the bottom book doesn't appear to be as old as the other three. The top book has slightly bent corners
2 - The spines are slightly concave, while the opposite sides are slightly convex. Less so on the bottom book.
3 - There is a distinct widening of the book in the first centimetre as you move away from the spine. Again less so on the bottom book.
4 - There's a twist or shear on the second book from the bottom. and this seems to bring the top right corner (as we look at the book) down and to the right.

IMG_20210818_125916.JPG


Note: If anybody else has any observations about how real world books look and behave, please do post here, along with any photos that demonstrate the points.
 

3dcheapskate

Busy Bee
Hardback spines are not all the same - some are curved, some are flat, some leave a gap when the book is opened while others don't. This is why two of my five basic closed book meshes had flat spines and two had curved spines. And this inspired me in August 2018 to play about making a mesh for a more realistic open book, which I never took any further than this post over on the DAZ thread.

IMG_20210818_132809.JPG
IMG_20210818_132854.JPG


Note: If anybody else has any observations about how real world books look and behave, please do post here, along with any photos that demonstrate the points.
 
Last edited:

3dcheapskate

Busy Bee
Here are the two images from that DAZ post mentioned above - this little sidetrack also inspired that Poser ERC opening book test mentioned as item 4 in the second post on this Hivewire thread, but that's as far as I went with an open/opening book.

I remember doing a fair bit of research on this, including reading up on bookbinding.

book.png


book2.jpg


Note: If anybody else has any observations about how real world books look and behave, please do post here, along with any photos that demonstrate the points.
 
Last edited:

Dreamer

Dream Weaver Designs
@3dcheapskate I remember your book props, I was thrilled to find them back then.
If you need photos of different books in different situation please feel free to give me a yell. I have a lot of books, (I mean *a lot* ), everything from old battered falling apart paperbacks to big dusty old hard back encyclopedias and everything in between
 

3dcheapskate

Busy Bee
Thanks, I'll take you up on that offer a bit later. :)

In the meantime I've started playing with a simple figure, a stack of four books (using my 88vertex/86 face mesh for each book), each book being attached to a separate bone with the following simple hierarchy:

tree.jpg


Since I was talking about twisting and shearing books, how about using yRotate to twist the book? It seems to work quite nicely, provided the rotation angle is limited (around ±10°):

twistSetup.jpg



Twist.jpg


The chain of bones I've set up is in the centre of the books. If it had been at the edge of the books or in a corner the rotation would obviously have been around a different centre. But from playing with a couple of real books it seems to me that they do indeed rotate about the centre, as shown above.

But I also want to be able to rotate the complete book, as below, which I was intending to do using the same yRotate (with different settings for Twist Start/End obviously, or just unticking Bend on the parameters tab). Obviously I can't do both.

rotate.jpg


Alternatively the warping twist could be done with a morph. Since this rotation angle is limited to around ±10° then the fact that morphs are linear shouldn't be a problem.

I think that shear will have to be done as a morph. Obviously the book will only shear in one direction.

(Another thought just struck me - if I do both the book twist and shear as morphs then I could do the same for the book stack props)
 

3dcheapskate

Busy Bee
I'm hoping to use the other two rotations, X and Z, to make the stack wobbly. Rather than trying to explain in words I'll use a couple of pictures. So here's the setup of the zRotate - I've set the exclude angles to be horizontal and the include angles to roughly match the top left and top right corners vertices of the book:

zRotate.jpg


Since the axis of rotation is at the start of the relevant bone, then rotation values of more than around ±10° will badly distort the mesh, turning the compressed side inside out. So sensible maximum rotation values would be around ±5° as below.

tilt.jpg


I've done the xRotate in the same way

xRotate.jpg


Unlike the yRotate, I don't have the problem of wanting to use xRotate (or zRotate) to do two things.
 

3dcheapskate

Busy Bee
Using yRotate (the warping twist version), xRotate and zRotate together for each of the four books seems to work fine, and I can also use xTranslate and zTranslate for each book. And yes, I tried viewing the stack from different angles as I twiddled the dials - each book remains correctly positioned in relation to the book below. So it looks as if I've got the beginnings of a nice wobbly stack...

combined.jpg


Note: I originally only had four bones in the stack, book11, book2, book3 and book4. But I found that book1 didn't have all the transform dials. That's the only reason I added the spurious 'Stack' bone at the start.
 

3dcheapskate

Busy Bee
...however, using scaling on someof the books (I used just Scale and yScale here) causes problems - look at the top cover of the red book here:

scaling.jpg


And the red and green books (and the gap that appears between them) here:

scaling2.jpg


Since I don't see a problem on all the books it may be something to do with the setup of the bones for the red and/or green books.

(Note: I've hardly ever used the setup room so I've probably made some stupid mistakes)
 

3dcheapskate

Busy Bee
The scaling problem did indeed turn out to be errors when I was doing the figure setup. I'd made two mistakes.

1) The red book's bone's smooY for the previous (i.e. the spurious 'Stack') bone was set to 0/0, -99/-100 instead of 100/99, 0/0

2) The Center > Orientation > zRot for the red book's bone was -0.830078 instead of zero

I corrected those and the scaling now seems to work fine. Here's an example of what I get when I now use x/y/zRotate, x/zTranslate, and Scale/yScale on each of the books:

fixed.jpg


The CR2, OBJ and PNG are in the attached Four Back Stack.zip if anybody wants to play. No folder structure, just those three files - simply copy them to any Runtime:Libraries:Character: folder

Next thing is probably to decide what I'm going to do about the yRotate, the one I want to use for two different things (the warpy twist or the rotation of the whole book)
 

Attachments

  • Four Book Stack.zip
    20.3 KB · Views: 243

3dcheapskate

Busy Bee
...but before I do that (i.e. decide what I'm going to do about the yRotate) it's a good point to remind myself of the idea I had about using Poser geometry swapping to change blocks of books on a bookshelf, which could equally well be used to change individual books in a stack. The details were on the now-non-existent Smith Micro Poser forum, but I also glossed over it on the DAZ thread in this post (and the following one, where the apathy took over).

(Sidenote: I'm surprised that I said it worked in both DS3 and DS4 because I'm fairly sure I had problems using Poser geometry swapping stuff in DS - something more recent perhaps than those September 2018 posts ? I recollect the whole DS UI grinding to a halt - I'll have to rack my brains and Google's to try and find out what that was, as I'm sure I posted about it somewhere.)

The process for setting up geometry swapping is quite simple and is described on pp109-113 of B.L.Render's Secrets Of Figure Creation With Poser 5. I tested this for a group of books on a bookshelf and it worked fine.

Turning to the current case, my stack of four books, I'd want to use geometry swapping to change the mesh of any of the four books to a paperback mesh. Or maybe make the default mesh a minimal stack of paperbacks (using the 8 vertex/6 face mesh for each book) and make the alternate meshes the more complicated hardback ones. Assuming I do the latter then my basic mesh (in the CR2) would be four paperbacks stacked one atop another.

This is where "I ran into some problems trying to avoid duplicating OBJ files for the geometry swapping thingy" (as stated in the DAZ thread post following the one I just linked to). If I create a single alternate hardback geometry for each of the four books I will need four separate OBJs, which will each contain exactly the same hardback mesh but in the position appropriate for the book it will replace. Not a problem. But when I do a stack of 64 books with each book having perhaps four alternate geometries ?

So I wondered whether I could use a single OBJ as the alternate geometry. Assume that my basic mesh is the four hardbacks I've been working with. The following is what I think will happen, although I haven't tried any of it yet. I mentioned that the apathy took over when I looked at this before, but to be honest my brain just went squiggly and I started drooling and gibbering ;):

1) Assume that I create the alternate geometry OBJ as an 8 vertex/6 face paperback set up to work correctly for the bottom book, book 1 (red cover). If I try to use that same OBJ as the alternate geometry for book 2, then when I swap book2 (green cover) for its paperback alternative the green book will disappear and be replaced by a red paperback, but at the same position as book 1 - I should be able to verify this using xTranslate on book 2. One possible way round the positional offset is to put the four books in the default mesh at exactly the same position (the book1 position) and set a frame 1 key for yTranslate for books 2, 3, and 4 to put them in their correct position. yTranslate isn't one of the dials I'll be using for anything mentioned in the previous posts, so that's a good start. This should make the swapped paperback appear in the correct position. But I'm fairly sure that the x/y/zRotate joint/twist angles will be screwed up, since all the basic mesh is where book 1 should be - that, I think, makes it a non-starter ?

2) This is already mentioned in (1), but I'll highlight it here. The CR2 (or the externally linked OBJ for the basic mesh) defines the material zones, and each book is different. In the 'Four Book Stack.zip' that I attached to the last pot book1 uses Cover1 and Pages1, book 2 uses Cover2 and Pages2, etc. If I have a single OBJ (i.e. the mesh of a single book in the book 1 position) as the alternate geometry for all four books, then when I switch to the alternate geometry for any of the four books they will pick up the material from the OBJ, which will be for book1, i.e. the red cover.

Anyway, my brain still seems to be here, and I'm not drooling and gibbering, so it might be time to see if I can resolve this.
 

3dcheapskate

Busy Bee
Definitely ! :D

Along with creased/torn covers, chunks of pages coming loose, etc.

I think that'll be part and parcel of an older, more timeworn version of the books. To a large extent the wear and tear can be done with textures - I'm fairly sure that there's* a few posts by philebus somewhere over on kathrynlock's Book Covers thread at DAZ giving a few steps to age a book cover. The closest I've found so far is this post on page 47 of that thread with a before and after, but I'm 99.9% certain there's more.

I know that I started work on some greyscale masks that I could use to make covers look older, I'm fairly sure based on something I'd read in philebus' posts. I'll see if I can find them.

*(shouldn't that be there're ? But that just sounds wrong, doesn't it?)
 
Top