Tuesday, April 30, 2013

How to Poser: Overview of Technical Tricks

So now I'm really crunched for time.  And I'm sort of between Poser props right now (the modeling is going slowly), so I'm a bit rusty on the details.  I tend to remember how something works about half-way through trying to rig a new one, anyhow.  Basically, then, this is going to be scattered, and at least partly wrong.  Sorry.





Backwards Compatibility:

All of the Poser-like programs are designed to make use of the large existing body of content.  DAZ/Studio will open most Poser stuff.  However, Poser won't necessarily open DAZ stuff (aka, Genesis.)  As a content creator, that means a balancing act between the functionality that is slowly slipping into the major programs, and between working on most people's application of choice.  In most cases you'll want to fall on the side of doing it the old way.  No weighted joints.  No Genesis fits.  No Mc6's.  Just bone rigging and basic ERC and MAT and MOR poses.  Okay...injection morphs are okay.  Sort of.

And, yes, this depends on what you are doing.  If you are building clothing for the latest DAZ figures, this advice goes out the window.  If you are skins artist, I have nothing for you.  This is about making props and simple figures and basic conforming clothing that will work for most people, whether they are using an old version of Poser, the latest DAZ/Studio, or Vue or Bryce or something.



Smart Figures:

Not really.  Some people have had luck sticking the smart-prop lines into a figure, but mostly it breaks.  However, there is a hybrid that works surprisingly well.  Make your prop gun or hat or whatever.  Make one extra bit (it works without a mesh but it is easier if you include a bit of geometry as a handle anyhow.)  When you rig, that actor is the base actor of your new figure and has the same name as the corresponding body part of the figure you will be attaching the prop to.


The fun thing is, you don't need the full hierarchy from hip out.  You just need "head."  Or "hand."  When you use the smart figure, load it into the Poser workspace as normal then select the figure you want to be wearing or holding the prop and hit "conform."  If the figure is the same as the one the smart figure was built for, it will snap in place just like a smart prop.  But the cool thing is, if the figure is different, you can drag your prop-figure around by the body part until it lines up (best to do this when the figure you are conforming to is in the default or zero pose), and it will conform properly after that.  If you'd left in the whole joint chain from hip out, this wouldn't work.

And since your prop is an independent body part, you can still move it in relation to the body part.  So you can adjust a hat to the right rakish tilt...but it will still remain conformed!




MAT Pose fun:

Sure, Poser 5+ uses materials groups.  Some brokers are even starting to let you use them.  But, really, a MAT pose is identical.  The only real difference is the suffix on the file name. 

Thing of it is, there are a couple things you can do in a MAT pose you couldn't do in a materials collection (among them being, apply it outside the materials room on earlier versions of Poser!)  Since it is a stripped-down cr2, it can;

Insert custom textures to a body part.  I did this in my second clothing set; it was a set of tights textures that would over-write the default skinBody on legs and hip while leaving whatever was on the rest of the figure alone.  Plus a remove pose that dropped the "useCustomMaterial" lines and thus reset the figure to normal textures.

Hide body parts.  I had a Pose file that would point the toes for a high-heeled boot...and then hide the toes and foot so they didn't poke through the tight-fitting boot.  This was achieved through copying an Actor channel from the cr2 with "visible" un-ticked, and deleting every line but the "actor lToe:1" stuff and the actual line that did the work.  That way, the pose didn't change any other rotations or morphs or anything.  Just hid the toes.  Or restored them; I had a matching pose for that.

Slave injection code.  It causes problems on the next load of a saved scene, but you can aim a pose at one figure that will make it slave the joint rotations to a different figure.  Instant chorus line.



AltGeom:

First off, useful for changing the look of a prop.  You can even animate a spin of the altGeom dial.  One use I put it to was swapping out one version of a mesh with another that was distorted in specific ways to make a certain morph possible.  If you didn't need the morph, you could use the original, smoother mesh.

AltGeoms can be identical meshes but have different materials (and even different UVs).  So you can change the color of something (through a reasonable number of choices) via an altGeom dial.  I'm working up a digital readout using altGeom right now.

One really peculiar thing is that they seem to respect the position of the original actor.  Or something.  I don't remember now how it worked, but I had an altGeom on several different actors, in different places on a figure, but even though they were all referencing the same mesh it came out in the right locations for each.  This is something I have to try out again, because I've got a couple ideas for it!



Point At:

