V3/A3/GV3 Pose Transfer to G8F

richardandtracyrichardandtracy Posts: 5,729
edited November 2020 in Freebies

I have recently finished creating a series of G8F poses based on old V3 poses. So, naturally this is the point at which I have learnt enough to write a script that would have cut my time spent doing the conversion considerably.

Anyway, here is a script to do a lot of the conversion automatically. Because V3 had some bones G8F doesn't, and vice versa, the twist in the arms and legs isn't corrected, but foot angle, fingers, arms etc is. You'll be fairly close to the original V3 pose. The script is pretty well documented with comments to describe what is and isn't converted. In the image below, on the left is G8F in the G8F zero pose, and on the right after the script alters the pose to be similar to the V3 zero pose.

Given how few people seem to have V3 poses lying about, there won't be a lot of use for it, but it may save a bit of time if you have a favourite pose that you've not yet converted to G8.

To use. Apply the V3 pose to G8F, then select G8F, and run the script. Finally, correct twist in arms and thighs.

Hope you find it useful.

Regards,

Richard

Edited further to mention a second script lower down this thread that transfers a V3 pose to G8F a bit better than this first correction script.

Edited to add the notes from within the script:

//The G8F pose can only vaguely approximate the V3 pose because G8F does not have the following V3 bones:
//    Left Buttock
//    Right Buttock
//As a result all parts of the V3 pose applied to those bones is entirely lost.

//G8F does not have a true twist capability at the following bones, so the V3 twist applied to those bones is lost.
//The twist capability apparent is actually a direct link to the 'Twist' version of the bone and is not activated
//during a pose application. G3F shows the real capability of each bone.
//    Left Thigh Bend
//    Right Thigh Bend
//    Left Shoulder Bend
//    Left Forearm Bend
//    Right Shoulder Bend
//    Right Forearm Bend

//G8F does not have the same user facing names as the following V3 bones, but they 
//are treated as equivalents because their internal name is the same:
//    V3: lThigh          G8F: Left Thigh Bend
//    V3: lShin           G8F: Left Shin
//    V3: lFoot           G8F: Left Foot
//    V3: Left Toe        G8F: Left Toes
//    V3: rThigh          G8F: Right Thigh Bend
//    V3: rShin           G8F: Right Shin
//    V3: rFoot           G8F: Right Foot
//    V3: Right Toe       G8F: Right Toes
//    V3: Abdomen         G8F: Lower Abdomen
//    V3: Chest           G8F: Lower Chest
//    V3: lCollar         G8F: Left Collar
//    V3: lShldr          G8F: Left Shoulder Bend
//    V3: lForeArm        G8F: Left Forearm Bend
//    V3: lHand           G8F: Left Hand
//    V3: rCollar         G8F: Right Collar
//    V3: rShldr          G8F: Right Shoulder Bend
//    V3: rForeArm        G8F: Right Forearm Bend
//    V3: rHand           G8F: Right Hand
//    V3: Neck            G8F: Lower Neck

//V3 does not have the following G8F bones. The pose on these bones is set to zero:
//    Pelvis
//    Left Thigh Twist
//    Left Metatarsals
//    Right Thigh Twist
//    Right Metatarsals
//    Upper Abdomen
//    Upper Chest
//    Left Shoulder Twist
//    Left Forearm Twist
//    Left Carpals 1-4
//    Right Shoulder Twist
//    Right Forearm Twist
//    Right Carpals 1-4
//    Neck Upper

//V3 does not have equivalent bones in these areas, and any pre-existing existing G8F pose is 
//unaffected by either the V3 pose or this script:
//    Left Big Toe
//    Left Small Toes 1-4
//    Right Big Toe
//    Right Small Toes 1-4
//    The entire G8F Upper & Lower Face Rig.
//    Left Pectoral
//    Right Pectoral

 

zip
zip
V3toG8FPose.zip
130K
Adjustment for V3 pose applied to G8F.tip.png
512 x 512 - 120K
Post edited by richardandtracy on

