Freebie: A Few Books By The Cheapskate...



  • @anomalaus said in Freebie: A Few Books By The Cheapskate...:

    @3dcheapskate I've seen the "s <number>" lines in obj files, but never been sure that Poser actually parses and adheres to them. Are you confirming that they actually do work in cooperation with Poser's subdivision? (Must look at the warpy cube 8-O)

    Not for sure... it's more a faith thing, a vague belief I've built up over many years... ;o) (I don't think I've ever used Poser subdivision)

    The warpy cube is my pièce de résistance, the pinnacle of my Poser achievements. A 56 vertex / 54 face IDIC* amoeboid (N.B. it requires a renderer that does micropolygon displacement, like good/bad old Firefly or 3Delight, and probably won't work with Iray/Superfly).

    *thanks Karina for introducing me to that term



  • For the bookrow-books* mapping the covers to a small patch on the spine made sense as detail isn't necessary, just a sort of colour match.

    But I couldn't help wondering whether it would worth mapping the covers to separate, but still tiny, rectangles. (Simultaneously bearing in mind that I want to be able to simply adjust U/V offsets for the Image_Map in the material room to change which book is at the start, so the mapping size of each book needs to tile perfectly onto a 2048x2048 image)

    Here's one possibility: The entire thing is 512x64 (so 4 rows of 32 books each, 129 books in total, on a 2048x2048 image), with 40x64 front/back micro-cover images:
    0_1535956309895_1fdf2f03905915e10966fd53e469ea.jpg

    And the acid test - how does that render (PP2014 default render settings I think, with Image_Map filtering set to 'None')?
    0_1535956550901_f92815ba18da8eb1af9087cd3cf578.jpg
    I was rather impressed !

    *The main point here is that you don't expect to see the covers because of the adjacent books, and the books at the ends will be up against the ends of the bookshelves. You may see small patches if a book is larger than its neighbour, which is why I went for simply grabbing a colour swatch from the spine. And I always had the intention of doing a fully mapped 8v/6f single book to cover the situations where you are likely to see the full cover.



  • @3dcheapskate Just to clarify why I said "...I don't think I've ever used Poser subdivision..." after saying "...are ways I've used in the past to ensure that subdividing only smooths..." , which on the face of it is a bit of a contradiction ! I've never (intentionally) used Poser subdivision for any pictures I've done. But I did play with it a bit to see what happened with sharp edges and displacement and smoothing and stuff like that. Trouble is that when I play, I don't usually write things down, which is why a lot of what I 'know' is based on vague beliefs and half-remembered 'stuff I once did'... ;o)



  • Hmmm -I'm now wondering whether I could map the bookspine + micro-covers into a 256x32 area ? 8 rows of 64 books for a total of 512. But I think that may be going too far...



  • @anomalaus said in Freebie: A Few Books By The Cheapskate...:

    @3dcheapskate I've seen the "s <number>" lines in obj files, but never been sure that Poser actually parses and adheres to them. Are you confirming that they actually do work in cooperation with Poser's subdivision? (Must look at the warpy cube 8-O)

    A basic cube with 4 smoothing groups, rendered in PP2014 with crease angle=180 and Smooth Polys render setting ON - renders sort of as expected :
    0_1535969600152_smoothinggroups.jpg

    As above, but turn on 1 level of SubD:
    0_1535969713192_plusSubD.jpg

    Turn off smoothing in both render settings and object:
    0_1535969814488_smoothingOff.jpg

    So I guess the answer to that question is a resounding "No"



  • I remember a long time ago, in a manual for Poser7 (Pro),

    I read that one should ALWAYS turn OFF "Smooth Polys" in the general render settings because that's the equivalent to using a harvester for trimming some grass patches in your ornamental garden.

    Instead you should turn on/off "Smooth Polys" exlicitly in every prop or figure in the scene:

    • For figures, turn it on.
    • For props, turn it off.

    I adhered to that advise ever since then, and I never had the problems described here.

    K



  • Whenever I remember to do so, I save the props I make with Smoothing ="0" in the PP2.

    The very old ones are different, as the problem didn't occur until Poser 5 and Firefly.



  • Rules are made to be broken, and advice is made to be ignored ! ;o)

    My warpy cube is a prop, specifically designed to break rules, advice and all conventional wisdom - and Smooth Polys MUST be turned ON in render settings for it to work. QED :P

    Anyway, back to the booky stuff - I've been playing a bit more with the geometry swapping for the six rows and it's beginning to come together...
    0_1535985117866_FunWithGeometrySwapping.jpg
    The cones are just dummies to prove the principle, and to check that I've got the right files in the right places. Now I need to create a few variants for each shelf (books leaning, stacked, gaps, etc). The B.L.Render book indicated that morphs might sort-of work with the geometry swapped items, but there are provisos and caveats - so I need to try some.

    Also I think that the magnet for pulling individual books out won't work with this.
    I think I'll include that magnet idea with a separate very simple six rows prop with either predefined varying book sizes (i.e. no morphs) or size morphs of no more than around +-5%.



  • Simple tests with Geometry Swapping and MTs (using PP2014). From the Parameters tab I can load an MT whose vertex count matches the currently selected/displayed geometry. So for example I have to have the cone variant selected to load a cone morph. I can thus load morphs for each alternate geometry by first selecting that geometry. All MT dials are bundled together under "Morph" on the parameter tab - some manual grouping might be needed

    Alternatively, to keep this geometry-swapping multi-bookrow as lightweight as possible it may be simpler to have alternate geometries with pseudo-random-ish sizes,etc and NO morphs (or very few).

    ...I'm thinking maybe use a 'valueParameter' driving yTran tohandle the shelf height adjustment ?

    And this CR2 geometry swapping also works in DAZ Studio (both DS3 and DS4.9) ! ...0_1535990161889_ds3too.jpg


  • Poser Ambassadors

    @karina said in Freebie: A Few Books By The Cheapskate...:

    I remember a long time ago, in a manual for Poser7 (Pro),

    I read that one should ALWAYS turn OFF "Smooth Polys" in the general render settings because that's the equivalent to using a harvester for trimming some grass patches in your ornamental garden.

    Instead you should turn on/off "Smooth Polys" exlicitly in every prop or figure in the scene:

    • For figures, turn it on.
    • For props, turn it off.

    I adhered to that advise ever since then, and I never had the problems described here.

    K

    The render setting is a master switch that does not FORCE smooth polygons ON - it forces it OFF.

    An analogy - your main circuit breaker in your home does not turn on the lights. It allows them to turn on or stops them all. Each light has its own switch to turn on that light. If the main switch is off, however, then the individual light switches do nothing.

    Replace the word "light switch" with "smooth polygons switch" and you now will understand how this works.

    Karina - you avoided problems with smoothing by completely turning all smoothing off in render settings. What you do on a prop or figure after that is just wasting your time. Same as turning off the electricity to your house - no problems with light bulbs after that. Or turning off the main water valve in your house - no problem with leaky faucets after that.



  • How about random book colours ?
    0_1536019659386_RandomColours.jpg
    ...although the 'random' of the Cellular node's 'Random' doesn't look very random to me.



  • @3dcheapskate you could try combining multiple cellular nodes with different scales that are multiples of the number of rows and columns that you want. A lá fractal.



  • @anomalaus I hadn't noticed the repeating patterns ! I had a thread here about those a whileback - PP2014, Cellular Node: How to get rid of that godawful repeating pattern ?

    I was actually thinking more in terms of the colours themselves - they don't seem random, more like a small selection of bright oversaturated pastels (if that's not a contradiction).
    Where are the greys, the dulls, and the darks ?

    (Although creative mixing of cellulars as you suggest can probably get round that too)



  • Getting back to the six-rows figure with the geometry swapping,I've been doing some thought experiments...
    Since the morphs for every variant of every shelf/row will be in the CR2 that could defeat the 'light-weight'-ness of the prop. So I think rather than morphs I'll just go for a larger number of morphless alternate geometry variants for each shelf, each incorporating random-ish variations in book sizes, and/or subgroups of leaning books, and/or subgroups of small stacks of books, and/or gaps, and or non-book shelf clutter.

    So I create an alternate geometry mesh for the bottom shelf (bottom-left-rear corner of the first book at the origin,assuming it's standiing normally and not leaning/stacked), UV-mapped to the spine/book textures for the bottom row, and save it as an OBJ file. But now that I have this new OBJ, why not also use it for a completely separate prop, possibly with morph targets?

    What if I want to use that same alternate geometry for the second shelf up? Can I do that? In Blender I need to move the mesh upwards from the bottom shelf position to the second shelf up position, remap it to use the spine/book textures for the second row up (that's actually very easy), and save it as another new OBJ...
    So, I started wondering if there's a way that I can use the same alternate geometry OBJ I've already just done for the bottom shelf instead? Here's the bone structure I'm using (note that I have 'Bend' unticked on the Properties tab of each shelf, so I can totally ignore all those joint bend/twist/zone thingies):
    0_1536073620103_dembones.jpg
    But maybe if I had the six 'shelf' bones in exactly the same position (i.e. the bottom shelf) and simply used the yTranslate for each shelf bone to move it up to the correct position?* I think that would work (haven't tried it yet though) - I'd probably have a 'Shelf Separation' valueParm on the Body to drive the yTranslates of each shelf...
    But the OBJ was UV mapped to the bottom row, and I'd now want it mapped to the second row from the bottom. This is a simple U_Offset to the texture map (I don't think I've actually posted the map on this thread, but if you look at the Image_Map with the book-titles on my "How about random book colours ?" post, a couple up from this one, you should see what I'm on about). But can I automate the setting of U_Offset in the materialwhen I spin the altGeom dial and Poser loads an alternate geometry. Maybe Parmatic?

    Like I said, just thought experiments at present...

    *this may possibly break rules, advice and all conventional wisdom, but who cares ?



  • @3dcheapskate here's another experimental thought. Although per-book morphs are not lightweight (unless your obj has very few vertices, which purely box-shaped paperback books could be), per book animated origins are. Since you'd only have two axes to animate, in order to move a book's origin from front to back cover, and from spine to leaf edges of the bottom. Once you have those axes slaved to two value parameters (and the origin movement can also be influenced by scaling, to the books can be thicker or deeper, and the origin movements will still adhere to the edges), the book's own rotation dials can do away with any need for deformers to tilt them out or side-to-side.



  • @anomalaus I don't quite follow that, so I'm probably missing something...
    In my current six-rows figure each row of 64 books is a single mesh - so surely the origin, rotations, and translations will work on the whole row of books, not just one book.



  • @3dcheapskate yes, sorry, it was relevant to the single book mesh, not the single-prop stack or shelf-full of book(s) prop. My suggestion was more to do with additional streamlining for a single book, which doesn't require a deformer to adjust it's attitude on the shelf, but where it's rotations need to occur about different origins, depending on the sign of the rotation angle, whether side-side or front-back. For a single-prop row of books, a side tilt would need to be a morph, and the prop would have to have enough vertices to show the tilt of individual books; probably not worth the trouble.

    Moving a stack or row of individual book props though, could be much simplified by parenting them all to a grouping object and moving that. It can also act as a master visibility switch, if you animate the visibility of the grouping object.



  • @anomalaus Thanks - for once I wasn't missing something ! ;o)
    And your suggestion about an animated origin is now lodged somewhere in my brain for future use...



  • For DS users mCasual has finished mcjTheLibrarian - https://www.daz3d.com/forums/discussion/comment/3929771/#Comment_3929771



  • I've now done atexture with 41 different books for the original prop release. Here's what the result looks like:
    0_1536599495316_books.jpg
    ...and here's the 2048x2048 JPG texture (simply download, save, and apply to the existing prop)...
    0_1536599565703_BookRowUV01-Texture2.jpg
    And I really do need to use one of the alternative UV mappings for the next iteration/release.