Welcome to the Poser Forum

Forum Moderators:  Boni, Kendra, KimberlyC, AmbientShade    Forum Coordinators:  digitell, 3DFineries

Poser F.A.Q (Updated: 2015 Aug 18 8:24 pm)


 Subject: Using 'Fit XYZ Character' Dials On A Prop - Poser 9 Parenting Problem

3dcheapskate opened this issue on Feb 15, 2013 · 12 posts

Top of Forum Print

  3dcheapskate () ( posted at 2:29AM Fri, 15 February 2013 

Using 'Fit XYZ Character' Dials On A Prop - Poser 9 Parenting Problem

This helmet prop loads in the correct position to fit Michael 3. I've added dials to fit the helmet to various other figures - the dials simply adjust the helmet's position, orientation and scale using ERC (or master/slave, or dependent parameters, whatever you like to call it).

Two screenshots below using Poser 9 and Aiko 3.

Website: UnrealImperfect | Freebies: Renderosity, ShareCG | 'Art': DeviantArt | Blog: Blogger

(aka Pete Williams)


  3dcheapskate () ( posted at 2:30AM Fri, 15 February 2013  · @4040867


  1. Load Aiko, zero Aiko, load the helmet, and set the 'Fit Aiko' dial to 1.

Fine so far - the helmet's in the correct position with y translate driven to -0.068 and z translate driven to -0.019

Website: UnrealImperfect | Freebies: Renderosity, ShareCG | 'Art': DeviantArt | Blog: Blogger

(aka Pete Williams)


  3dcheapskate () ( posted at 2:30AM Fri, 15 February 2013 · edited on 2:39AM Fri, 15 February 2013 · @4040868


  1. Parent the helmet to Aiko's head.

Now I'd expected the helmet to stay exactly where it was, i.e. nicely positioned on Aiko's head, not disappear half-way down her throat!
So I took a closer look and noticed that the Y translate and Z translate values appear to have been applied a second time - y translate is now 2x(-0.068) and z translate is 2x(-0.019).

If (in step 1 above) I manually dial in the values y translate = -0.068 and z translate = -0.019 instead of using the FitA3 dial the parenting works fine.

So can anybody explain why this is happening?

(P.S. The fitting dials work fine in DAZ Studio 3 and 4.5)

Website: UnrealImperfect | Freebies: Renderosity, ShareCG | 'Art': DeviantArt | Blog: Blogger

(aka Pete Williams)


  LaurieA () ( posted at 7:29AM Fri, 15 February 2013  · @4040926

Did you try parenting first before moving the dial?

Laurie



  3dcheapskate () ( posted at 7:58AM Fri, 15 February 2013 · edited on 8:08AM Fri, 15 February 2013 · @4040934

If you parent the prop first, and then set the fitting dial, it seems to work fine. (But being parented to the head means that the XYZ translations of the helmet are along the head's local axes. So unless those axes are perfectly aligned with the world axes the helmet ends up in a slightly different position. For most zeroed figures it's not a big difference, so not really a problem. But I set everything up using world axes, so I'd need to recheck for each of the 40-odd figures I'm trying to support...still, keeps me out of trouble!)

I think I really want to understand why the effect I mentioned is occurring - there may be a logical reason, but it seems like a bug to me (it's also the same in Poser 6).

P.S. I think I'll be using a script-based solution anyway (already tested in Poser 9) so this is mostly intellectual curiosity...

😉

Website: UnrealImperfect | Freebies: Renderosity, ShareCG | 'Art': DeviantArt | Blog: Blogger

(aka Pete Williams)


  LaurieA () ( posted at 10:07AM Fri, 15 February 2013  · @4040975

Well, I know with hair that have had fit poses, they are always parented first (on loading) and then the dials for the fixes are applied :).

Laurie



  lesbentley () ( posted at 12:41PM Fri, 15 February 2013 · edited on 12:50PM Fri, 15 February 2013 · @4041013

Quote - 2) Parent the helmet to Aiko's head.

You are making life very hard for yourself. A hat should be a smart prop, so that it automatically parents to the head of the selected figure when it is loaded. Making it a smart prop should cure your problems, though you may need to redo the ERC for fitting it to different figures.


  lesbentley () ( posted at 1:14PM Fri, 15 February 2013 · edited on 1:15PM Fri, 15 February 2013 · @4041018

As to why it is happening, I'm not sure, but it might be down to a P9/PP2012 bug, they changed how the parenting worked in P9, and it broke things, but I thought that had been fixed in the latest service release. If the figue, or parts of it are scaled, that could also cause the prop to change location when parented.


  3dcheapskate () ( posted at 8:46PM Fri, 15 February 2013 · edited on 8:49PM Fri, 15 February 2013 · @4041102

Laurie/Les: :facepalm: Of course! I was avoiding smart-propping because it was specific to a single figure. But with these ERC dials the fitting adjustments can be made after it's loaded and parented. Yes, I'll have to recalculate the values for each figure, but that's a small punishment - the equivalent of writing out 100 times "I must remember to parent first by smartpropping, before applying the ERC fitting dials"... 😉

 

 

Website: UnrealImperfect | Freebies: Renderosity, ShareCG | 'Art': DeviantArt | Blog: Blogger

(aka Pete Williams)


  3dcheapskate () ( posted at 9:10PM Fri, 15 February 2013  · @4041111

P.S. my approach of making the fitting adjustments in world space before parenting is based on my 'Smart+' prop script-based approach*. That was originally designed for hand-held props where it was much, much easier to make fitting adjustments in world-space and then parent, than to parent and adjust in the hand's local axis system.

I know that the script worked in Poser 8, but I'm not sure whether I checked it in Poser 9...

*My S.E.Asian sword and shield freebies both use this 'Smart+' prop scripted approach.

Website: UnrealImperfect | Freebies: Renderosity, ShareCG | 'Art': DeviantArt | Blog: Blogger

(aka Pete Williams)


  lesbentley () ( posted at 9:37PM Fri, 15 February 2013  · @4041116

Python scripts can be very usefull, but a very big downside is that a py script that works in one Poser version may not work in some different Poser version. For that reason, where possible I prefer to use Poser script (eg a pz2 file).


  3dcheapskate () ( posted at 10:36PM Fri, 15 February 2013 · edited on 10:37PM Fri, 15 February 2013 · @4041132

Just checked and my old script seems to work fine in Poser 9 too (already proven in P6 and P8).

So regarding the original query (i.e. is it a Poser 9 bug), it seems I can completely side-step the issue either by using a smart-prop with fitting dials, or by using my script.

Quote - Python scripts can be very usefull, but a very big downside is that a py script that works in one Poser version may not work in some different Poser version. For that reason, where possible I prefer to use Poser script (eg a pz2 file).

Point taken Les. I'll do it both ways - script and smartprop.

 

Website: UnrealImperfect | Freebies: Renderosity, ShareCG | 'Art': DeviantArt | Blog: Blogger

(aka Pete Williams)


 To create a post you must first sign in or register an account.