lesbentley opened this issue on Mar 31, 2008 · 137 posts
lesbentley posted Fri, 18 April 2008 at 6:16 PM
You can use poses on magnets. The file in this Post will only work correctly in P6 or above. Back in 11/July/2003, I posted a pp2 (prop) file containing 2 magnets, and a control prop housing master channels. The magnets were slaved to channels in the control prop, so that both magnets could be adjusted at once. I found it very handy for spawning symmetrical morphs, but it was not very user friendly, even for me who created it. The pp2 was called "MirrorMags" and is still available in the Free Stuff. I have long sought a better way to mirror magnets, but until P6 came along it escaped me. With the introduction of 'createFullBodyMorph' in P6, I could finally implement it as a pose file, at the same time making the operation much simpler. The result is here in this thread "MirrorMags2P" attached above. Save the file to a pose folder, deleting the ".TXT" part of the file extension.
In what follows "magnet" refers to one whole magnet suite**, the Base, Zone, and Mag. "Base", "Zone", and "Mag", refer to the individual components of the suite.**
**How to use it:**As an example. Load a figure. Select the 'Right Forearm', create a magnet. Select the 'Left Forearm', create a magnet. Apply the MirrorMags2P pose file. If you want you can position the first magnet before applying the pose, don't position the second magnet. Select any part of the first magnet, Mag Base 1, Mag Zone 1, or Mag 1, rotate, translate, or scale it, the corresponding part of the second magnet should follow in mirror symmetry. I usually create the first magnet on the right hand side of the figure, and the second on the left, but this does nor really matter, it can go the other way round. You can also create two magnets on a central body part, it will still work. Try not to have the two Zones overlapping, or at least not overlapping by much, as it can cause a asymmetric morphs. Don't touch any part of the second magnet at all, changing any of its values will destroy the symmetry, if you do accidentally change something, use 'Restore Eliment' on it. One thing that it does not mirror is the Falloff Graph.
Be aware that the pose adds a hidden channel to the BODY, that will be left behind after the magnets have been deleted. This will do no harm, and hardly adds anything to the file size.
**How it works:**The pose only works on the second magnet (except for the 'displayMode'), and the BODY of the figure, using 'createFullBodyMorph' to add one valueParm channel to the BODY, named "vpmm".
The following things are done in the Base, Zone, and Mag. For the rotate and translate channels, there "k" line value (channel value) and 'initValue' is set to zero. We want them to get all their input from the first magnet. These channels are then slaved directly to their corresponding channel in the first magnet with a one-to-one ratio in the 'deltaAddDelta' lines. In some of the channels the 'deltaAddDelta' value needs its sign reversed. When the first Mag moves towards the right hand, we don't want the second Mag to move towards the right hand, we want it to move towards the left hand, keeping things symmetrical. So we need to reverse the sign (put a "-" in front of) the 'deltaAddDelta' value for xTran. A similar logic applies to the yRotate and zRotate channels. The channels we need to reverse the sign for are:
yRotate
zRotate
xTran
The other channels should have a positive value.
With the scale channels it is harder. We need to initialize the "k" line value to zero, but Poser will not let us do this directly, the smallest value it will allow for a scale channel is '0.001' ('0.001' internal, '0.100' on the dial). We set the value to the smallest that poser will allow in the "k" lines, and also in the 'initValue', but we still need to get rid of '0.001'. This is where "vpmm" channel in the BODY comes in, we set this channel to a value of 'k 0 -0.001' to provide our correction factor, then slave the channel to vpmm as well as to the corresponding channel in the first magnet.
Our task is complete, we have all the channels in the second magnet initialised to zero, and getting their input from the first magnet.
This file is "hot off the presses", just made tonight, so there has not been a lot of time for testing, but everything seems to work, if you have any problems with it, let me know. I am really very pleased with this, and rather proud. I think it should be a great help to anyone who makes morphs with magnets. I plan to do another version that includes more than just two magnets. - - - - - -
More on the topic of Poses and Magnets, shortly...