maclean opened this issue on Mar 14, 2003 ยท 5 posts
maclean posted Fri, 14 March 2003 at 3:58 PM
Just messing around today, I took a figure with 6 body parts, deleted 3 and saved, then deleted the other 3 and saved that. I now have 2 cr2s that ref 3 body parts each out of 6 in the obj. Well, of course, when I opened them, the 1st one was fine, 3 parts, but the 2nd only showed the principal actor, the parent of all the others. I opened them in reverse order, # 2 first, and the situation was reversed. #2 was ok, but #1 only had the main actor. So, I guess this is because the geom rsr is hard-coded for a certain number of actors or something and trying to kid it won't work. Is there a way to do this? I doubt it, but it could be nice. For instance, if you know you're going to upgrade a product, you could build all the necessary parts into the obj, but only reference part of the actors in the initial cr2. Then the 2nd cr2 would ref the rest without a new obj or over-writing the old. This would also perhaps help distribution and anti-piracy, since people would have to have the original obj in order to use the 2nd cr2. mac PS and, yes... I did delete all 3 statements for each actor.
ToolmakerSteve posted Wed, 26 March 2003 at 11:30 AM
There is nothing to stop an obj from having extra parts - I do this all the time. The problem is happening when you try to load BOTH cr2's that reference the same obj. Why do that? Why not just have one CR2 that contains everything you need in version 1. Then when you upgrade, tell user to stop using that CR2, and use your new CR2 - which again contains everything it needs. That is, The new CR2 would go ahead and reference all 6 parts, so that you no longer need to load the old CR2.
ToolmakerSteve posted Wed, 26 March 2003 at 11:55 AM
Note: If you still would like to mess around with two cr2s referencing one obj, then it all depends what you are trying to accomplish. If you are hoping that the two cr2's could somehow end up merged together into a single figure - that isn't how cr2's work. You can get closer if the "add-on" file is a .pz2 file. But there are limits. The original cr2 would have to have a "ghost" part for each future part. Try this: From the original cr2 that contained all the parts, delete the "storageOffset" and "geomHandlerGeom" lines for one actor (one part). Load it - the part should now be permanently invisible, but still listed in the list of parts. Add those two lines into a .pz2 file, something like --------- { version { number 4 } actor rThigh:1 { storageOffset 0 0 0 geomHandlerGeom 13 rThigh } figure { } } --------- If this works, then could try deleting the addchild and weld lines for that "future part". Those lines would now be needed under figure. Something like: ... figure { addChild rthigh:1 hip:1 } ... I've never tried either of these myself ;-)
ToolmakerSteve posted Wed, 26 March 2003 at 11:58 AM
Oops - omitted the weld - I meant to say ... figure { addChild rthigh:1 hip:1 weld rthigh:1 hip:1 } ...
ToolmakerSteve posted Wed, 26 March 2003 at 12:00 PM
IMPORTANT: to find out what Poser ends up with, after applying the pose, SAVE THE FIGURE back to the character library, under a different name. Then you can examine that new cr2, to see whether the injected material got added. I didn't think up this - it has been mentioned before - passing on an insight that helped me!