A Few Books (Hardbacks) For DAZ Studio 4
Now available for download:
ShareCG - https://sharecg.com/v/94268/view/21/DAZ-Studio/A-Few-Books-Hardbacks-For-DAZ-Studio-4
DeviantArt - https://www.deviantart.com/3dcheapskate/art/A-Few-Books-Hardbacks-For-DAZ-Studio-4-809084773
Renderosity - https://www.renderosity.com/mod/freestuff/a-few-books-hardbacks-for-daz-studio-4/82979
Renderosity - A Few Books (Hardbacks) For DAZ Studio 4 (renderosity.com) ...reuploaded 11 May 2022
The Poser version will be available shortly (errr... apparently not. Apathy got the better of me). An earlier Poser version of this (but only the rows, not the stacks) was uploaded about six months ago - see this post on my main books project thread.
(This is the first DAZ Studio 4 native, i.e. DUF-based, freebie to come out of my books project. And yes, it includes metadata for Smart Content)
Seven rows and seven stacks of books, with some adjustment sliders to give a bit of variation.
Both the rows and the stacks come in 64, 32, 16, 8, 4, 2, and 1 book sizes.
Each book is a mesh of 88 vertices/86 faces, so the 64 book row/stack each contain 5504 faces.
Three different 1024x1024 texture maps (64 books per map) giving 192 different books in total.
3Delight and Iray material presets to apply each of the three texture maps.
I've also included (in the 'Extra Stuff' folder in the ZIP) a GIMP XCF file (and a Photoshop PSD) containing a template and notes for creating your own textures, plus the text and colours for the three included texture maps on separate layers.
The two included DAZ scripts are run as post-loads every time you load a prop or material preset and simply ensure that the 'Texture Row/Column' integer sliders correctly change the tiling offsets on the material.
Installing The Metadata
(aka Getting the books to appear in the Products section of the Content Library pane and on the Smart Content pane)
This is quite straightforward and is explained in the readme.
The relevant section of the readme is duplicated later in this thread along with a couple of helpful pictures.
Note that a spurious icon will appear due to a mistake I made when creating the metadata. That's also covered by the link in the previous sentence.
Other released freebies from my books project (all currently in Poser format only, but can be imported into DAZ Studio):
- A Few Books By The Cheapskate... - a row of 41 paperbacks,with adjustments. This was the first release, and was made obsolete by the next...
- More Of The Cheapskate's Books - rows of 64, 32, 16, 8, 4, 2,and 1 books using 5 different base book models ranging from an 8 vertex/6 face paperback to the same book 88 vertex/86 face mesh I'm using here.
- Six-Bookrows Prop - a single prop containing 384 books (8 vertex/6 face per book) designed to be used to fill empty bookshelves.
- Proof Of Principle - Poser ERC Opening Book - just playing around with some mathsand trying out the first step of a new idea...
(Cross-reference link to the associated post in the "Books For Those Empty Virtual Bookshelves" thread )
Comments
Book Adjustments
"...with some adjustment sliders to give a bit of variation..."
The percentage sliders do not have limits set, although I'd recommend using values in the -100% to +100% range, especially for the "Random Rotate" adjustments.
All props have "Texture Column (0 or 1)" and "Texture Row (0 to 31)" integer sliders. These select which title is mapped to the first (bottom or leftmost) book.
The two single book props have just 2 additional adjustments - "Bigger" and "Slimmer".
The 2+ book stacks and rows have "Random Size (Odds)", "Random Size (Evens)", and "Random Spine Width" adjustments. The first two change the height and width (cover width, not spine width) of the books. The last does not change the overall length/height of the row/stack.
The 2+ book stacks also have "Random Rotate (Odds)", Random Rotate (Evens)", and "Random Shift" (I should probably have done odds/evens for that one, but I didn't)
The 2+ book rows also have "Random Jiggle (Odds)" and "Random Jiggle (Evens)"
Note on the Texture sliders for the technically minded:
The '"Texture Column (0 or 1)" and "Texture Row (0 to 31)"integer sliders control the horizontal and vertical offsets respectively for the texture map. There are three parts to this:
1) 'Proxies' for the material tiling offsets have been added to the parameters tab. They are under "/Book Adjustments/Material Tiling Proxies" (but are hidden because they aren't meant to be used directly by the user).They will always match the tiling offsets on the surfaces tab - if a change is made to a tiling offset on the surfaces tab then the appropriate proxy will also change, and if a proxy is changed then the appropriate tiling offset will also change. This is automatically done by DAZ Studio once the proxy link has been established.
2) The "Texture Column/Row" sliders are linked to the appropriate proxy via ERC links with the required scaling factors of 0.5 and -0.03125 respectively.
3) However, the loading of a material sometimes breaks the proxy links. So when you load a Prop or Material Preset it automatically runs a post-load script to reconnect these proxies
14 Separate Props
"...Seven rows and seven stacks of books ... Both the rows and the stacks come in 64, 32, 16, 8, 4, 2, and 1 book sizes..."
3 Texture Maps, 192 Different Books In Total
"...Three different 1024x1024 texture maps (64 books per map) giving 192 different books in total..."
Each title in this collection has been selected, using an extemely complicated process, from the lists in this thread, and each bookspine/cover has been individually, lovingly, laboriously, and painstakingly designed and hand-crafted using only the best tools.
Reasonably Low-Poly: 88 Vertices/86 Faces Per Book - So 64 Book Stack/Row Each Have 5504 Faces
"...Each book is a mesh of 88 vertices/86 faces, so the 64 book row/stack each contain 5504 faces..."
Note: This is the highest polygon count version of the five base book meshes that I used for the previous Poser release at the start of 2019. The joint increases the polygon count significantly, more than doubling it from 40v/38f to 88v/86f, but on reflection I think it's worth the overhead. If somebody really wants me to do a lower polygon version let me know, and I'll think about it...
Related Threads
Thank you to everybody who provided input to the following threads on the DAZ forums, which were all part of getting the original Poser prop converted to DS-native format:
Here's where it all started, a year ago:
- https://www.daz3d.com/forums/discussion/273136/books-for-those-empty-virtual-bookshelves-at-last-a-ds4-version/p1
- https://forum.smithmicro.com/topic/7945/freebie-a-few-books-by-the-cheapskate
Actually, it didn't start there - it started here:
- https://www.daz3d.com/forums/discussion/269801/pointless-prizeless-challenge-12-render-the-story-title/p1
Thanks so much! A lot of my stories are set in libraries, and this is perfect for those book covers! Yay!!
You're welcome.
The UV Mapping - Modifying The Existing Textures And Creating Your Own
( N.B. In the unlikely event that anybody does create their own textures for these books then please feel free to post them to this thread - the more books to select from, the better ! )
One thing I forgot to mention: Since the book spines are the main thing that you see when you have a row of books on a shelf, the UV mapping for these props was focussed on that. The majority of the UV mapping is 64 book spines
The next most likely thing to be seen is the tops of the books (and the page ends if the bookshelf doesn't have a back to it). I could have made these generic and used a separate texture map, but I decided to also map these bits on a per book basis.
The covers, both front and back, are the least likely bits to be seen. You'll only see the full cover of the top book in a stack, or the end books in a row. And you'll see bits of the covers of other books if they are different sizes and/or jiggled about a bit. So I decided to use just a tiny bit of the UV map (I think 24x32 pixels) for the coversof each book to allow for a colouration that matched the spine.
The XCF (or PSD if you prefer) file included in the 'Extra Stuff' folder of the zip is to help you to modify the existing textures. I.e. to change books you don't like and/or to create your own textures. (I won't be offended if "Gogol's Gorgonzola" isn't to your taste!). This nice helpful picture should appear on the top layer when you open the file.
And the bottom layer contains the template. Simply colour-select the spine you want to change (this will also select the two single pixel lines to the left that work as paperback covers when looking at the top, bottom, or opening side) and paste/flood-fill with your spine colour/pattern/picture. Similar for that little, slightly darker rectangle to the right,which is used for both front and back covers (both front and back covers are mapped so that the spine side is to the left). Here it is as a PNG:
I might as well post the three texture maps here too. Right-click > View Image (or something similar, browser +OS dependent) to peruse the titles that are included...
I've also attached one of the textures I used to create the page ends (see attachment below). And I've just realized that I didn't add any bump (based on a greyscale version of that) to the page ends in the material presets.
Thank you, these are great!
Thanks for all the books!
Thank You
What a great collection of books props! And versatile too.
and they load up in Carrara and work crate ... umm I mean great as well
awesome,, thanks
Thank you!
I have a freebie single book that could integrate well with the book stacks. It is rigged so that its covers open and its pages turn. The UVMaps for the covers and pages are square so that you can load any image you want and then resize the book to match your image dimensions.
https://sharecg.com/v/88785/gallery/5/3D-Model/book-turn-pages
AMAZING Freebie. Will become useful im the near future!
THANK YOU
A Poser verson woud still be nice.....
Thanks for the reminder - I'd forgotten about that ! I did intend to go back and do the stacks for Poser, along with a nice material room book-shuffler/randomizer that I can't* do in DS.
Edit (03.46 UTC Mon 30 Dec 2019): I've just been digging around on my HDD and apparently I've already done the stacks for Poser - it's just a case of tidying up the materials/shaders.
(I think I mentioned that the previous incarnations of this book stuff were actually Poser props. The ShareCG freebie More Of The Cheapskate's Books is basically the book rows half of this DAZ Studio version. It doesn't have any of the book stacks. But each of the rows comes in versions for five different basic book meshes, from a 8vertex/6face paperback to the curved hardback mesh use in the DS version.)
Edit 2 (Mon 16 Aug 2021): I had a couple of computer crashes last year, and also problems with some of my external backups. Upshot of which is that I lost, among other things, everything relating to the development of the DAZ Studio books prop that this thread is for. Unfortunately that includes all the stuff I mentioned in the previous (Mon 30 Dec 2019) edit.
*Not quite true - I know I can do it, but it involves digging into ShaderMixer/ShaderBuilder/whatever-they-use-now, and I simply can't face that any more !
I've run into a strange phenomenon with this prop ... in the designer it looks fine, but no matter what specifics I set for the book randomization, once I render it in iray, every row is rendered identically.
Have I made some stupid mistake?
What version of DAZ Studio are you running ? What happens if you do a 3Delight render ?
Edit: I think I may have misunderstood your problem - I'd assumed you were getting every individual book being the same, and that's what this post is about. Next post will be about multiple props being the same, which is what I think you actually said.
Edit 2: Got it ! I can reproduce your problem, and the solution is simple - see two posts down
I've just tested with 4.12 and I don't see the problem that you see.
However, I vaguely recall running into that your exact problem (every individual book being the same) when I first started trying to do the Iray material, but I don't remember off hand what caused it, or what the specific fix was, although I have a sneaking suspicion that the scripts may be involved - more on that later.
I've had a quick look through my notes and the development threads (unfortunately the Smith Micro one has gone, althoughbut I don't think any of the DAZ Studio specific stuff was on that thread) but I can't find anything about all books rendering with the same cover.
I know that if you have one of the 3Delight materials applied to the books (the props load with 3Delight materials) but you render in iRay, then what's rendered doesn't match what you see in the preview. E.g. I've just loaded one of the stacks (default material is 3Delight) and rendered in both 3Delight (left) and Iray (right). But although the books are not what they should be in the Iray render they're all different, so that's not the problem you're seeing, or at least not all of it.
Just as a double-check clear the scene (File > New from the DS main menu), load one of the book props, apply the Iray Classics material, twiddle the Texture Column and Texture Row sliders, do an Iray render, and cancel the render once you see what the result is going to me. Do you still have the same problem ? If so then the next step is to check the log file.
Open the log file (Help > Troubleshooting > View log file) as shown below...
...and scroll to the bottom (it'll probably be huge!).
The last 20-50 lines will be to do with the Iray render, so you want to scroll up to just before that where you'll see several lines about the book prop.
Here's the relevant lines, in bold, from the log file for the test I just ran. Yours should be similar.
Can you confirm that you see all three of the lines highlighted in yellow ? These are confirmation that the two scripts controlling the book titles you see have worked properly.
2020-12-21 11:17:14.640 DEBUG: TRACE:3DCheapskate's 'PostLoad_Select_This_Props_Node.dsa' Script - started...
2020-12-21 11:17:14.640 DEBUG: TRACE:3DCheapskate's 'PostLoad_Select_This_Props_Node.dsa' Script - completed without crashing ! Hurrah !
2020-12-21 11:17:14.640 DEBUG: TRACE:3DCheapskate's 'Connect_Existing_Tiling_Offset_Proxies.dsa' Script - started...
2020-12-21 11:17:14.640 DEBUG: INFO:Surface tiling offsets successfully (re)connected to their proxies. Use the 'Texture Row/Column' sliders under 'Book Adjustments' on the Parameters tab to change the book selection within the current texture map.
2020-12-21 11:17:14.656 DEBUG: TRACE:3DCheapskate's 'Connect_Existing_Tiling_Offset_Proxies.dsa' Script - completed without crashing ! Hurrah !
2020-12-21 11:17:14.656 File loaded in 0 min 0.2 sec.
2020-12-21 11:17:14.656 Loaded file: Books (Row Of 16) Map64.duf
2020-12-21 11:17:14.730 Loaded Morph Deltas in 0 min 0.0 sec.
2020-12-21 11:17:14.730 Loaded file: Random Spine Widths_Random Spine Widths_978.dsf
2020-12-21 11:17:14.732 Loaded Morph Deltas in 0 min 0.0 sec.
2020-12-21 11:17:14.732 Loaded file: Random Size (Odds)_Random Size (Odds)_588.dsf
2020-12-21 11:17:14.732 Loaded Morph Deltas in 0 min 0.0 sec.
2020-12-21 11:17:14.732 Loaded file: Random Size (Evens)_Random Size (Evens)_504.dsf
2020-12-21 11:17:14.732 Loaded Morph Deltas in 0 min 0.0 sec.
2020-12-21 11:17:14.732 Loaded file: Jiggle (Odds)_Jiggle (Odds)_440.dsf
2020-12-21 11:17:14.732 Loaded Morph Deltas in 0 min 0.0 sec.
2020-12-21 11:17:14.732 Loaded file: Jiggle (Evens)_Jiggle (Evens)_528.dsf
2020-12-21 11:17:14.825 Loaded image 64-Book-UV1-Texture02.jpg
2020-12-21 11:17:53.321 Loaded image 64-Book-UV1-Texture02.jpg
2020-12-21 11:17:56.414 DEBUG: TRACE:3DCheapskate's 'Connect_Existing_Tiling_Offset_Proxies.dsa' Script - started...
2020-12-21 11:17:56.429 DEBUG: INFO:Surface tiling offsets successfully (re)connected to their proxies. Use the 'Texture Row/Column' sliders under 'Book Adjustments' on the Parameters tab to change the book selection within the current texture map.
2020-12-21 11:17:56.429 DEBUG: TRACE:3DCheapskate's 'Connect_Existing_Tiling_Offset_Proxies.dsa' Script - completed without crashing ! Hurrah !
2020-12-21 11:17:56.429 File loaded in 0 min 0.0 sec.
2020-12-21 11:17:56.445 Loaded file: Classics 01 (Iray).duf
2020-12-21 11:17:56.613 Loaded image 64-Book-UV1-Texture03.jpg
2020-12-21 11:18:34.070 Rendering image
2020-12-21 11:18:34.151 Iray [INFO] - IMAGE:IO :: 1.0 IMAGE io info : Loading image "Z:\3D Content\Studio\~MyFreebies\Runtime\Textures\3DCheapskate\Mapped\Books\64 Book Mapping\64-Book-UV1-Texture03.jpg", pixel type "Rgb", 1024x1024x1 pixels, 1 miplevel.
2020-12-21 11:18:34.163 Iray [INFO] - IMAGE:IO :: 1.0 IMAGE io info : Loading image "C:\Program Files\DAZ 3D\Applications\64-bit\DAZ 3D\DAZStudio4\shaders\iray\resources\DTHDR-RuinsB-500.hdr", pixel type "Rgb_fp", 512x256x1 pixels, 1 miplevel.
2020-12-21 11:18:34.293 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Updating geometry.
2020-12-21 11:18:34.293 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Importing scene graph.
2020-12-21 11:18:34.293 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Auto instancing compression ratio 1.00 (Full instancing compression ratio 1.00)
2020-12-21 11:18:34.293 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Importing geometry for motion time 0
2020-12-21 11:18:34.293 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Geometry import (1 triangle object with 2754 triangles, 0 fiber objects with 0 fibers (0 segments), 1 triangle instance yielding 2754 triangles, 0 fiber instances yielding 0 segments) took 0.001s
2020-12-21 11:18:34.308 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Updating materials.
2020-12-21 11:18:34.308 Iray [INFO] - MATCNV:RENDER :: 1.0 MATCNV rend info : found 2 textures, 0 lambdas (0 unique)
2020-12-21 11:18:34.308 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Emitter geometry import (1 light source with 2 triangles, 1 instance) took 0.000s
2020-12-21 11:18:34.308 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Updating environment.
...etc...
If you're using several separate book props and setting different Texture Row and/or Texture Column values for each prop that works fine for me in DS4.12 Iray.
As a quick test I loaded four separate 4-book props side by side and set the Texture Row values for each prop so that the leftmost book of each prop was the same as the rightmost book of the previous prop.
Got it !
I can reproduce your problem.
You're rendering in Iray but you've using 3Delight materials. Make sure that you apply the Iray materials if you're going to render in Iray.
@3Dcheapskate: Wow, props for the immediate support by the author himself, no less. Much appreciated.
Turns out that was almost the problem.
Explanation for the almost: When I build a scene with stuff that doesn't have Iray Materials available at all, I tend to just select everything and apply the Iray Uber shader to everything in one go. In most cases, this works just fine (some surfaces do not cooperate well and need individual love) - but for some reason this is actually fatal for this prop. Converting the 3Delight shader to Iray in this way breaks it completely, neither the preview nor the render will work properly any longer, at least not with the sliders. When you apply the provided Iray shader manually (I had to redownload and look where you put it as it's not in the product directory as usual but stashed away under presets - I originally downloaded the prop quite a while ago) it indeed works as intended.
Being a bit of a Daz noob, this behavior was kinda counter intuitive for me, so in the end, yes, I did make some stupid mistake, and you pointed out what it was. Thanks a lot, as I wrote initially, it's much appreciated.
No problem, glad to help.
The following might help explain why this happens, and offers an alternative solution.
When I created these props I wanted a simple way to change which books were selected, and that's the Texture Row and Texture Column sliders on the Parameters tab. These simply control the tiling parameters on the Surfaces tab, and that has the desired effect.
But normally stuff on the Surfaces tab is totally independent of stuff on the Parameters tab. I had to write a simple script, 'Connect_Existing_Tiling_Offset_Proxies.dsa', to make the necessary connections (more information about that in the second related thread linked from this post if you want to go down that rabbit hole !). This script is automatically run when you load one of the book props.
However, applying a new material will break these proxy links, and the Texture Row and Texture Column sliders will no longer have any effect. To fix this, I made all of the book materials run this script too.
But when you apply* the Iray Uber shader the proxy links are being broken, and the script to fix it is not run. So the Texture Row and Texture Column sliders no longer have any effect.
Alternative solution: simply running the 'Connect_Existing_Tiling_Offset_Proxies.dsa' manually for each book prop will fix that (I just tested it after applying the DAZ Iray Uber Base shader to a book prop). The script is under /Scripts/3DCheapskate/Books/64 Book Mapping as shown below. No dialogues or pop-ups will appear, but the preview image of the book prop should now match your Texture Row/Column settings.
*You'll also notice that when you apply the Iray Uber Base shader the two hidden sliders U_Offset and V_Offset appear. These are the proxies for the identically named sliders on the Surfaces tab (which is what the icon for the reconnect script attempts to show), and they're controlled by the Texture Row and Texture Column sliders - it's more obvious to set Texture Row = 27 for the twenty-seventh row on the texture map than to set V_Offset = -0.843750 ! If you manually adjust the U_Offset and/or V_offset then the texture map will no longer align correctly with the book mesh. If you do get into this situation then you can easily get them back in step - both U and V offset should be zero when Texture Row and Column are zero.
I believe that the automatic placing of stuff into your product directory only happens when you install a product that comes directly from DAZ via one of the automated installation channels (DIM or DAZ Central) which do some post-installation jiggery-pokery.
However, any product that contains the appropriate metadata (and that includes these books) can be manually added to your product directory.
Since the process isn't obvious I included it in the readme '3DC043r1 - DS-Native Books (64 Book Mapping) ReadMe.txt', but for good measure I'll duplicate the Installation section below, with the metadata installation bit in bold, plus a couple of pictures:
Installing:
===========
Copy the contents of the 'DS Content' folder from the zip into your preferred DAZ Studio content folder.
To install the metadata (which is now in the /Runtime/Support folder of your preferred DAZ Studio content folder):
- In DAZ Studio open the context menu from the Content Library.
- Select 'Content DB Maintenance...'
- Tick just the 'Re-import Metadata...' box and click 'Accept'
- On the 'Import Metadata' dialogue find 'Books (64 Book Mapping)' under 'All Products' and make sure that it is the only item on that dialogue that has a tick.
- Click 'Accept'
- You should now see 'Books (64 Book Mapping)' under 'Content Library >Products > B'
- On 'Smart Content > Products' (and/or 'Smart Content > Files') click the 'Props' category to see the books.
If you want to make your own textures copy the XCF or PSD from the 'Extra Stuff' folder of the zip to wherever you like.
The context menu is the little icon top right of the Content Library pane, indicated in the screenshot below
Once you've followed those metadata installation instructions you should see everything you need under the Products section on your Content Library tab
And yes, I have just retested that.
(Note: I have no idea now know what the item with an exclamation mark in a triangle in a picture frame is - it appears to be grouped under 'Lost and found'. I've asked about that on a relevant thread, and worked the answer out for myself before anybody responded - the metadata includes a script file that I only needed in order to create the props ( 'AddMy4ParametersWith2ERC.dsa'). That file wasn't part of the package I uploaded because it's of no use to an end user. So the icon appears because the file doesn't exist. The solution is to simply right-click the icon and select either "Remove Reference..." or "Remove Orphaned Reference...")
Ooh, very nice! thanks.
Nearly four years later...
I've now got an adjustable wobbly bookstack figure working rather nicely in Poser, which I hope to be releasing in the next week or so as a Poser freebie
However, I've run into a basic problem with it in DAZ Studio. So if you know anything about the DAZ Studio internal workings and would like to help get this working in Studio I've made a separate post about the problems here Importing a Poser CR2 with geometry switching and morphs - all okay except morphs - Daz 3D Forums
There's a new freebie 64 book texture map available, created from images of real books found on the web.
It's ideal for people who don't have the same taste in literature as I do.
No material presets or anything like that yet for Studio, but you can just apply one of the old textures, change the texture map, and save that yourself.
It looks rather nice when used in Poser, so I guess it'll be fine in Studio too
If you want the Poser files too go here, otherwise just copy the texture map from this post:
"Vintage01" BookMap64 texture + Poser files (renderosity.com)
Vintage01 BookMap64 texture + Poser files - Poser - ShareCG
Thanks
Oh nice, will bookmark this to grab tomorrow and thank you very much for all your hard work in making this.
Thank you for this.