...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.