Welcome to Nerd3D
Search
Home · Tutorials · 3D Outlet · Prefrences · Forums · Gallery
 
 


 
 
Login

Nickname

Password

Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.
 
 

 
 
Nerd's Stuff

· Home
· 3D Outlet
· Contact
· Encyclopedia
· FAQ
· Forums
· Gallery
· Links
· Private Messages
· Recommend Us
· Search
· Statistics
· Surveys
· Topics
· Tutorials
· Your Prefrences
 
 

 
 
Nerd3D Links

3D Graphics Topsites
 
 

 
 
Search



 
 

 
  Poser 6 PMD Injection
Injection Morphs the Poser 6 way




Poser 6 creates a lot of new possibilities with injection poses. The biggest new possibility is that an injection reading from a PMD can create channels in a figure. That's right if the figure does not have all the channels ahead of time, they will be created on the fly. You can also setup FBM (Full Body Morphs) and link dials with properly crafted utility poses and script commands.

Sixus1 has a tutorial at her site covering the same topic. If I lose you in this long winded tutorial maybe hers will be more clear. I can't locate her tutorial any more. If you find it please let me know. I'd like to link to it.

NEW 2008 September 9: How to create a PMD REMoval file.

This tutorial is for advanced poser content creators. You need to be able to hack a Poser library file without causing things to explode.

Requirements
  • Poser 6
  • Text Editor or CR2 Editor
  • Working knowledge of Poser 4 or 5
  • Read the whole tutorial before you start making stuff (Really, you will have to go back and change things!)
  • Understanding of how EMC works. (You can learn about that from another tutorial.)
Popular misconceptions about PMD

OK, yes PMD can cause scenes to lose morphs data. There is STILL a bug that causes parented props to lose morphs and sometimes they just freak out. BUT you do NOT need PMD's enabled to inject PMD morphs. If you save a scene where PMD morphs were injected the scene will save with normal, non-binary, safe, secure, inline text morphs.

PMD Injected morphs will NOT cause scene corruption if you leave Binary Morphs turned off in preferences. PMD is great for injecting morphs. It's by far the easiest way because the base figure does not need existing empty channels. Just don't leave it on after you create the PMD file.

PMD injected figure are also free of the restrictions of ExP based injections. First the figure can be in any runtime folder, they are not restricted to the main runtime. The is also no need to initialize the figure before use. The injections work out of the box and without external utilities. Finally, PMD injections are amazingly fast, working in a fraction of the time it takes a conventional injection.

Overview

First off P6 will create a PMD (Poser Morph Data) file when ever a figure is saved to the library and the "Use external binary morphs" option is checked in prefs.

This PMD file can then be called from an injection-pose to inject morphs into any figure with matching geometry. For example you can inject Aiko3 with Victoria3 PMD's and the morphs will functions, many of them don't look right, but it does "work"

Poser 6 has a feature that allows you to group morphs so they are easier to navigate. PMD injections do not create the groups, but that can be handled with a pose file crafted to create these groups. You will also probably need to setup some EMC (Extended Motion Control) on morphs. There are two new commands that can be used in Poser library files for this purpose. We'll have a look at those too. Finally we'll see how to combine PMD injection with Utility Poses to take full control over a figure.

Making a PMD that can be injected.

Poser 6 handles a lot more of morph injection than previous versions of Poser. Creating a PMD file that can be used to inject morphs is a snap. Poser does most of the work for you. First we need to create the custom morphs. You can do that with magnets or an external modeler.

  1. Start a new scene and load the figure you want to create in injection Pose for.
  2. Load your morphs or create them using magnets, spawning new morph targets.
  3. Delete any morphs you do not want saved in the PMD file.
    1. Click morph
    2. Click the parameter dial menu (The little triangle)
    3. Click Delete
    4. Repeat for every morph that _WILL NOT_ be in the PMD
  4. Check your General Preferences (Edit > Preferences) and be sure "Use External Binary Targets" is checked
  5. Save your figure to the library with a new name.
  6. Turn "Use External Binary Morph Targets" back off in preferences. (Scenes saved with it on may be corrupted, STILL!)

If you think this is a pain there is a Utility for editing PMD's. It's available from Dimension 3D at Renderosity.

Prefrences
Creating an injection CR2 or PZ2

