Forum: Poser Technical


Subject: Parenting figures?

maclean opened this issue on Oct 28, 2004 ยท 12 posts


maclean posted Thu, 28 October 2004 at 2:07 PM

Is there any way to save a parented figure without using the 'whole group' option. No matter how I try, I can't make a figure keep it's parenting if I use the 'single figure' option. It seems that poser will only retain the parenting, if the figure and it's parent are saved together. Actually, that's not true. The cr2 will say 'parent such and such', but it doesn't make a damn of difference when you re-open the figure, unless you do a 'whole group' save. I've tried parenting figures to BODY, body parts and props, and nothing works. I need to save several figures which are all parented to one central one. But to complicate matters, these central figures (5 of them), are themselves part of a 'whole group' multiple figure. To cut it short, I have 5 rooms in an apartment. Four of these are parented to the main one and all 5 are saved together. This will be sold as one pack. When the user buys a supplementary furniture pack, I want to have all the funiture figures in one multiple cr2, and already parented to one of the 5 rooms. So they can open the 5-room apartment as one cr2, then open the other furniture figures, also as one cr2, AND have them all correctly parented to the right room. So, is this possible? Is there a hack to do it? I assume I'd need a specifically named body part in each room as a parent, but can it be done? TIA mac


moochie posted Fri, 29 October 2004 at 4:56 AM

Don't think so. I've been building a multi-part hair model cr2, consisting of a number of other cr2s. I really wanted it to parent to the character's head when first loaded, but can't find a way. It would be wonderful if it could be done, as it would revolutionise making modular characters .. one click in the library and a part is loaded and parented. Unfortunately, I suspect if it could be done, it would have been done already. But, to paraphrase .. where there's a Lesbentley, there's always hope!

Message edited on: 10/29/2004 04:56


maclean posted Fri, 29 October 2004 at 2:19 PM

Thanks for replying, moochie. Damn! I'm positive there must be some way to do this. Maybe you're right and les knows a way. I hope so. mac


lesbentley posted Sun, 31 October 2004 at 1:43 PM

From memory (not to be trusted), you can smartparent the BODY actor (only) to to any actor in another figure. There is one rather big catch, if you delete either the parent or child figure Poser will crash!

Parenting can be set by the application of a pz2 file, and this is probably a better option, even though it is not as convieniant.

Another thought, is there any reason why the things to be parented can't be implimented as props? Mac, I know you have much more experience than me at rooms, but my favorite method to make a room is to use a "ghost" base figure with no geometry, then have all the other parts as props parented to that. There are no problems with smartparent for props, and with none-organic things there in not much that you can do with a figure that you can't do with a prop. You can even save the prop to a Figures folder with a cr2 extension (or visa versa) to keep all the elements together in one loaction.

Message edited on: 10/31/2004 13:50


maclean posted Sun, 31 October 2004 at 2:39 PM

hi les, That's an interesting solution, but in a commercial product, I can't use anything that risks a crash. There's always someone, somewhere who'll do it! The pz2 idea sounds more feasible, although it's an extra step. Still, it might be worthwhile. Re props - That's a real problem. These rooms are pretty complex and there are 5 of them. Then there will be 4 packs of furniture, all figures. Converting that lot to props would be a nightmare, and in the end, probably not worth it just for parenting purposes. And, of course, I use MATs/SETs extensively, so with props, it becomes even more complicated. mac


lesbentley posted Sun, 31 October 2004 at 3:16 PM

Mac I have another idea, actually an old idea of mine that I had forgoten about. It involves puting ghost actors in in the base cr2, then injecting the geometry and channels via a pz2. It adds a bit to the size of the base cr2, but takes care of the parenting issue, and I think makes the cr2 very flexible. It's a one step solution as you would only have to apply the pz2. I will test and develope the idea a bit before I post more details, and hopefully an example.


maclean posted Sun, 31 October 2004 at 5:09 PM

'It involves puting ghost actors in in the base cr2' Hmmm.... I already have one - the famous 'blank' actor, which is in these rooms. Maybe that could be used. Anyway, I'm definitely interested, but don't put yourself to a lot of trouble. I may rethink the whole parenting strategy. mac


lesbentley posted Mon, 01 November 2004 at 1:46 PM

Mac, this may be too much work if you have already set your cr2s up, but perhaps worth considering for future projects. The idea is to use "ghost" actors in the cr2. Geometry and other stuff can be injected into (or cleared) from these ghost actors, and because they are part of the same figure parenting is not a problem, it can be set up in ther cr2 before the geometry is injected, and the parent can be changed to any other actor in figure at the same time the geometry is injected by using "smartparent" ("parent" does not seem to work via pose files). OK, here goes with the geometry injection. The cr2 (attached above) has 6 actors: BODY BASEpart sparePart-1 sparePart-2 sparePart-3 sparePart-4 The ones we are most interested in are the "sparePart" actors, like any normal actor they occur in at least 3 places in the cr2. In the declaration block as empty declarations. In the definition block, here all the channels that may need to be used must be included, but can be in abbreviated format, here also the actors and channels are hidden. Finally in the "figure" block as "addChild" statements. In the cr2 all actors are parented to the BODY actor. Note that all the geometry is added as "objFileGeom" or "geomCustom". Attached above is the text of an example cr2 "GeomInj.cr2". In the following posts I will attach pz2 files to inject geometry and other things.

lesbentley posted Mon, 01 November 2004 at 1:48 PM

Here is the first pose file, it injects geometry for a box, ball, and cone, in addition it adds content to the channels, and sets the material "Preview". It sets the parent of the actors to BODY.

lesbentley posted Mon, 01 November 2004 at 1:56 PM

Here is the second pz2 file. It uses geomCustom to inject the two squares, and objFileGeom to inject a cylinder, and all the spare actors are smartparent(ed) to the BASEpart actor.

Message edited on: 11/01/2004 13:57


lesbentley posted Mon, 01 November 2004 at 2:24 PM

Here is a third pz2 file. It uses empty geomCustom blocks to clear then geometry from sparePart-1 and sparePart-2, it also hides the actors and channels for these parts. It injects a torus geom into sparePart-3, and smartparents it to the BASEpart actor.

I have offten thought that this technique of using ghost actors and geometry injection could be a good way to impliment architectural and other modular items, but I have never taken it further than these few simple experiments. I guess the proof is in the pudding, perhaps some day I will take this idea further.


maclean posted Mon, 01 November 2004 at 4:13 PM

Wow, les. That's a lot of stuff. I think for the current project, it's probably too late, but definitely worth considering for future work. I'll give it a try and let you know if there are any problems. thanks again mac