sixus1 opened this issue on May 11, 2009 · 26 posts
lesbentley posted Mon, 11 May 2009 at 3:47 PM
Perhaps in part. Did you see this thread that I posted in early this morning? In it I posted this example of injecting a new geometry into an existing actor:
{
//INJ P4HeadGeom2.pz2
version
{
number 3
}
actor head
{
storageOffset 0 0 0
objFileGeom 0 0 :Runtime:Geometries:femaleHeadOnly:femaleHeadOnly.obj
bend 0
}
}
Of course, rather than injecting it from a pz2, you can edit it directly into the cr2. As I don't have any modelling skills, I have not really been able to take advantage of these methods.
As an alternative to using "objFileGeom", you can use a "geomCustom" block to carry the geometry directly within the cr2, so that no extra obj files are necessary. Using "geomCustom", works a bit differently to using "objFileGeom" in that if you save a file where "geomCustom" is used in any actor, Poser(above P4) will write out a new obj file for the figure, and place it in the same folder as the cr2 is saved to. I offten look at this as a disadvantage, but perhaps in some circumstances this could actually be useful. When using the original 'figureResFile' in congunctoin with 'objFileGeom' I am not sure if the whole 'figureResFile' is retained in memory, I guess it must be. The creation of a new composite obj out of the 'figureResFile' and 'objFileGeom' would resolve this problem if it exists.
Another neat trick that does not seem to be well known is that you can use a pp2 or cr2 file to inject a whole new actor into an existing figure. The file attached at the top of this post will inject a new actor into any figure that has a "head" actor. The new actor will be named "Head Cube2" and be a child of the head.
Here are the secrets of making this work. Start with a pp2 file in which the geometry (either objFileGeom or geomCustom) is in the right location relative to the figure it is to be injected into, then edit it as follows. The file should not contain a 'doc' or 'figure' section, if it did it would just be a prop or figure. The actor must be addressed as "actor" not "prop". The parenting line should use 'smartparent', (Poser will take care of the addChild stuf in the figure block). You may or may not want to edit the 'customMaterial 1' line to 'customMaterial 0' so that the actor looks for its materials in the 'figure' block. A downside to this method is that as you can't include a figure section in the file, you would need a separate pz2 file to inject joint parameters and welding for the new actor.