Freebie: A Few Books By The Cheapskate...



  • @anomalaus I'd imagine that books of Vogon poetry would have a certain Dali-esque look to them, slowly dribbling off the shelves ?

    I've also been considering adding a few boxed sets (not of Vogon poetry though):

    • Yves St. Asimov's "Foundation" series (just the original trilogy): "Foundation", "Foundation And Blusher", "Second Foundation"
    • Frank Driedfruit's "Prune" series: "Prune", "Prune Messiah", "Children Of Prune", "God EmperorOf Prune", "Laxatives Of Prune"
    • G.P. 'Doc'McCoy's "Shelduck" series: "The Shelduck Of Space", "Shelduck Forty Two", "Shelduck On Valium", "Shelduck DuQuack"


  • Next step - create a similar set of bookstacks, with bookstack-type morphs. I think that perhaps a 16-book stack may be a suitable maximum size ? So 16, 8, 4, 2, and 1 ... errr, not sure whether I actually need a single book stack - the single book props in the stuff I've just released should do, shouldn't they ?

    And then create more of the combination props (non-adjustable), with some books leaning,others stacked, etc.



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

    • Yves St. Asimov's "Foundation" series (just the original trilogy): "Foundation", "Foundation And Blusher", "Second Foundation"

    Ohhhh, my all time favorite Sci-Fi book series. ~wink~



  • Just had a thought about stacks, and the problem of linear morphs being unsuitable for rotations...
    0_1547564490414_StackFigure.jpg
    The key seemsto be to untick 'Bend' for each bone. Then you can use X/Z-Translate to move each book left-right/front-back and Y-rotate to turn each book...



  • @3dcheapskate since each book prop is an instantiation of the same object, could you not just use valueOperations on the first book in the stack to control rotations and translations of the others, then no additional morphs are required to be subject to linear interpolation of a rotation morph?



  • @anomalaus When you say instantiation are you speaking generally or (as I suspect) are you referring to a specific software feature of Poser 11**... that wasn't available in Poser 6, 8, 9, or PP2014 ?
    ( I'm creating these props in Poser6* - just to be awkward :oP )

    *I like Poser 6 - I think it was the last version that didn't require Adobe Trash for the library.

    **I do have Poser 11 but I never open it - PP2014 is my main work-horse. Poser 6 is just for making people think "The fool!" ! ;o)



  • @3dcheapskate heh, no, I'm just referring to the concept that multiple "instances" of the same prop loaded into a scene can all refer to the same wavefront obj file. To my knowledge, Poser has yet to exhibit any form of procedural instantiation, like automatically populating a scene with multiple plant props which would all respond to changes to a master. One could, conceivably, use a figure to build such a structure, with one prop as each body part (and I don't mean following the human body hierarchy).

    I have done such things with tree props, and a lot of valueOperations to deliver equal spacing and rotations. Much like what you're doing with book props.
    0_1547624942338_Screen Shot 2018-06-01 at 7.53.21 am.png



  • @anomalaus "...multiple "instances" of the same prop loaded into a scene can all refer to the same wavefront obj file..." - that would be the situation if you loaded N copies of one of the 1-book props: at least it would if I'd remembered (in truth, if I'd been bothered) to extract the geometry from the Poser-generated PP2 and put it in an external OBJ - which I didn't.

    If you loaded one of my 1-book props and then loaded several more of the same 1-book props, parenting each to the first (or the previous) you'd end up with a lovely stack of... identical titles.Of course, you could then manually set the U/V offsets for each,but that rather defeats the purpose of having the basic 64-book mesh having each book mapped to a separate part of the UV-map.

    The multi-book N-book props released so far all have separate (but identical - although offset in both world-space and UV-space) geometry for N separate books.

    The picture in my previous post was what you suggested, turning an existing 4-book prop into a figure,one book per bone (a bit of fiddling required) to see what problems that approach would have.

    Still playing,still having fun ! :o)



  • @3dcheapskate ah, yes, but the UV offsets themselves can be animated and driven by valueOperations from the master, as well.

    Your multi-book props could easily have each book refer to the same extracted obj file. They just need to have incrementally different versions of the material (each one has to have it's own unique animated shaderNodeParm to control the U(V) offset, assuming you have the titles all in a single row along the U axis).

    Anyway, regardless, as you've stated yourself, the main point is to have fun while doing something. X-D



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

    @3dcheapskate ah, yes, but the UV offsets themselves can be animated and driven by valueOperations from the master, as well...

    I'm going to have to give that a try too - it sounds like fun ! :o)



  • Manually adding deltaAddDeltas is too error prone, especially if you have a dodgy keyboard like me, and the 'Create New Master Parameter /Start Teaching stuff in Poser doesn't do deltaAddDeltas does it ? So I got out the hammer and chisel and chewing gum and string and starting knocking my Freazypose script about a bit...
    Here's me playing with it in PP2014:
    0_1547794878737_test.jpg
    That delightfully named '07HB+Jx01_5' slaved prop isn't parented (except to the UNIVERSE), and I was rather surprised to find that if I saved all five books as a prop and reloaded that prop, the slaving still worked (but not in Poser 6) - even when I loaded two copies of the prop.

    A little play with slaving material U/V offsets next perhaps ? And I think a bit of parenting is necessary too.



  • @3dcheapskate no, that's an unfortunate drawback of the Dependency Editor. It can create new valueOperations, but will always default to Keyed, if there are no other valOps in the list. If you already have a deltaAdd dependency, then selecting that will allow the Start Teaching to create new deltaAdd valOps.

    Most of the time, I resort to manually creating deltaAdds in the Python Shell

    valOp = parm.AddValueOperation(poser.kValueOpDELTAADD,srcParm)
    valOp.SetDelta(1.0)
    

    where parm is the slave parameter, and srcParm is the master. Adjust the delta value as required, and that's all that needs to be done.



  • Pythons don't have shells - you must be thinking about snails...
    (unless they're hermit pythons perhaps?)



  • I'm slowly* beginning to see what anomalaus has been talking about. Making a stack of books out of multiple copies of a single book prop and slaving the parameters of books 2, 3, etc, to book 1 does appear to work - but not in Poser 6 (which is where I think my brain is stuck and a large part of my confusion lies).
    I also installed Parmatic ages ago, but I did that in Poser 6 too (I didn't see anything specifying the minimum Poser version on bagginsbill's Parmatic page ). But manually (using an old 'Rename Node' wacro) trying to rename material nodes to start with 'PM:' didn't work because the ':' was automatically changed to a '_'. So I got side-tracked onto something else... and promptlyforgot about what trying Parmatic.
    So what's the minimum version of Poser for Parmatic ?

    I've also just found a thread here at SM about Animating Shader Values via Python which I need to read a few times.

    *Yes, I'm very slow. I remember the best boss I ever had telling me that I had two speeds - dead slow and stop. My immediate reaction was "Oh lord, I've been working too hard!" ;o)

    Personally I never go near the Python shell. The combination of my dodgy keyboard, my cack-handed typing skills, and my wonky brain mean that I never, ever (... ever) get things right first time. Even if it's only two lines I always write a script and save it, check it a few times, correct it, resave it, and finally run it. Then I look at the inevitable errors in the debug window and correct it, resave it, rerun it... repeat...)



  • Sidetrack: CDs or DVDs.
    Over on the ShareCG page for the most recent upload I've had a request for a row of CDs/DVDs.
    The Minimalist Paperback (07MPB - 8 vertices/6 faces per book) with xScale=49%, yScale=71%, and zScale=133.5% makes each 'book' the standard CD/DVD case size (i.e. 0.9 x 12.5 x 14cm) which might suffice for background stuff. A white (or black) line around each spine on the texture might suffice to give the impression of a white/black plastic case.
    But I can't help wondering if I can do something to a bit better.
    So start with a box inside a box, putting the existing bookrows texture on the inner box, and doing something to make the outer box look a bit more like transparent plastic.
    Here's three identical box meshes with the same mat on the inner box.

    • The leftmost one uses 0.5 transparency on the outer box. Unrealistic.
    • The middle one uses bagginsbill's beerglass mat on the outer box. Inner box is in shadow of outer- unrealistic.
    • The rightmost one is the same as the middle one, but with 'Cast Shadows' UNticked. No shadow at all- unrealistic.
      Different problems with each.
      Any thought, comments,suggestions very welcome.
      0_1548222440881_Render 1.jpg


  • A bit more playing with the CD/DVD,basically separating the case from the inner bit to get around that cast shadows thing.
    Thoughts, comments ? Yes, it does look like a huge block of perspex with stuff embedded in it !
    0_1548495939749_CDtest.jpg



  • Back to the books. I thought I had it sorted - using multiple single-book props, using a master dial on the first book to define a global V_Offset into the texture map, individual (slaved) dials on each book to define individual offsets from the global one, and Parmatic to update the actual V_Offset values in the Image_Map material nodes.

    Four slightly modified versions of my single HardBack with Joint prop (07HB+Jx01.pp2) with the second, third and fourth parented to the first. Saved as a single prop (from PP2014). I tried to include the PP2 for all four books (1726 lines including the final blank) inline in this post, but it's too big (the post editor doesn't tell you that until you click 'Submit'. I'll find an alternative place to upload it and post later to tell you where it is.

    The modifications are that

    1. the BOOK_0_TO_31 and COLUMN_0_OR_1 nodes in the materials are now Parmatic nodes (i.e. prefix 'PM:' attached)...
    2. ...and each book has the corresponding PM:BOOK_0_TO_31 and PM:COLUMN_0_OR_1 dials in its parameters tab
    3. There is a 'BookOffset_0_to_32' dial in the parameter tab of book 1 only (07HB+Jx01_1) to which all four books' PM:BOOK_0_TO_31 dials are slaved with a deltaAddDelta value of 1.

    A picture speaks a thousand words, so here's a picture. Annotated with some extra words of explanation.
    0_1548588557455_fourbooks.jpg

    So, starting from where the annotations on that picture end...

    In PP2014 I change 'BookOffset_0_to_32' from 0 to 10.
    The PM:BOOK_0_TO_31 dials in the parameter tabs of all four books change correctly.
    (The PM:BOOK_0_TO_31 in the matertials don't change because I haven't run parmatic yet)
    First book selected, run Parmatic Updater, render... big surprise, it's exactly as before!
    Weird. Go to the Material Room - PM:BOOK_0_TO_31 shows as 10,the correct value for the first book. Go back to the Pose Room and render - the first book is now correct.
    Hang on, this smacks of an old material-not-updating-unless-you-manually-enter-and-leave-the-material-room problem...
    Select the fourth book, go to the material room, value is 13 which is correct, go back to the Pose Room, rerender- fourth book is now correct too.
    If I try to be clever and go back into the material room with the fourth book selected,and in the material room select the third book and then the second book I see that they both still have the wrong (i.e. the old) values, but when I return to the Pose Room and rerender one of them is now correct.
    Oh Lordy !



  • I've started a separate thread here on the SM Poser forum for the fun I'm now having with CDs and DVDs - Rows And Rows Of CDs/DVDs - Trying To Make A Simple Model For... - s I can avoid cluttering upthis thread with stuff about transparency.
    I haven't seen many transparent books. :o)



  • The prop file mentioned in the post before last (FourBooks.pp2) is now uploaded to the relevant DAZ thread at this post



  • A slight aside:
    If anyfoolbody is interested I've uploaded the current (and probably last) incarnation of the ropey script that I was playing with 13 days ago. It does what I wanted - it even lets me select not-the-current-actor as the master (I can't believe how many times I had the wrong actor selected when I ran it)

    It's now at ShareCG and it's called 'AddDeltaAddDeltas'... because it's purpose is to add deltaAddDeltas.

    It's probably the ropiest script I've uploaded - I didn't even do the usual 'tidy it up a little bit because we have visitors'.

    (In truth the main reason I uploaded it was so that I could do a picture of a python with sunglasses)