Forum: Poser - OFFICIAL


Subject: Help me create this figure please.

chinnei opened this issue on Apr 01, 2006 ยท 8 posts


chinnei posted Sat, 01 April 2006 at 6:50 PM

The gun holster and strap above is from Billy-T's A3 Machine gun package. I am trying to create a new CR2 so that it will fit V3 without losing much of detail. So far, I've manage to convert the strap part of the figure to fit V3 default body using magnets and Wings3d. Then I've used the setup room using V3 blank CR2 to make it conform to V3. So far so good, everything works fine like it should.

In regards to the holster for the gun, the original figure has a separate bone named holster designated for the holster. I can also do this with newly created strap by creating a new bone for a holster. However, the problem I have is when I try to create a full body morphs for the new figure. For the original, it is setup so that the full body morphs only effect the strap part of the figure, as it should. When I apply the mosphs, let's say muscular, the strap expands and pushes the holster along with it, as indicated by the rightmost picture, without deforming the holster. I am trying to setup the new figure the same way but having a trouble with it. When I create a new morph using the magnet or using Netherwork's morph pack to effect only the strap portion, and once I apply the morph, it causes the strap to morph through the holster instead of moving the holster with it. I would really appreciate if someone can explain to me how I can set this up like the original.

Thanks in advance.


lesbentley posted Sun, 02 April 2006 at 6:01 AM

As I understand it from your explination, it sounds like the strap and holster are seperate actors (body parts). You should not expect morphing the strap to move the holster, a morph only affects the actor it is applied to. You have two options. 1. Make a morph to move the strap, and another to move the holster, then make an FBM. 2. Use ERC to slave (probably) the translateX channel of the holster to the morph in the strap. Before you add the slaving code, set the morph in the strap to 1.000, then note how much you need to xTran the holster to put it in the right place, this value is the one you should use in the deltaAddDelta line of the translateX channel.


chinnei posted Sun, 02 April 2006 at 6:01 AM

please..... someone..... help?


chinnei posted Sun, 02 April 2006 at 8:00 AM

Wow, talk about x-posting, right down to the exact minute. I guess I should've waited a minute longer before replying to my own post :)

First, thanks for replying. I really appreciate it. And yes, the holster and the strap are separate actors. The first method seems like the easiest because I kind of know how to go about this. But should I expect some deformity in the holster if I use the magnet to move it? I guess I should make the magzone rather large right?

Actually, by just skimming through the CR2 of the original, it looks like it is setup using the 2nd method you described.

actor rHolster:1


translateX xTran


valueOpDeltaAdd
A3 Holster R
BODY:1
PBMYoung
deltaAddDelta 0.006000
valueOpDeltaAdd
A3 Holster R
BODY:1
PBMVoluptuous
deltaAddDelta -0.00400
and so on.....

Is this similar to what you described in method2? I am not too familiar with this method so I think I'll play around with it to see how far I can get. I'll update you as soon as I can.

Thanks again.


lesbentley posted Sun, 02 April 2006 at 10:05 AM

Patience is a virtue Polishes Halo ;) Yep, if you make the Mag Zone large enough you should not get any noticeable distortion. The down side with using a morph to move something is that it adds a line of code for each vertex in the object you are moving, thus using more disk space to store the file, and I guess more RAM to load it. Yep, looks like the original is using the second method.


lesbentley posted Sun, 02 April 2006 at 11:20 AM

Both an FBM and the "second method" are instances of ERC (Enhanced Remote Control) a.k.a. EMC.

The basic principle is quite simple. You add 5 lines of code to a channel that slave it to some other channel, eg:

              targetGeom Biceps<br></br>                   {<br></br>                   name Biceps<br></br>                 initValue 0<br></br>                 hidden 0<br></br>                    forceLimits 4<br></br>                       min 0<br></br>                       max 1<br></br>                       trackingScale 0.00220658<br></br>                    keys<br></br>                                {<br></br>                           static  0<br></br>                           k  0  0<br></br>                             }<br></br>                   interpStyleLocked 0<br></br>

The first line is the type of slaving, almost always "valueOpDeltaAdd" though there are other types. The second line points to the figure that contains the master channel. The third line points to actor that contains the master. The fourth to the master channel itself. There is nothing special about a master channel, it is a master only because some slaved channel points to it. The fifth line is a controle ratio, the amount the slave will be affected by the master.

The above example is the start of a targetGeom (morph) channel to bulge the bycep, it is slaved to the "rotateY yrot" in the forearm, so when the forarm bends the bycep bulges.

A channel may be slaved to a master in the same actor, in any actor below it in the parenting hierachy, or in an actor one step above it (but no more) in the hierachy, thus a channel in the thigh may be slaved to a channel in the shin, but not to one in the foot (there are workrounds, but beyond the scope of this post).

There is a lot more that could be said about ERC, but the above are the basics, and enough for most situations.

I will just add one more point. When you inject slaving (or a channel that contains slaving) via a pz2 file, you should use a slightly diffrent format in the slaving code, leave the actor and figure numbers out of the code, eg use:

                   valueOpDeltaAdd<br></br>                             _NO_FIG_<br></br>                            rForeArm<br></br>                            yrot<br></br>                        deltaAddDelta 0.005000

This ensures that the slaving code will receve the actor number of the figure that is selected when the pz2 is loaded, failure to use this format can result in the channel becoming slaved to the wrong figure.

For more info on ERC/EMC see these links:

Extended Motion Control

ERC (Enhanced Remote Control)

Conformers & Targeted Crosstalk - A Method


chinnei posted Sun, 02 April 2006 at 2:55 PM

Whew, did I ever tell you I hate working inside the setup room? I had to create a whole new figure because I didn't include the holster in my earlier figure. And for whatever reason, setup room decides not to cooperate with me unlike it did earlier. I've somewhat manage to make one just to test the script, and can you belive testing the script actually was the easy part? Unbelivable. :)

Anyways, the method you described works perfectly! I linked only couple morphs to the trasnX channel but now the holster moves when I adjust the FBM. Thanks alot! And thanks for including that bit of information above. It makes perfect sense to me now how the script is setup. At least now I know that morphs don't appear magically out of nowhere when I move the joints :)


lesbentley posted Sun, 02 April 2006 at 4:54 PM

One of the joys of owning P4 is that it does not have a setup room, so nothing to hate ;) Glad to hear that you seem to getting the hang of the ERC thing.