using magnets in poser

Poser magnets are confusing because they consist of three separate parts. Since all three can be moved, scaled, and rotated, we need to know which action will have what effect.

The table below gives the actions to be expected when transforming any of the properties of the three components. To try this out, open Poser and create a new scene. Select the ground object. Go to the Object menu and click ‘Create magnet’. Now reduce the size of the magnet by altering the scale of the Mag Base to 100% and the Mag Zone to 50%. Finally, change the yTran value of both the Mag Base and the Mag Zone to 0. You can use this a default setup to experiment with the magnets.

Now alter the yTran of the actual magnet (Mag_1) to 0.5. A gentle bulge will appear in the ground plane. Try playing with the properties of the three components. This is what should happen:

Component Property changed Effect on the target
Mag Base xTran, yTran, zTran None. Moving the base never alters the effect (i.e. the deformation of the target object), unless the magnet itself has been rotated. The magnet moves with the base (the magnet is in fact parented to the base).

Always alters the effect on the target object. The minimum limit is 0.1, but you are unlikely to see an effect at that scale.

Scaling the base changes the size but not the scale of the magnet, which is relative to that of its parent, the base (see note 1).

Note that the initial scale of the base depends on the size of the object to which it is attached.
  yRotate, xRotate, zRotate Always alters the effect on the target object. See note 2.
Mag xTran, yTran, zTran Always alters the effect on the target object. Vertices are pulled towards the magnet as it moves away from the base.
  Scale, xScale, yScale, zScale

Always alters the effect. The deformation is either increased or decreased. Note that you will still see some effect even if the Scale property is set 0.1 (the lowest you can set it). See also note 1.

The initial scale of the magnet is always 100%.
  yRotate, xRotate, zRotate Always alters the effect. See note 2.
Mag Zone xTran, yTran, zTran The effect is unchanged but the position of the effect on the target object is altered. The actual shape of the deformation remains the same.
  Scale, xScale, yScale, zScale

The shape of the deformation is unchanged but the size of the area affected is altered.

Note that the initial scale of the zone is always half that of the base.
  yRotate, xRotate, zRotate If the zone is spherical (which by default it is) rotating it has no effect. But if its shape has been changed by altering the xScale, yScale, or zScale (unless they are all altered equally by setting them to the same value) then rotating the zone will alter the shape of the deformation.

Note 1. Important: changing the magnet’s Scale value does NOT give the same effect as changing the base’s Scale value! Try changing both and see what happens.

Note 2. Rotating the magnet does NOT give the same result as rotating the base!

additional comments

Why are there different effects between rotating and scaling the magnet versus the base? The reason is that the effect depends on the relationship between the base and the magnet. In the default setup given above, moving the magnet upwards pulls the vertices in the zone upwards also, vertically away from the base. If you now rotate the base, the magnet also rotates so that the relationship between base and magnet is unchanged. The vertices are still pulled away from the base at a right angle, although the direction in which they are pulled will have changed. If you rotate the magnet but not the base, the angle between base and magnet is no longer 90 degrees so that the vertices are pulled away at a different angle. The same applies to scaling the magnet as opposed to the base – its the relationship between the two which matters, which is unaffected when scaling the base, although the size of the effect will change. This also explains why moving the base has no effect if the magnet has not been rotated – the magnet moves with it, so the relationship between the two does not change.

An important point about these values is that they are relative to that of the parent object. In the case of the base and the zone, the scale, rotation, and translation values are relative to the object they are affecting – that is, the object to which they are parented. So for example, if the initial yTrans of the base is 0.0, and the yTrans of the parent object (the target object) is set to 1.5, then base will move with it… but the yTrans of the base will still be 0.00, even though it has moved upwards.

The parent of the base and the zone are both the same and are the object which is affected by the magnet. The parent of the magnet itself is the base. This might imply that you can alter this so that the zone is parented to one object and the base to another. Sadly if you do this you will get no effect from your magnet. Poser assumes that the object the base is parented to is the one to affect, and the zone only acts on that object.