Tutorials

Quick View Other Tutorials   

Building a Morphing Prop

For all versions of Poser, 4 or greater

Using a modeling application allows you to build a custom prop to use in Poser scenes- this tutorial shows how to add a little functionality to that prop, by 'building in' morphs. Building a morphing prop for Poser is not much more complicated than building a regular prop. It is important though to stay organized and ensure that you follow the right procedure, or the morph may not work properly.

Poser morphs are alternate shapes for props, figures or body parts. Since all Poser objects are built up out of points ('vertices') connected together to form polygons, the shape of an object can be changed by moving its vertices around in 3D space. Poser has several tools to move points on an object, and thus there are a couple of ways to add a morph to an existing prop, which I'll cover at the end of this tutorial. The first thing I'll address though is how to use a modeling program to build a prop that has morph information included.

1. Build the Prop

To build a morphing prop I'll need to begin with the basic prop itself. In order for the morph to exist at all I'll need to have at least one alternate shape; in order for the morph to function, this alternate shape must have exactly the same number of vertices in the same order as the 'unmodified' object. This is due to the nature of morphs- they consist of displacements in X/Y/Z space, which get applied to particular vertices. If the vertices don't match the displacements, the morph scrambles the geometry and you get a big mess.

For this example I've built a very simplified airplane model in Shade. There are many modeling applications one could use for this type of thing, but Shade is handy and serves to illustrate the process. Note that before exporting this model I have converted all surfaces to polygon meshes- this is important to ensure that the original model and the modified version(s) have the same basic polygonal structure.

Now, by applying Shade's Rotator parts (see for an overview of Rotators and other joints) to the landing gear and the canopy, I've set them up to move in Shade. To bring that capability into Poser as morphs, I'll export three versions of my airplane. One is the 'base' version, with gear up and canopy shut, as shown above. Each additional copy has just the changes I want to include in one particular morph- thus one version has the canopy open and the gear up, while the other has the canopy shut and the gear down.

I'll export each of these three versions as a separate Wavefront OBJ file, using the same settings for each. Then I can quit Shade, as my work there is done. If I want to apply image maps to this airplane (and who wouldn't?) I'd want to take the 'base' version into UVMapper or a similar utility to set up mapping coordinates for it; there's no need to do this for the 'alternate' versions as they're only there to provide displacements for the vertices.

2. Set Up the Morphs in Poser

Now, with the modeling done, it's time to fire up Poser and import my (possibly UV-mapped) base model. I'll need to be careful to choose a good scale setting- for example, for a full-sized airplane the default 100% is far too small. Choosing the correct scale when importing is important. I don't want to actually scale the model once it's inside Poser, as having the imported model at an internal scale setting other than 100% can mess up the morphs.

Now, with the base model imported at the proper scale factor, it's time for the trick. Just importing the alternate versions as morph targets straightaway sounds easy- and it can be done- but it risks causing weird scale effects when the morph is actually applied. Evidently the 'Poser 3D universe' is very very small- you'll see this if you ever export anything from Poser and then import it into another 3D program; the Poser items(s) come in at about 1/50 scale. Thus just applying the alternate geometries as morph targets without correcting for scale may cause the model to grow alarmingly as the morph is applied.

I'll need to make sure my morph target is the right size, so I'll start by importing one of the alternate models- the one with the canopy up, in this case- into my Poser scene, using the same scale factor as I did for the original model.

I'll line it up with the base model to make sure the scale is right- this is a key step as it'll affect how the prop changes as the morph applies. The next step is very important- if the altered version of the model doesn't come in at the right size, I'll need to delete it and re-import, choosing a different scale setting. Scaling the alternate model after it's imported will not produce good results.

In this case the scale looks good, so the next step is to export the alternate model as a morph target. Using this file as a morph target- not the one I exported from the modeling program- will provide the correct displacements and allow the morph to work properly. So I'll choose File>Export>Wavefront OBJ, select only my airplane with the canopy up and ensure that the As Morph Target option is checked, as shown-

- note that I also want to make sure that 'Weld Body Part Seams' is not checked, as it may alter the number of vertices- then name the morph target OBJ file and save it somewhere convenient. I can then delete my imported alternate airplane; it's done its job.

Now, to actually apply the morph target to the airplane prop, I'll select the base airplane, and in its Properties palette click Load Morph Target-

That'll bring up the Load Morph Target dialog, in which I'll locate the morph target OBJ I just exported and name the morph. It might be a good idea to check the 'Attempt Vertex Order Correction' option as shown; this isn't always necessary but it can help.

And there it is- checking the Parameters palette for the airplane reveals a new CanopyOpen morph dial, which I can adjust to open and close the canopy as shown-

I'll probably want to double-click the morph dial itself to bring up the Edit Parameter Dial dialog, where I can set limits for the morph (so it can't be set to ridiculous levels) and if need be rename it.

I can repeat this process for other alternate geometries I've created for the airplane, then use the Material Room to apply textures. Finally, I'll save my prop into the Props library and it'll be available, morphs and all, for me to use in future scenes, or distribute if that's my plan.

3. Adding a Morph to an Existing Prop

OK, so we've seen how to build a new morphing prop. Now, how would we add a morph to a prop for which we don't have alternate geometries built? We have a few options here; they include-

1. Export the prop as OBJ and build an alternate geometry for it in a modeling application. Once the alternate geometry is built, export it as a new OBJ and proceed as above. This should work if the modeling application we choose does not re-order the vertices of the model when we import or export it, and provided we don't subdivide or decimate the mesh. If the vertices get reordered the morph simply won't work right, for reasons mentioned above- and of course adding or deleting vertices gives us an invalid morph target.

2. In Poser 7, use the new Morph Brush tool to push the vertices around. Poser 7's Tutorial Manual (in PDF format, in the Tutorials folder inside the Poser 7 folder) and show how this process works- but its effect depends on having enough vertices in the first place. Having only a few vertices on a surface doesn't give the Morph Brush much to work with, and finely-detailed changes may not be possible.

3. Use Poser's magnets to modify the geometry. This works for any version of Poser, 4 or later, and can produce good results- depending on what we're trying to do- if done carefully (see for instructions on the use of magnets.)

To set up a morph on a prop which can be applied without saving the magnets themselves into the Library, do the following-

Apply the magnet(s) to get the desired shape on the prop;

Select the prop itself and choose Spawn Morph Target from the Object menu;

Name the new morph and click OK; its dial will appear in the Parameters palette.

Now, here's the trick- set the dial to one (the effect will apply at double strength) and delete the magnet(s).

With the magnets gone, the morph can be dialed in and out normally; saving the prop to the Library will of course save the morph data as well.