Wouldn't It Be Nice If SmartProps Worked With More Than Just One Figure...
N.B. my "post #123" type links don't work because the new forum software introduced in late 2014 broke them all. It destroyed all my careful cross-linking. Bug report 184071 (basically "Please fix the old style links!") raised Jan 2015 is still open... but I reckon on seeing pigs flying over a frozen hell before that gets done.. ;o)
Latest News On This Project
22nd Apr 2020: Just realized there's a UAC problem in the Poser version - this post. Why didn't anybody tell me ? You've had 4 years !
28th Mar 2016: Poser SmartPlus Prop Helper Scripts Rel3 Ver1 - this post.
27th Mar 2016: DAZ Studio SmartPlus Prop Helper Scripts Rel3 Ver1 - this post.
29th Jan 2016: Poser Smart+ Props Stuff Release 3 Core - this post , and DAZ Studio Smart+ Props Stuff Release 3 Core - this post
Current to-do list (which I'm updating mainly for my own benefit) now on this 24th February 2016 post - (old link removed)
Separate thread for list of supported figures - Smart+/PropGoto+ List Of Supported Figures
Separate thread for list of supported standard props - Smart+/PropGoto+ HANDPROXYDATA list
Original Post Starts Below...
Wouldn’t It Be Nice If SmartProps Worked With More Than Just One Figure...
How about smartprops that work with around 50+ different figures?
Smartprops that are smart enough to automatically apply an appropriate hand pose?
That's the idea behind the five Smart+ Poser props, the PropGoto+ Poser pose file, and the associated PoserPython scripts in my latest "Generic Smart+ And PropGoto+ For Poser 6+" freebie upload (N.B. DAZ Studio version also available - see links at the topof this post)
- ShareCG: http://www.sharecg.com/v/75429/gallery/11/Poser/Generic-Smart+-And-PropGoto+-For-Poser-6+
- Renderosity Freestuff: http://www.renderosity.com/mod/freestuff/?item_id=73724 I've removed all my freebies from Renderosity
Five Smart+ Props included:
- Dha (S.E.Asian sword)
- Three S.E. Asian shields
- A water jar scoop
PropGoto+ allows you to:
- Move a previously loaded Smart+ prop from anywhere in the scene to any supported figure's hand, including from one hand to the other, or from one figure's hand to another figure's hand.
- Move an ordinary prop (i.e. non-Smart+) in the same way as a Smart+ prop by using a Smart+ 'DummyHand' proxy (this is a little bit more complex, but once you know how it's very easy - instructions included in the PDF User Guide, and a couple of helper poses/scripts are included to make it easier)
Three PDF guides included:
- A User Guide - the basics
- A Datafile Guide - how to edit the datafile to add support for new figures, adjust parameters for existing figures, and delete figures you never use.
- A 'Make Your Own Smart+ Props' guide - intended for people who use many different figures, and want to convert their existing props to work with the Smart+/PropGoto+ functionality.
Supported figures with the default release 1 datafile :
- DAZ Gen 1-2: Aiko, Michael 1/2, Stephanie, Victoria 1/2.
- DAZ Gen 3: Aiko 3, David, Hiro 3, Laura 3, Luke 3, Michael 3, Stephanie Petite 3, The FREAK, The Girl, Victoria 3.
- DAZ Gen 4: Michael 4 (and Hiro 4, The FREAK 4), Victoria 4 (and Aiko 4, She-Freak 4, Stephanie 4, The Girl 4).
- DAZ Gen 5: Genesis (original base figure only).
- Poser 5: P5 Don, P5 Judy.
- Poser 6: P6 James, P6 Jessi, Miki2, Miki4.
- Poser 7: G2 Simon, G2 Sydney, G2 James, G2 Jessi.
- Poser 8: Alyson, Ryan.
- Poser 9: Alyson2, Ryan2 (and Tyler).
- Sixus 1: Adam2, Behemoth, Behemoth2, HER, HIM, Project Human Female, Project Human Male, Thrusty.
- Kirwyn's: K, KEZ, KEZ-WM, KOZ-WM.
- Others: Antonia, Apollo, Cynthia (BVH), Dawn (Hivewire), F202 Dollie, MayaDoll, The Princess/Heroine (Dark Anvil)
Release 2 added these ten additional figures:
- Orc, Goblin, Dwarvez, Anime Girl Kristin, Britta, Scrum, PollyGon, DarkWhisper’s Sara2, PHF LoRes Female, Genesis 2 Female
Comments
This sounds really useful. Even reposing a firearm can be a real pain.
Hmmm... I hadn't actually considered firearms. The prop positioning/orientation and handgrip is targeted at props with a cylindrical handle/grip a couple of centimetres in diameter - swords, hammers, etc. Or the bright orange stick in the promo/icon!
However, if you make a slight manual adjustment to the index finger afterwards, it should work...
I've run into a couple of minor problems doing the DS version (one was a phantom, only in my head! The other means that the user'll have to say whether the prop they're using PropGoto+ on is Smart+ or not).
But while doing some screenshots to try and make sense of the phantom problem I realized that you can use Vicky as a proxy so other figures can snatch her smartprops...
1) Loading Vicky, loading her smartprop into her hand, then selecting just Vicky.
2) Loading the Smart+ DummyHand into Vicky's smartprop hand.
3) Manually parenting the prop to the DummyHand.
4) Selecting one of the non-Vicky figures and the prop (not the DummyHand)
5) Running PropGoto+
Tell me about it. I spent a long time yesterday trying to pose a long sword.
I've been asked about adding support for other figures. It's rather easy really - you simply add five lines per figure to the 'SmartPlusData.txt' file. The procedure is explained in the 'Datafile Guide' PDF, and I've even included a utility script that will print the parameters for the HANDGOTO and RODGRIP datalines so you can just cut-and-paste.
Currently the only requirement for support to be possible is that the figure has the standard hand and finger bones - rHand, rThumb1, rThumb2, rThumb3,...rPinky1, rPinky2, rPinky3 (and just by chance, the utility script will crash if the figure doesn't have the required dones in their hand - one way to check!)Out of all the figures I've tried only PollyGon and Anime Girl Kristen don't meet this criterion. (Edit April 2015: Release 2 does away with the requirement for standard hand and finger bones. PollyGon, Anime Girl Kristen, et al are now supported)
Here's the figure support data for three additional freebie figures. (N.B. Each of the five lines need to go in the appropriate section (sections are identified by lines beginning with a colon. And each section must have exactly the same figures in exactly the same order. I've added them to the end of my list, but I think they can go anywhere as I don't see any name-clashes for the OBJ/CR2 against existing supported figures):
# Sixus1 Dwarvez (limited time freebie from the Sixus1 site)
:FIGUREIDS
Dwarvez
:FIGUREMATCHESOBJ
Dwarvez,DwarvezUpdate
:FIGUREMATCHESCR2
Dwarvez,!Dwarvez
:HANDGOTO
Dwarvez,10.0402,-0.0213,-58.9653,-0.2149,0.2769,-0.0099
:RODGRIP
Dwarvez,0.0,0.0,0.0,-7.0,-33.0,0.0,0.0,-51.0,0.0,0.0,-14.0,0.0,-14.0,-7.0,55.0,0.0,0.0,56.0,0.0,0.0,42.0,0.0,0.0,68.0,0.0,0.0,43.0,0.0,0.0,
27.0,0.0,0.0,60.0,0.0,0.0,49.0,0.0,0.0,30.0,0.0,-2.0,37.0,0.0,-7.0,58.0,0.0,0.0,38.0
# Sixus1 Goblin (ShareCG)
:FIGUREIDS
Goblin
:FIGUREMATCHESOBJ
Goblin,Goblin
:FIGUREMATCHESCR2
Goblin,Goblin
:HANDGOTO
Goblin,0.034,-3.0502,-89.9544,-0.2281,0.2763,0.0084
:RODGRIP
Goblin,0.0,0.0,0.0,0.0,0.0,58.0,0.0,-46.0,0.0,0.0,-32.0,0.0,0.0,0.0,79.0,0.0,0.0,101.0,0.0,0.0,29.0,0.0,0.0,79.0,0.0,0.0,94.0,0.0,0.0,31.0,0.0,
0.0,81.0,0.0,0.0,83.0,0.0,0.0,32.0,0.0,0.0,70.0,0.0,0.0,77.0,0.0,0.0,27.0
# Sixus1 Orc (ShareCG)
:FIGUREIDS
Orc
:FIGUREMATCHESOBJ
Orc,Orc
:FIGUREMATCHESCR2
Orc,Orc
:HANDGOTO
Orc,2.998,0.0,-90.0,-0.414,0.4949,0.0219
:RODGRIP
Orc,0.0,0.0,0.0,0.0,-37.0,30.0,6.0,-53.0,-18.0,0.0,0.0,-12.0,0.0,0.0,69.0,0.0,0.0,74.0,0.0,0.0,51.0,0.0,0.0,42.0,0.0,0.0,92.0,0.0,0.0,44.0,0.0,
0.0,73.0,0.0,0.0,92.0,0.0,0.0,40.0,0.0,0.0,67.0,0.0,0.0,107.0,0.0,0.0,55.0
(N.B. the RODGRIP dataline for each figure is a single long line. I've only split them across two lines because the forum can't cope gracefully with it all on one line)
P.S. If anybody adds support for any other figures please feel free to post the five lines here.
A couple of hundred downloads in total so far, and no problems reported yet... so I'm working on the basis that 'no news is good news'! :)
Seriously - if anybody runs into any problems (anything from script crashes to bad grammar in the PDFs to bad Python) please let me know and I'll try and resolve it. After I've released the DAZ Studio version (ETA hopefully later this week, maybe next week) I plan to do an update to the Poser version. Two items planned so far:
- a fix to the 'Smart+ prop not deleted/saved with figure' known problem
- a mod to allow it to work for figures without articulated fingers
Edit 18th April: Minor delay to the DS version - sanding/painting doors and windows in another world is sapping all my energy at present...
Finally got there - DAZ Studio version released and uploaded to ShareCG as Generic Smart+ And PropGoto+ For DAZ Studio 3+ (and on the way at Renderosity). I've removed all my freebies from Renderosity
Basically it's the same as the Poser version but done in DAZ Script instead of PoserPython.
Tested in DS3.1.2.32 and DS4.6.1.17 on a Windows 7 PC
N.B. All Smart+ Props are currently in Poser native format (i.e. PP2 files) - I haven't got round to creating any DAZ Studio native Smart+ Props yet.
Excellent stuff, shall grab this right away! :) Thank you!
Just in case anybody hadn't realised - if you're using an ordinary prop and the DummyHand proxy you should only need to do the setting up once. But I just realized there might be a problem in DAZ Studio:
- In Poser, once you have the prop positioned correctly in the proxy (and parented to it), simply save the proxy and prop together as a single prop to your prop library. In future you can load this new prop (it will load at the origin with the prop parented to the proxy), select the prop (not the proxy) and your figure, run the PropGoto+ pose script, and it'll parent correctly to any of the supported figures.
- In DAZ Studio 4 it's File > Save As > Scene Subset, and select the prop and proxy.
- But in DAZ Studio 3... well, I'm not sure. I always save my proxied props from Poser 6, and then simply load the PP2 in DAZ Studio - so I'd never tried saving props in DAZ Studio. I don't have the foggiest idea how you save a prop and its child prop in DAZ Studio! If anybody can enlighten me I'd be delighted!
(Edited to specify that DS3 is the problem)
In DS3 File > Save As > Scene
Unfortunately that has no option to select specific items. And it doesn't matter what items you've got selected, it saves everything - all the lights, figures,cameras, etc. (I just tried it again to be sure, as I often get things wrong!)
How do you save JUST a single prop and it's child in DS3? As far as I know it's not possible.
Unfortunately that has no option to select specific items. And it doesn't matter what items you've got selected, it saves everything - all the lights, figures,cameras, etc. (I just tried it again to be sure, as I often get things wrong!)
How do you save JUST a single prop and it's child in DS3? As far as I know it's not possible.
Ah, right, you can't create a smartprop in DS3.
Ah, right, you can't create a smartprop in DS3.Nope only done in Script in DS3. As far as I know.
Writing a script to export a prop from a DS3 scene as a PP2 shouldn't be too difficult - but to save reinventing the wheel (and coming up with a square one!) does anybody have a ready-made 'Save Prop' script for DS3?
DSA, free, and unrestricted use of course! (PFE only does poses).
Just started working on a minor update to the Smart+/PropGoto+ scripts, so if anybody's had any problems now would be a good time to mention them!
1) Adding support for figures without the standard hand articulation. I'm allowing two alternative RODGRIP dataline formats - one that tells the script to load an HD2 hand pose (why didn't I think of that originally?), and the other that tells it not to bother with any hand pose.
2) Add the workaround to properly smartparent props in Poser, so they'll be saved/deleted along with the figure
3) Fix the materials in the DSA files
4) A few other minor odds and ends I've spotted...
Great, i have downloaded it but have not started to use it yet. I would like support for those Sixus1 figures (Dwarvez, Orc, Goblin) to be added please. Thanks for making DAZ studtio version btw :)
Yep, I'll be including those in the datafile. I've also found Sixus1's old Britta, Scrum, LoRes Female {edit: the 'Adam'I found is the same as Adam2} freebies in one of my runtimes so I'll add those too. And with the alternative RODGRIP dataline formats I'll be able to include support for the two free figures I was unable to do before, i.e. PollyGon and Anime Girl Kristen.
{Edit: Also found DarkWhisper's Sara2}
The option to let the script apply a hand pose from a Poser HD2 file is now basically working, although in DAZ Studio I can't find a way to avoid an unnecessary 'Select Hand' dialogue from appearing...
(I've also got DS-native, i.e. DUF file based, Smart+ props more-or-less working now, and I think I've got a way round the final problem I know of with them...)
Awesome, i am bit new to DAZ Studio but all those figures are very usable and i will try to use your script soon i hope. I was planing to use some weapons from Behemoth figure on some other one probably Genesis1, is that possible?
Yeah, certainly! The original Genesis base figure and Behemoth are both in the supported figures list. It's always been possible (in both DAZ Studio and Poser) to use any prop with any figure... (well more-or-less) - you've always been able to move a prop into the hand of any figure, adjust its rotations so it looks right, apply a hand pose, and reparent the prop to the new figure's hand.
But it's always been a bit tedious, and a bit of a PITA to have to do that every time!
This stuff is just intended to remove as much of the' tedious PITA' bit as possible!
Ok, that sounds really good. Thanks for all that i think it will be useful :)
Just a quick 'progress update' for anybody who's interested:
I've been a bit distracted for the past month - for the first time ever really I've been seriously churning out renders! All great fun for me, but the downside is that the Smart+/PropGoto+ update has taken a back seat. But I haven't forgotten about it :
- I've added support for PollyGon, Britta, Scrum, Sara, Genesis 2 Female, Project Human Lo-Res Female, and Anime Girl Kristin (plus Orc, Goblin, an Dwarvez)
- Updated versions of both DAZ Studio and Poser versions of the script are now working on my system. The hand grip can now be specified as 48 separate rotations, a Poser HD2 hand pose file, two cut-down Poser PZ2 pose files, or left out completely.. The scripts are spewing out loads of debug, and need a good tidy-up now.
- I still need to update the Datafile Specification document, but I won't bother changing the other documents.
Still no ETA on the update - mainly because I'm still having far too much fun rendering to concentrate on it!
~~~~~~~~~~~~~~~~
I've also had the idea that when you first use the DummyHand proxy to get a standard prop to work with PropGoto+ it should be possible to add that data to the datafile. Then in future if you select that prop, the script could say 'I already know how to proxy that' and do all the DummyHand proxying stuff without the user having to bother about it. From the user's perspective it would seem that the standard prop was behaving like a Smart+ prop.
Of course it's not quite as straightforward as that, but once I've got the current update released that'll be the next improvement, fingers crossed!
Release 2 (Both Poser And DAZ Studio Versions)
Yes, I've finally uploaded the second release of my Smart+ Prop / PropGoto+ stuff.
Apologies that it's taken soooooo long - about a year ! Maybe somebody will think it's worth the wait...
Main changes:
Both versions:
- The Smart+ props and PropGoto+ will now work with figures who don't have articulated hands, or who don't have the standard hand bones (the version 1.01 SmartPlusData.txt file allows three additional RODGRIP dataline formats).
- Ten additional figures have been added to the SmartPlusData.txt file - Orc, Goblin, Dwarvez, Anime Girl Kristin, Britta, Scrum, PollyGon, DarkWhisper’s Sara2, PHF LoRes Female, Genesis 2 Female
Poser version only:
- Smart+ props will now be deleted/saved along with the figure in the same way as manually parented props.
DAZ Studio version only:
- The DS4 native DUF format Smart+ props (originally released separately) are now included
- The DSA scripts that apply DS materials when you load a Smart+ Prop via the PP2 have been corrected to apply the proper materials.
Downloads:
Poser version (full release 2):
- From ShareCG: Generic Smart+ And PropGoto+ For Poser 6+ (Rel 2)
- From Renderosity: Generic Smart+ And PropGoto+ For Poser 6+ (Release 2) I've removed all my freebies from Renderosity
Poser version (updated files only):
- From ShareCG: Generic P6+ Smart+,PropGoto+ (Rel 2 UPDATE ONLY)
- From Renderosity: I've removed all my freebies from Renderosity
DAZ Studio version (full release 2):
- From ShareCG: Generic Smart+,PropGoto+ For DAZ Studio 3+ (Rel 2)
- From Renderosity: I've removed all my freebies from Renderosity
DAZ Studio version (updated files only):
--- not yet available ---
I've been doing a lot of renders over the past year, and not doing much work on models, textures or scripts. One very positive thing to come out of it is that I now have a much better idea of how my stuff works from a user's perspective.
For example - I've realized that the manual procedure for putting a standard (non-Smart+) prop in the dummy hand is rather more tedious than I'd imagined. Even the 'snatch the prop from V4' approach isn't as easy as I'd hoped.
So I think that the next step with this Smart+ stuff is to include data* for a number of popular hand-held props in the Smart+ datafile. With some small (hopefully!) modifications to the PropGoto+ scripts they should then be able to do the tedious dummy hand proxying stuff automatically. Users would of course be able to add prop datalines for their own favourite props.
No ETA, and fingers crossed that I don't run into any problems...
*just the X/Y/Z translations/rotations required to position the prop in the zeroed dummy hand, plus the internal name and geometry filename
Thank You, I have to admit that I haven't tried this but downloaded previous version. Will download new one for DS and try testing it but not sure when as I am now busy :), but good thing is to see new figures supported especialy S1 and I am hoping that it might be improved. Will try making some renders soon at least then I might give it a go :)
Well, I'll be a gobsmacked crow-stoned monkey's uncle ! It works ! My Poser Development Version Can Now Put The M4 Journeyer Scout Katana Into Any Figures Hand!
All it needed was a few mods to the script and the following line in a new section of the datafile...
:HANDPROXYDATA
JScoutKatana,JScoutKatana,JScoutKatana,-185.0,-46.0,0.0,0.067,-0.304,0.37
(Please note: this will ONLY work on MY system at present since it needs the script mods too)
My first go at modifying the Poser version of the script... works ! None of my script mods has EVER worked first time before !
I ran Poser 6 (yes SIX) with James Casual, loaded the M4 Journeyer Scout katana (the 'In Sheath' variant) and ran my updated script. It didn't crash. I got the dialogues I expected, and the katana ended up beautifully parented to James hand.
I couldn;'t believe my eyes. So I restarted Poser 6, loaded the Sixus1 Dwarvez figure, and took screenshots of every step and every dialogue. And yes indeed, the katana ended up beautifully parented to the little chaps right hand.
I think that proves the principle... Backup time to make sure I don't lose it !
Then some tidying up and a bit more testing. Hopefully the DAZ Studio version will be as easy too...
That sounds good, I am waiting for DS version. Thanks again for S1 figures I need to download them all again and sort. Then I will try using them, but I might try this tool soon if it works. Actualy I think it might be a very good tool to learn to use :)
Well... believe it or not, I've just got the basics (same as the above Poser post) working in the DAZ Studio version !
So a quick backup, then off to bed. Before I mess things up! :D
First job this morning - check that the DS version is still working... ;o)
Yes indeed - the basics work (DS3 screenshots below). So now it's time to do a bit more playing, bug-chasing, and fixing the problems that will inevitably occur.
Found a couple already, some Poser-version-specific, some DAZ-Studio-versions-specific, and some common to both...
I have to say that those pictures help a lot :) Thank You for Your work.
Ok, I will be partialy free this friday but as we have Easter in Sunday I guess that is the time I will try to use it, and then I have 2 more day also partialy free. But I am expecting to use tutorial for Shape Magic with cottage and this hoping to maybe make a render of a character near cottage with some prop in hands. I was thinking about millenium dragon 1 and 2 too but ;) probably will try to do that too, adding some freebies to dragon and will try to play with it a bit too.
Anyway looking forward to use it ;) wish You good luck with making that. Wish I know how to do things like that :D
Progressing well already. Fixed a number of simple mistakes in both Poser and DAZ Studio versions. Both versions of the M4 Journeyer Scout katana (the 'In Sheath' and 'In Hand' versions need different parameters) seem to be working fine with my Poser development version (testing in Poser 6 at present), but the 'In Hand' version is ending up wrongly positioned in the DAZ Studio version. I think I know why, but getting to the bottom of it is taking a bit of time...
A Poser 6 render of Sixus1's Dwarvez and the original Behemoth, plus Chris Schell's Anime Girl Kristen each holding an 'In Sheath' and 'In Hand' M4 Journeyer Scout katana is attached. I simply loaded the six katanas, and then selected a katana and a figure and ran my dev script. It worked beautifully. So time for another backup of the Poser version, and a bit more digging in the DAZ Studio version.
For anybody who's interested here are the two datalines. The numeric parameters are in the order yRot, xRot, zRot, xTran, yTran, zTran with rotations in degrees and translations in Poser units. They're the values I got from the prop after manually positioning in a dummy hand proxy in accordance with the still-rather-tedious procedure in the documentation. And I'll never have to do it again for the Journeyer Scout katana!
:HANDPROXYDATA
Journeyer Scout Katana (In Hand),JScoutKatanaInHand,JScoutKatanaInHand,75.9741,22.9775,-10.0,0.571,0.089,-0.38
Journeyer Scout Katana (In Scabbard),JScoutKatana,JScoutKatana,-185.0,-46.0,0.0,0.067,-0.304,0.37