Poser 6 allows you to use either a figure file or a pose file as an injector. Curious Labs uses figures (CR2 or CRZ) but the pose file or PZ2 is actually more versatile. Using the pose file allows us to use utility poses to further customize the injection. In this tutorial we'll create the Injection file as a pose or PZ2 file. If you have ever crafted a morph injection pose by hand you won't believe how easy this is.

  1. With a text editor enter the following text...

    {
    version
    {
    number 6
    }
    injectPMDFileMorphs MyFigure.pmd
    }

  2. Change the "MyFigure.pmd" to the name of your saved PMD file
  3. Save this in your Pose library with as PZ2 file extension
  4. With you operating system file manager move or copy the PMD that was saved with you figure in part one to the same folder as the PZ2.

That is all there is to creating a basic morph injector for Poser 6. The target figure needs no special treatment. Poser 6 will create any needed morph channels. But we are just getting started. Next we will setup some FBM channels with our injector.

Setting up Full Body Morph Injection

With a bit of planning ahead you can use injection files to create Full Body Morphs (FBM) and Partial Body Morphs (PBM) Two new commands can be used to set up EMC (Extended Motion Control) with your injection file, "createFullBodyMorph" and "attachFBMdial". Here is how it works. First the Really quick'n dirty way.

  1. When you create your full body morphs give then all the same name, something like "MyBodyMorph" (Probably shouldn't have spaces)
  2. Add this line to your Injector

    createFullBodyMorph MyBodyMorph

  3. Add this right after the "InjectPMDFileMorphs" line

That's all, really, Poser 6 will create a Full Body Morph dial and link all the morphs with the same name to that dial. Now, what happens if we need to hook morphs with different names to a Body dial? No problem use the "attachFBMdial" command. It works like this.

  1. Create the morphs in your figure with unique names.
  2. Add the Full Body dial just as before, be careful the dial has a unique name. If there is a morph with the same name it will be linked like it or not.
  3. Add the following line to your injector

    attachFBMdial MyBodyMorph WeirdExtraMorph

This links all the morphs named "WeirdExtraMorph" to the Full Body Morph dial named "MyBodyMorph" obviously you'll want to use the names of the real morph targets you create. If you want to link more than one morph to a dial just keep adding "attachFBMdial" lines till they are all linked.

So, now your injection file will look something like this:

{
     version
     {
          number 6
     }
     injectPMDFileMorphs MyFigure.pmd
     createFullBodyMorph MyBodyMorph
     attachFBMdial MyBodyMorph WeirdExtraMorph
     attachFBMdial MyBodyMorph WeirdSecondMorph
}

Making and EMC-Injector
So, you want full control over your figures morphs. You want to setup joint controlled morphs and linked Partial Body Morphs. Maybe some linked Eye Rotation too. OK, no problem but we have exhausted the easy fixes. Now we will start using the old reliable readScript command to pull utility poses into the injection file. A good example of this is the speech morphs for Victoria 3. Many of them cover the head and neck. The ones in the neck need to be linked to the ones in the head. We will only do one to save space in the tutorial. We will make a utility pose, then add a line to the Injection File to call the utility pose. You can compose a utility pose by hand in any text editor. They look something like this ...

Line 1 through 5 are required for all poser library files. Think of it as the introduction.

Line 6 and 7 start a body part The body part ends at line 19 with the closing brace.

Line 8 and 9 starts the "channels" this is where a Pose file takes care of it's business. The channels end at line 18

Line 10 and 11 The name of the channel (Joint or morph) you want to work on. Ends at line 17.

Lines 12-16 are the 5 magic lines that make EMC work.

  1. valueOpDeltaAdd is a required key word it tells Poser that this channel has a master channel.
  2. Figure 1 is the name of your figure. Figure 1 is the default and will work in most cases.
  3. head:1 The name of the body part that contains the Master Channel. Put in the mane of your channels master. You must use the Poser internal name "rShldr" and not "Right Shoulder" for example.
  4. Mouth O is the name of the Master Channel. Once again you will substitute the name of your controlling channel.
  5. deltaAddDelta #### is the control ratio. For PBM it will usually be 1.000 Joint morphs will have much lower values like .02. Negative values are allowed as well. This makes the channels work in opposite directions

Line 20 the closing curly brace don't forget this or Poser will be unhappy.

This injector sets up 1 PBM morph, the Mouth O in the neck of a Victoria 3 figure. You can add as many body parts and channels as you need.



Think that looks like a lot of work? Well, you are right! Most of this can be hacked out of an existing CR2. You can use a CR2 editing utility like CR2 Editor by John Stallings to hack out the useful bits. Here 's the easy way.

  1. Open a donor CR2 in CR2 Editor.
  2. Find the channel you want to use as the donor.
  3. Right click and then click copy as text.
  4. Open a blank text document in a text editor such as Notepad.
  5. Paste the text.
  6. Delete all the extra stuff in the channel that you don't need (9 zillion lines of morphs data for example).
  7. Fix up the Opening and closing lines so it looks like the sample above.

Now keep adding body parts and channels until you have all the bits you want to link included. Save this EMC-Injector in the same folder as your PMD-Injection File. Use a PZ2 file extension.

Viewing the CR2 in CR2 Editor makes it easy to pick out the bits you need.

I keep a stripped out CR2 handy for building utility poses. It has all the standard body parts and empty channels. If you plan on doing much hacking you'll want to make yourself one of these.

Adding EMC-Injector to PMD-Injector

First the EMC-Injector can be use in a stand alone fashion. That's no fun we want one click power! So let's add this EMC-Injector to the Injection File.

  1. Open the Injection File you saved before
  2. Add "readScript MyEMCInjector.PZ2" right before the last curly brace.

Of course you will use the name that you saved the EMC-Injector with. You can add as many read script commands as you like to your PMD-Injector. It can even call a MAT-Pose.

So, now your injection file will look something like this:

{
     version
     {
          number 6
     }
     injectPMDFileMorphs MyFigure.pmd
     createFullBodyMorph MyBodyMorph
     attachFBMdial MyBodyMorph WeirdExtraMorph
     attachFBMdial MyBodyMorph WeirdSecondMorph
     readScript MyEMCInjector.PZ2
}

If the file you are calling with the readScript command is not in the same folder you can use a relative path, like the geometry lines use in most figures. Something like this

readScript :runtime:libraries:Pose:Utility Poses:MyEMCInjector.PZ2

Finally Let's Set Groups

OK this is the last bit. We can use another Utility Pose to add Groups to the morph dials. A Group-Injector is built in much the same way as an EMC-Injector. The difference is you only add the group channel to each body part. I Highly recommend using Poser to setup the groups then hack the the groups out of a saved CR2 or PZ3. Remember, I said you might want to keep a stripped out CR2 handy for utility poses. It will come in quite handy here.

  1. Load your figure up in Poser.
  2. Arrange the dial groups just the way you want them and save the scene or add the fixed up figure to the library.
  3. Open the figure in a CR2 Editor or Text editor
  4. On every body part delete everything but the groups channel. Or if you have one of those blank CR2s you could just drag the groups to the matching blank channel in the empty CR2
  5. Repeat for every body part you want to set groups on. Completely delete the body parts you don't want to set groups on.
  6. Save your Group-Injector as a PZ2 file
  7. This can be added to the PMD injector in exactly the same way as the EMC-Injector was with a "readScript" command.

There you go. Inject morphs, setup Full Body Morphs, Add Partial Body Morphs, Inject JCM and any other EMC you like, then set all the groups the way you like. All with one click.

Creating a Group-Injector for a DAZ? Millennium figure can be quite tedious. Here is a Group-Injection Pose for stock V3 characters. The group injector can be linked or used as a stand alone utility pose.

V3 Group Injector.ZIP

Now to REMove this stuff

Really, that's all there is to it. The only extra is if you added some full body morphs with "createFullBodyMorph" lines. You'll want hide these. Of course you'll want to use the name of your PMD file and morphs.

If you created any fancy EMC links you can remove them by injecting the came channel and setting the control ratio to zero. That is "deltaAddDelta 0.00"

{
      version
     {
          number 6
     }
     removePMDFileMorphs MyFigure.pmd
     actor BODY:1
     {
          channels
          {
               valueParm My Morph
               {
                    hidden 1
               }
          }
     }
}

Some Final Notes

I know this tutorial covers a lot of ground. PMD injection, EMC injection and Group injection. Perhaps they should be separate tutorials. I think since they work together they need to be thought of together. Using them together gives you amazing control over figure setup.

This is really great for developers. You are not restricted to existing morph channels any longer. With Poser 6 you have the power to completely take over an existing figure. People using your PMD-Injection will have the easiest character setup they have ever experienced. You can even add a MAT-Pose with the readScript command if you like. Poser 6's material room directly supports Material Collections which are essentially a MAT-Pose.

Remember you can not distribute morphs created by others without permission. Make sure any PMD you distribute only contains material you have the right to distribute. I always work from "Blank" figure so there is no chance of accidentally distributing a morph that I don't have rights to.

Happy Rendering!









Copyright © by Nerd3D All Right Reserved.

Published on: 2005-03-25 (24977 reads)

[ Go Back ]
 
 

Content ©

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 1999-2010 by Nerd3D Graphics
Php-MultiShop Copyright ? 2003-2005 by Piero Trono, based on PHP-Nuke and osCommerce, is Free Software released under the GNU/GPL license with absolutely no warranty.
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.16 Seconds
Get Firefox!
email