Script to adjust G8F after applying a V3 pose.

richardandtracyrichardandtracy Posts: 898
edited October 18 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 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: 14,829
    edited October 18

    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: 14,829

    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: 14,829

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

  • atoxicatoxic Posts: 54

    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: 342

    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: 342

    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,152
    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: 898
    edited October 21

    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.

  • richardandtracyrichardandtracy Posts: 898

    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

Sign In or Register to comment.