Comments

  • Thank you :-) [and yes, I still have 'all' of the figures!]

  • barbultbarbult Posts: 24,369
    edited October 2020

    AgentUnawares has created the best pose conversion solution that I've found for G3 to G8. There is no need to convert and save a new copy of the pose file. His solution uses a simple control in the Parameters pane and is totally nondestructive. It is brilliant! 

    https://www.deviantart.com/agentunawares/art/G3F-to-G8F-World-s-Greatest-Pose-Converter-709591348
    https://www.deviantart.com/agentunawares/art/G3M-to-G8M-World-s-Greatest-Pose-Converter-709731867

    Post edited by barbult on
  • I see excessive modesty is not one of AgentUnawares' failings. 'World's Greatest .. ' Pffft.

    Looks interesting though Barbult, thanks. May have to download and see for myself. I don't actually have a great deal of Victoria7/G3F material, having much more dating back to Victoria 3 days, which is why I came up with this relatively simple Victoria 3 conversion script.

    I suspect that if I could work out how to reference two characters in the script, one V3, the other G8F, then nothing would be lost, because the twist data sent to the G8F bend bones (such as Right Shoulder Bend) wouldn't disappear before the script could re-direct it to the twist bone. However at my current early stage of knowledge, that's beyond me still.

    Regards,

    Richard.

  • barbultbarbult Posts: 24,369

    I think I misinterpreted your original message. When I saw V3 I was thinking G3/V7. Now I understand you mean the ancient Victoria 3. That's a whole different ballgame. Never mind! blush

  • Yep, that's why I said I don't think that there is going to be a lot of use for it.

    However, I now know of that G3F pose convertor that I didn't before, so even minor misunderstandings can be very useful. Thank you.

    Regards,

    Richard.

  • barbultbarbult Posts: 24,369

    The AgentUnawares claim of "World's Greatest" rings true to me. Give it a try sometime and see if you agree. 

  • atoxicatoxic Posts: 143

    Thanks. Have still some old V3 and even more M3 poses (and figures) around because I found till now no good way to transfer all the characteristics I value in this figures. Will be interessting to see how this poses will work with G8.

    Nice Days and Nice Renders.

    atoxic

  • lukon100lukon100 Posts: 809

    I might not have many (or any) V3 poses. But if this script works, then free V3 poses might become useful to me. It depends on how may free V3 poses are available. I've never looked for them, so I don't know. I do know you are doing a great job converting V3 poses to G8F for free already.

  • lukon100lukon100 Posts: 809

    Speaking off-topic of converting G3 poses to G8 poses: anyone ever seen the reverse? - for converting G8 poses to G3 poses?

  • KeryaKerya Posts: 10,943
    lukon100 said:

    I might not have many (or any) V3 poses. But if this script works, then free V3 poses might become useful to me. It depends on how may free V3 poses are available. I've never looked for them, so I don't know. I do know you are doing a great job converting V3 poses to G8F for free already.

     

    https://poserdazfreebies.miraheze.org/wiki/Victoria_3/Poses

    as a starting point ... of course there are many more at Rero and Sharecg.

  • richardandtracyrichardandtracy Posts: 5,729
    edited October 2020

    Lukon100,

    DavidGB on Renderosity Freestuff has done a G3->G8 script (https://www.renderosity.com/mod/freestuff/g3-g8-pose-adjust-scripts/77430) If you download it and open in a text editor, then at every line where the pose is adjusted with a plus sign, turn it to a minus and vice versa such as this line:

    oZRotCtrl.setValue( nZRot + 45 );

    should change to

    oZRotCtrl.setValue( nZRot - 45 );

    Only change the signs inside the brackets between the 'NZRot' and the number.

    Then save under a different name. It should do the job you want. I have done it myself and it seems to work well with poses that stay within normal limits.

    Regards

    Richard.

    Post edited by richardandtracy on
  • I have been looking further at scripting and may have a way to have a V3 and G8F character open at that time to transfer the pose between the two. Given the time I have available and my low level of initial knowledge, it'll take a while before I can get it to the point where I can test it. But if I can get it to work, then the pose transfer should be better than the initial script above.

    Regards,

    Richard.

  • On the V3 pose transfer to G8F script including limb twists I mooted above:

    It appears it is possible & my idea of having a V3 reference figure and copying the pose across to G8F and modifying it on the fly to accomodate V3/G8F differences does seem to work. So far I have worked through the V3 trunk up to the head and am now working down the arms.

    The area that is going to be the most difficult is the Pelvis/Thighs. I want to find a way of making the V3 Buttocks, when both the left & right sides have a component in the same direction, to apply that to the G8F Pelvis bone, but when there is a component that's different between them, apply that to the Left & Right G8F thighs in addition to the normal V3 thigh movement. So I'll have to be managing data on seven bones (V3 L&R Buttock & Thigh, G8F Pelvis, L&R Thigh) in three rotation axes at the same time. Will have to avoid getting lost.

    So far, with the trunk, taking half the V3 Abdomen movement and putting it on each of the G8F Lower & Upper Abdomen bones (and so on up the trunk) seems to work quite well and still ends up with pretty much the same angle and relative position at the end of it - it can be difficult to be absolutely certain, as my V3 model isn't the same shape or proportions as any of my G8F models. I was concerned that I might have to multiply the bends & side-side by a small factor to take into account that each G8F bone is about half the length of the V3 bone. I suspect tweaks to the pose after transfer will be needed - pretty much the same as is needed whenever a G8F base pose is applied to any G8F character.

    When it came to the eyes, I was surprised. The V3 & G8F eyes move in opposite directions for both the side-side and up-down values. Really ought to correct that on the original script now I've discovered this.

    Anyway, I'm about 500 lines into the script & it's doing what it's meant to. My ignorance of the scripting language will be showing in that it needs user intervention to select the hip of both V3 & G8F from drop-down selection boxes within the script window before it starts the transfer, as I don't yet know how to iterate through the scene heirarchy to find and identify V3 & G8F automatically. However, the laborious methods I'm using bear comparison with my normal brute ignorance & force approach to programming, so why change now?

    Regards,

    Richard

  • lukon100lukon100 Posts: 809
    edited October 2020

    DavidGB on Renderosity Freestuff has done a G3->G8 script (https://www.renderosity.com/mod/freestuff/g3-g8-pose-adjust-scripts/77430) If you download it and open in a text editor, then at every line where the pose is adjusted with a plus sign, turn it to a minus and vice versa such as this line:

    oZRotCtrl.setValue( nZRot + 45 );

    should change to

    oZRotCtrl.setValue( nZRot - 45 );

    Only change the signs inside the brackets between the 'NZRot' and the number.

    Then save under a different name. It should do the job you want. I have done it myself and it seems to work well with poses that stay within normal limits.

    Thanks so much. That seems to work.

    There's also the final line in the script which mentions itself by name. I presume I should also change that self-name-mention to the new name for the new script as well.

    Post edited by lukon100 on
  • The self reference name is what you should see when hovering over the undo button after running the script.

    Regards,

    Richard.

     

  • richardandtracyrichardandtracy Posts: 5,729
    edited October 2020

    OK, now to see if I can upload my two scripts in one zip file. The first is an updated version of the first one, which now includes eyeball correction. 

    The second script is vastly longer and copies a pose from a V3 character and applies it to a G8F character as well as it's able to do. The limb twist is handled, and some movement is applied to the pelvis. I imagine you'll need to do some small pose corrections, just as you would with any G8F base figure poses being applied to a G8F character.

    To operate the second script, select the V3 figure hip using the top selection combo box, then select the G8F hip using the lower combo box. The final operation is to press the accept button, and then sit back and prepare to be amazed. Well, it'd be nice if that happened!

    So, here's what it looks like with the V3 zero pose, showing that G8F is posed reasonably well compared to the V3 character behind.

    Then here is what happens with a more difficult pose: From left to right Noosha G8F, GND2 for V3, and Glamorous Vicki 3. There seems to be an over bend of some of the elbow joints that is not present in the zero pose. Almost as if 20 degrees for G8F is bigger than 20 degrees for V3. But only on some joints. I am tempted to leave that be for user tweaking after the pose transfer.

    Finally, 2 stages of GV3 and FWSA Francesca for G3F converted to G8F. First image with GV3 posed as the reference pose and Francesca in the zero pose. Second image is the after pose. Francesca's hand looks to be too high, but that's partly because her bust is lower than GV3's and partly due to this apparent difference in elbow angle sizes. Otherwise, a few tweaks needed, but a lot less than would be needed to recreate the pose from scratch. Given that the figures are 5 generations apart, use entirely different joint concepts and different bones, I feel the pose transfer is actually pretty good.

    I am left wondering if a V4 equivalent might be more widely used, given the relative prevalence of V4 compared to V3. Hang on a sec. I seem to have volunteered myself for something. I thought I was more sensible than that! The second script is around 2000 lines of code and it's a bit of a beast to navigate through. It will be possible, but a bit of a slog, someone give a shout if it'd be useful.

    Regards,

    Richard.

     

    zip
    zip
    V3ToG8FScripts.zip
    450K
    V3 and G8F.jpg
    973 x 849 - 235K
    Two V3s and a G8F.png
    988 x 911 - 769K
    V3 and G8F R04.jpg
    973 x 849 - 269K
    V3 and G8F R05.jpg
    973 x 849 - 59K
    Post edited by richardandtracy on
  • lukon100lukon100 Posts: 809

    Ya now converting V4 poses to G3F and/or G8F would be way cool. I've got a lot of V4 poses wasting away.

  • OK. I'll take a look at it. I am part way through modifying the second script into a G8F to V3 pose transfer script at the moment, and after 2 hours work last night I had coded from hips up the trunk to the head & eyes. Then my concentration failed and I had to stop. I completed about 350 lines of the 2100 needed. I doubt it I'll be able to start the V4->G8F script before next week, and am at least a week (probably more) away from finishing.

    Regards,

    Richard.

     

Sign In or Register to comment.