Wed, Nov 13, 10:58 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 12 11:30 pm)



Subject: Crude tool (application) up for scrutiny:-) .. (Adult flags not required...)


diolma ( ) posted Fri, 03 September 2004 at 4:30 PM · edited Wed, 06 November 2024 at 1:50 PM

Hi Guys.
I've (almost) finished creating a little app that (I hope) I'm going to find useful.

What I'd like to know is if there's any interest for it by anyone else (as a freebie, of course).
If not, I'll leave it in its rough'n'ready state ('cos I can always change anything I don't like..); if there is interest, I'll spend some time and effort tidying it up:-)

WHAT IT DOES:
It takes an existing prop (.pp2 file) and replaces the custom geometry with that from a (Wavefront) .obj file, whilst leaving the rest of the file (including groups and materials) intact.
In other words, it's an automated cut-n-paste jobbie.

WHY DOES IT DO IT?:
I decided to do this app because of the problems I kept encountering when fitting dynamic clothing to figures other than (or morphed from) the one they were designed for.
What I do is use the (now well-documented, many thanks to PhilC and others) technique to of scaling the clothing and the figure in whatever way is needed in frame 1, restore the figure to normal+morphed size/shape by frame 10-20 (depends) and allow the cloth room to stretch/fit/drape the cloth accordingly.
The problem comes when trying to save the clothing, ready for use in further scenes.
You can't save the new (fitted) clothing as a prop because P5 saves the original (frame 1 version) instead.
You can save the (fitted) clothing as .obj file, and thats fine, except you lose any P5 special stuff, including transparency and material groups (rigid/soft decorated being one of the major problems).
You can spawn a morph target and save the result as a new prop. But then you get problems when re-clothifying, because the morphs get re-applied in each frame of any further change.
You can save the whole lot as a pz3 file, but then you have to add additional frames for any pose changes and wait while the whole fitting is re-calculated before the pose starts acting (trying to do both fitting and posing at the same time can lead into problems..).
So this little app just takes a saved .obj file, copies the revised verts into the a COPY of the original clothing file then saves a new prop.

LIMITATIONS:
Very little testing done (but the resulting .pp2 files load OK. I still need to sort out some "smart-prop" stuff to avoid mis-positioning - see below.)
PC only (uses MFC C++ for Win 2K-pro). Probably won't work with Win 98 or previous.
It makes no attempt to create a .rsr/.png file to go with the result (so you'll just get the shrugging man.. - load then resave in P5..)

METHOD OF USE:
Browse for the relevant original (pp2) file;
Browse for the corresponding (fitted) .obj file;
Browse to (and create/select) a NEW .pp2 file to save to.
Hit the CREATE button. New pp2 will be file created.

ANTICIPATED ENHANCEMENTS:
Ability to exclude/include (via check-boxes):
Any existing cloth-room special groups (constrained, choreographed etc.);
"Smart-prop" parenting.

DISTRIBUTION:
I don't have a web site so:
Anyone interested in the executable, just IM me or e-mail me at diolma2003@yahoo.co.uk
If anyone is interested in extending the code or translating it into (eg) python for other platforms, just tell me and I'll send a zip file containing the source code. (Warning - it's dialogue based, so you'll need MSVC to be able to view all the source properly, and it's not particularly well documented. It's just a little helper-app for my own use:-)
If there are enough replies I'll put some effort into the app, Otherwise it'll just potter along as and when I feel like it 'til it does everything I want (could take months..)

NOTES:
Whilst this mini-app was created for a specific purpose (and the defaults are all set up to reflect that purpose), it could also be used to do the same thing to other Poser (eg cr2) files. I have no idea why this should be of any use, but somebody might have..

Cheers,
Diolma

Message edited on: 09/03/2004 16:31



maclean ( ) posted Fri, 03 September 2004 at 4:37 PM

diolma, In other words, it converts embedded geometry to external geometry? I'd say that's an incredibly useful tool. You only need to look at the amount of threads asking how to do it, to see how useful it would be. Kudos mac


Gareee ( ) posted Fri, 03 September 2004 at 4:54 PM

"In other words, it converts embedded geometry to external geometry? I'd say that's an incredibly useful tool. You only need to look at the amount of threads asking how to do it, to see how useful it would be. Kudos mac" If that's what it does, then P-Wizard has an object ripper as well, but of course, it's not free. Most marketplaces though require the props n such already ripped, calling external geometry already.

Way too many people take way too many things way too seriously.


maclean ( ) posted Fri, 03 September 2004 at 5:08 PM

Thanks, garee. I didn't know there was another one out there. I just do mine by hand. mac


diolma ( ) posted Fri, 03 September 2004 at 5:26 PM

Errm..no it doesn't. At least I don't think so. What it does is replace the (existing) custom geometry verts (only) section in a prop with the (hopefully identical) verts from a .obj file. The new prop doesn't refer to the external .obj at all. The app creates a NEW prop with the custom geometry changed. Mind you, there's no reason why it couldn't be altered to just refer to the .obj file (if I can sort out the syntax); that'd be easy. As I said, it's rough'n'ready. Not a properly developed app (I've only spent about 4 hours on it, and about 1.5 of those were spent getting MSC info off the net, 'cos I'm recovering from a disk crash and have lost my MFC help stuff..) But if it's of help as it is, then I'll make it avaialble ASAP..:-) (even in its crude state). But I can't host it, I have no web-site; I need somebody else to do that for me..all I can do is reply via e-mails, and I'm somewhat slow doing that. But I'll try.. Cheers, Diolma