Point at can be hard-coded, if the point-at target is in the same cr2.  This is a good way to make a piston.  I also used it for the leg braces on a tripod stand; each of the braces points at the rivet on the other end (an actor that has no other purpose other than to be a target).  Then as the part they are parented to translates, they rotate around their own joint centers (carefully moved to the other rivet) so they appear to be connected at both ends.

Point at can also be used to simulate gravity, by putting the point-at target well below the plane of the scene.




IK:

Normally, all children of a body part move when that part is moved.  If one of those parts is an IK end point, however, then all the parts of the IK chain will rotate in an attempt to adjust whilst retaining that child in the same position.

Thus, you can do a patch cord, a mic cable, links of chain, etc.  The inner actors will swivel and fold, or pull out straight, as you adjust the distance between the parent actor and the terminal IK actor.




ERC:

First, a caution.  Joints that are conformed do not contain a value.  If you want to hook ERC to a joint on a conforming figure, you have to point at the figure you are conformed to.

Dials take values from dials.  It is actually possible to set up a feedback loop (don't do it!)  One dial can cascade into multiple dials, and one target dial can take values from several different master dials.  Using the most-common "valueOpDeltaAdd" function, whatever integer you read off a different dial is added to whatever is already there.

So the first trick is, simply, having multiple slaves of a single dial.  This is how you achieve compound motions, like a screw moving in both circular and translation simultaneously.

The ratio is the key to getting this working right.  I just finished rigging a wind-up alarm clock.  There is a master "Time" dial.  The rotation of the second hand is 1/1.  The minute hand is set at a value of 60 to 1.  And the hour hand is an additional 1/12 of that.  With one turn, all of the hands move at the corresponding rates.

The next set of tricks is that only addition and multiplication are allowed in the valueOpDelta line.  But you can simulate other mathematical functions in brute-force manner (aka by stacking arithmetic operations).

The key to this is using limits.  If you place a positive limit on a target dial, it acts as a hard stop (remember to plug a "4" into the "forceLimits" line to force limits. )   You can use this to have part of a motion continue while another part stops.

By using a negative limit, you can make a dial that won't do anything until its total value reaches positive.  So start the value of the control dial in negative numbers, and one slave dial will move immediately but the other will not move until later.  Also very useful mechanically.

For the "Acoustic Torsioner" I created as part of my recent Steam Props collection, a single dial retracts the head.  This is four different motions, on three body parts.  First, the head translates, making a half-turn as it goes.  When it has rotated to align with the slots in the housing the rotation stops but the translation continues (that is the hard limit on the rotate dial operating).  The spring is also compressing, thanks to a morph.  When the head is retracted all the way, it also hits a limit and stops. 

However, an invisible dial has been spinning up to positive this entire time.  It is slaved to the master "Retract" dial, and preset with a negative number, and set to "hidden" so the end-user never knows it is there.  When the head has retracted fully the invisible dial has had enough value added to it so it begins putting out positive integers.  The final morph, the one that closes the "claws," is set with a lower limit of 0 so it doesn't respond as long as the values are negative.  So the claws only start to close after the head is fully retracted.

Enough cascades of dials, enough tricks, and you can even do something like tank treads!




Dynamic Core:

This is not really an end-user trick.  Despite a cloth engine being in Poser since version 5.0, the acceptance among the end-users is not high.  It is more complex than loading in a set of clothing and hitting "conform."

Anyhow, the cloth engine can be used as part of a posing process, and as part of a modeling process.  You can drape a table cloth or cape.  You can shrink-wrap a set of stockings (there are some issues with this, namely, gravity, but it is possible).  You can also pose a cable or line or wire.

My first trick is that I use Easy-Pose rigging to rough in the position of a cable.  Easy-Pose is nothing more than a cascading set of ERC dials allowing multiple segments of a cable to be bent at the same time.  This makes it simple to make a smooth curve, a coil, or even things like s-curves.

Then I export the object and re-import it; this is necessary to turn a posed figure with multiple body parts into a single actor that can be clothified.

But the big trick is something I've been freely sharing for years (despite no-one crediting me as they slowly discover it for themselves).  A tube, clothified by itself, will collapse like a flat tire.  Instead, the only part that is simulated directly is a narrow ribbon I call the Dynamic Core.  The rest of the cable, wire, bundle, chain, braid, whatever is made a soft detail of the Dynamic Core.

Unfortunately, although Poser will write these definitions into an obj file, they can't be preset into the original Easy-Pose figure.  So it is necessary to go into the Cloth Room, select the material of the non-dynamic part, and assign it to soft detail.

After that, you run a cloth sim to drape the cable properly, achieving the realistic caternary curves.




No comments:

Post a Comment