kuroyume0161 ( ) posted Fri, 03 September 2004 at 6:16 PM

Making the embedded geometry into an external geometry .obj file is easy. You just take everything between the '{' and '}' after geomCustom (minus the numb values) and write it to a file, hopefully in the RuntimeGeometries folder somewhere, name it [something].obj. You can copy the 'numb' values to the external file, but place a '#' in front of each so that they are seen as comments by .obj file parsers. Then you remove: geomCustom { numbVerts 2880 numbTVerts 2999 numbTSets 11448 numbElems 2880 numbSets 11448 [embedded obj file] } and replace with: storageOffset 0 0.3487 0 objFileGeom 0 0 :Runtime:Geometries:...:[something].obj That simple.

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


jwhitham ( ) posted Fri, 03 September 2004 at 6:23 PM

Diolma,

just tried e-mailing you via Renderosity 'e-mail member', but I'm kind of unconvinced that it went you, or from an account that I still use. Anyway I can host the file if required. Try IM to reply.

John


hauksdottir ( ) posted Fri, 03 September 2004 at 8:04 PM

What you are saying is that with this app, I could take PhilC's caftan for V3 and fit it to Natalia, Judy, and Furette2 using cloth dynamics... and save the prop out for each of them as a separate NEW prop ("caftan for Judy") etc. without having to refigure and recalculate each time I wanted to use it? I would have to recalculate for the pose, but would have 4 caftans in my closet? Oh, no, I can't see why anybody would be interested in fitting props to other characters with a click or two! And then making new ones. Anything which makes our purchases go further or saves a half hour here and a half hour there is a good idea! Carolly


SnowFox102 ( ) posted Fri, 03 September 2004 at 9:09 PM

Kinda reduntant of me to post for no reason other than to agree with everybody else, but...I agree with everybody else, and I'm quite excited about it ^_^ I haven't yet tried cloth fitting, but that's only because I haven't gotten P5 yet. I'm sure I'll be using this tool if you release it!


EnglishBob ( ) posted Sat, 04 September 2004 at 12:56 PM

Yes, this would be very useful, as the others have said. If it could handle other file types such as CR2 and HR2 as well, that would be even better. There are some things you can do in Poser which result in embedded geometry in the CR2, apparently, and this is a pain which is well worth fixing. There are other reasons to have an external OBJ as well; it makes remapping easier; it means a prop can be used in other apps such as Bryce or Vue d'Esprit; etc. etc...


artnik ( ) posted Sat, 04 September 2004 at 1:51 PM

YES, YES, YES!!! Thank you and see my IM.


diolma ( ) posted Sat, 04 September 2004 at 4:34 PM

I think I should make something clearer. The app does NOT (yet) replace custom (embedded) geometry with .obj references. (However - that may come soon, given the interest.) What my app does is take a prop file and replace the custom geom in it with the vert-data from that of an already existing .obj file. The new vert data is included in the new prop as replacement custom geometry. For example: Load a figure. Load some dynamic clothing. Use the cloth-room to fit/stretch the clothing to that figure. Save the resulting clothing (from the frame that looks best) as a .obj file. All standard so far. (Side note... The reason for taking this approach (rather than using external geometry) is that, if you have a bit of clothing fitted to a specific figure, it is unlikely that that identical set of verts would be used for any other figure. However, I can see that in different situations, the reverse might be true.) Now my app: Takes the ORIGINAL clothing prop and the FITTED .obj file, and replaces the verts in the original file with those from the .obj file and saves the result to a new file. I am working on some enhancements: Currently ALL it does is replace the vertices in a prop file with new vertices. I have already discovered some problems with this approach, which I want to change (for my own benefit). The main problem I've found so far is that, by copying the original prop, the new prop retains any parenting, which can lead to having to re-parent the new prop to "universe", then zero the x/y/z params (if, as I usually do, you re-parent the clothing to universe whilst going through the fitting process). Not a big deal, but an annoyance none the less. The other problem is that some props come with multiple custom geometries embedded (PhilC's "Hareem" costume being a case in point) which my app doesn't cater for at all. There are also some "presentation" problems, which, if this app is going to be more used than I expected (as seems to be the case), I ought to get sorted. I have a (very basic) version up and running. I'm going to be working on it during the next week or so because are some other issues I need to look into if this app is going to be taken seriously, rather than the hack tool it is at present: There's no help. There's no check that the verts in the .obj match those in the the pp2 file. Had I known the interest generated I wouldn't have started from here:-)) Finally: @kuroyume0161: Thanks for that info. It might come in handy:-)) @hauksdottir: errm, yes, I think. The idea behind the app is to be able to create pre-configured clothing for specific characters, to avoid going through all the cloth-room stuff each time (and sometime several times just for 1 character). @EnglishBob: My app works the other way around, and is specifically designed to INCLUDE embedded geom into a poser file (see above). But if there's a lot of interest in doing the reverse (and there seems to be) I could do that too, but later.. I have enough on my plate right now. PS - one of the things I have beeen thinking about is creating .obj files for external use by Poser, stripping any normals info on the way.. Anyway, bedtime now... Cheers, Diolma



Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.