Sun, Dec 1, 12:23 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 29 7:57 am)



Subject: Importing OBJ for morph targets causes the geometry to offset to 0,0,0


Zanzo ( ) posted Thu, 24 May 2012 at 3:27 AM · edited Sun, 01 December 2024 at 12:22 AM

Victoria 4

  1. I export a single OBJ for hip and left thigh

  2. Under export options the only box that is checked is "include existing groups in polygon groups". The rest of the boxes are unchecked.

  3. I import into Zbrush and make the fixes to the geometry that didn't bend right.

  4. I hide the hip and export just the left thigh from Zbrush.

  5. I hide the left thigh and export just the hip from Zbrush.

  6. Now I have a hip.obj and leftthigh.obj with the corrections I made in Zbrush.

  7. I go to load these new obj's as a morph target in poser. They load correctly but when I set the dial value to 1 the geometry is COMPLETELY moved to 0,0,0 it seems.

Anyone know why and how to fix this?


Zanzo ( ) posted Thu, 24 May 2012 at 3:49 AM · edited Thu, 24 May 2012 at 3:50 AM

Here is a screenshot of the problem. i tried with the neck & head, same issue. It's not offsetting to 0,0,0 it's just off.

 


Ian Porter ( ) posted Thu, 24 May 2012 at 4:00 AM

If you are exporting bodyparts to create morphs from then any offsets and bends of the exported figure will be baked into the morph you create, which is generally not what you want.

Ideally you should work from a copy of the .obj file in the geometries folder, rather than exporting a figure from the scene, that is the safest way of avoiding this kind of problem.

If you really must export from the scene then there is an export option 'export as a morph target' which will remove translations, but joint bends and any active morphs/ magnet effects will still be included, so it can still be difficult.

If you want to try rescuing the morphs you have made, load them into Poser and then translate them to the 0,0,0 position and then export again. If you know how much the exported figure was translated from zero then this might work, if not it will be trial and error, and probably easier to start again as described above.

Best of luck with it. either way.

 

 


vilters ( ) posted Thu, 24 May 2012 at 4:04 AM

If you want to export parts of an obj file to make morphs externally, the figure/object has to be in its absolute ZERO, position.

Remove all IK
ZERO all joints with the joint editor.

Set figure at Trans 0.000 for X,Y,Z,

Set/check hip at Trans 0.000 for X,Y,Z,

Now you can export the parts of the figure you want to morph externally.
The figure obj HAS to be in the exact neutral position, (as the obj file in the Geometries folder is), before you can export parts to make external morphs.

Some apps require an extra step as they loose the uv data.
If you loose the uv data, take the morphed obj file through uvmapper to import the uv data from the origional obj file.

Poser 1, 2, 3, 4, 5, 7, P8 and PPro2010, P9 and PP2012, P10 and PP2014 Game Dev
"Do not drive faster then your angel can fly"!


EnglishBob ( ) posted Thu, 24 May 2012 at 4:09 AM · edited Thu, 24 May 2012 at 4:13 AM

What are you aiming for, Zanzo? You mentioned corrections, so are you trying to fix bending problems? The normal process would be "export as morph target" or better, as Ian Porter says, use the figure's original geometry; but these will be no good if you want the bends to be in the mesh you work on in Zbrush.

I know there is a method for doing this, but I don't know what it is. :) I'm just trying to clarify for the benefit of those who might know. 

Edit:

Quote - the figure/object has to be in its absolute ZERO, position

Not if you use "export as morph target" because that zeroes all transforms - and not if you use the geometry file, which is my preferred method. I never quite trust Poser to get everything exact. ;)

There's also the issue that the import/export process via Zbrush may move things, but as I said, I have no knowledge of that. 


richardson ( ) posted Thu, 24 May 2012 at 4:16 AM · edited Thu, 24 May 2012 at 4:19 AM

Idon't know the latest tech on this as Zbrush has been evolving quickly this year but, when ZB3 came out, Fivecat (spelling) did a nice tut here in Zbrush forum on how to work in layers. It's a bit more involved than your technique but delivers.

"I export a single OBJ for hip and left thigh"

Actually, that's 2 objects.

 

crossposted with everybody..


Ian Porter ( ) posted Thu, 24 May 2012 at 4:23 AM · edited Thu, 24 May 2012 at 4:37 AM

EnglishBob,

I know Colourcurvature created a really good program for solving reverse deformation of joints, I helped beta test if for him. His program is great for making joint corrections.

It was on sale for a while but I have not seen it lately, which is a great loss. There were some small issues with normals being sometimes distorted at the joint boundaries but he had created a fix which always worked for me. From dealing with him in the beta he is a perfectionist ( I mean that as a compliment ) and I think he was troubled that the program didn't get everything perfect every time.

Vilters,

You don't need UV's in a morph target for Poser, so losing them is generally not a problem. All that Poser needs in an .obj to import a morph target is the vertex position statements. You can remove the vt and vn entries from an .obj and it is still good as a morph target. ( In fact I believe this is the preferred method of distribution as it avoids breaking copyright on the source mesh ). If you are wanting to observe how your morph affects a texture on your object whilst you are making it, then I would absolutely agree that you need to retain UV's for that to work.

 


EnglishBob ( ) posted Thu, 24 May 2012 at 4:46 AM

Quote - I know Colourcurvature created a really good program for solving reverse deformation of joints...

Now you mention it - I did see that, but didn't have time to become involved.

I've tried making morphs based off posed parts, and all I know is that even on the few occasions when it succeeeded it was so complex that I wouldn't want to try describing the process to anyone else. :) Hopefully Colour curvature will persist.


EnglishBob ( ) posted Thu, 24 May 2012 at 5:44 AM

Apologies for driving this thread off-topic, but this was more interesting than what I was supposed to be doing. :)

I decided to test the accuracy of various morphing methods. "Everybody knows" that using the original geometry is best, but that doesn't make it true. :)

I created three different morph targets, using the following methods.

  1. I separated V4's rMid3 group from her .OBJ file as found in :Runtime:Geometries:DAZPeople:, using UVMapper Pro.

  2. I loaded V4 into Poser and zeroed her as completely as I was able, including disabling IK. Then I exported her rMid3 group, with all the boxes unchecked.

  3. I applied one of the DAZ poses that come with V4, then I exported rMid3 again; but this time, with "Export as Morph Target" checked.

Then I applied each export as a morph target and saved the character. If the export was perfect, then the resulting morph should have no deltas since there was no change to the geometry.

The 'geometry direct' and 'export as morph' methods both produced perfect results, with no deltas generated.

However the export from a zeroed figure produced 371 deltas, one for every vertex in that body part. In other words, that export method had moved the vertex positions; it isn't perfect. True, it may be good enough in most cases - the maximum delta generated by this experiment was 0.000263 Poser/OBJ units. That's less than a millimetre, and I deliberately picked a body part that was a long way from the base of the figure hierarchy.

Hope that clarifies things. Now back to your regularly scheduled programme. :-) 


WandW ( ) posted Thu, 24 May 2012 at 6:01 AM

Quote - I know Colourcurvature created a really good program for solving reverse deformation of joints, I helped beta test if for him. His program is great for making joint corrections. It was on sale for a while but I have not seen it lately, which is a great loss. There were some small issues with normals being sometimes distorted at the joint boundaries but he had created a fix which always worked for me. From dealing with him in the beta he is a perfectionist ( I mean that as a compliment ) and I think he was troubled that the program didn't get everything perfect every time.

 

Hannes is on an extended trip where he doesn't have internet access, so he temporarally closed his site in the interim.  If you email him he'll eventually reply when he has a chance...

----------------------------------------------------------------------------------------

The Wisdom of bagginsbill:

"Oh - the manual says that? I have never read the manual - this must be why."
“I could buy better software, but then I'd have to be an artist and what's the point of that?"
"The [R'osity Forum Search] 'Default' label should actually say 'Don't Find What I'm Looking For'".
bagginsbill's Free Stuff... https://web.archive.org/web/20201010171535/https://sites.google.com/site/bagginsbill/Home


Ian Porter ( ) posted Thu, 24 May 2012 at 6:17 AM

WandW,

Thanks for that. I hope he is enjoying his trip. He is a really nice genuine guy and I was amazed how quickly he was able to identify and resolve issues that came up in the beta. He certainly is an asset to the community.

EnglishBob,

I have seen similar with trying to manually zero a figure. I think at least one of PhilC's plugins for Poser includes a 'superzero' which does work. Sadly I can't recall what it did that I missed at the time. It might be in Wardrobe Wizard included in Poser.


EnglishBob ( ) posted Thu, 24 May 2012 at 6:34 AM · edited Thu, 24 May 2012 at 6:35 AM

I tried the same experiment using the Super Zero Figure button included in Poser Toolbox, since I don't have a built-in WW in my version of Poser. It still generated a delta for every vertex, so not perfect... Maybe the built-in version has access to stuff that a plug-in does not.


Zanzo ( ) posted Thu, 24 May 2012 at 6:54 AM · edited Thu, 24 May 2012 at 6:56 AM

Someone mentioned "layers" in zbrush. I did a search and this post came up. I'm going to try it and see if it works.

http://www.renderosity.com/mod/forumpro/friendly_thread.php?print&thread_id=2709055


posted by fivecat,

I mentioned this process in a thread in the Poser forum, but thought I would describe it here also. Someone wanted to be able to create morphs on their posed figure, and then somehow transfer this over to Poser. Of course if you try to use the posed body group as a morph you'll get weird results.

Try this: In poser, pose your figure and export as obj, checking only the include group names, and include figure names boxes (do NOT check "as morph target" or you'll lose your pose). [note: if you are using 3.0, you will need to run your object files through uvMapper as I described in a previous thread to get the correct grouping. 3.1 fixed this problem.]

In zbrush, import the original, unposed obj file (geometries folder usually, efrontier figures may be in character folder). In your Tool palette, go to layers, and click New to create a new layer. Now import your posed obj file. It will be stored in this layer. Click on the eye to the right of the layer and you'll see the figure return to the zero pose. Click on the eye again. Now move the intensity slider slightly to the left (between 0 and 1) and you will see the mesh interpolate between the zero and the posed figure. Cool, huh? Return the slider to 1.0.

Now, create another new layer. Play with your brushes to sculpt the posed mesh. This new sculpting is saved in the current layer. Click on the eye and watch it disappear. Click it back on.

You now have the sculpting in a layer, and the pose in a layer. You can adjust the intensity or turn them off and on independently. On the pose layer, click on the eye to hide it or turn the intensity slider to 0. You now have your morph, which you created on your posed mesh, on your zeroed mesh ready to be exported.

Important correction!

You must export the zeroed figure from poser also, as poser changes the vertice number for some reason, and both files must match for this to work.

So, export the zeroed figure from Poser instead of using the geometry file, and export the posed figure.



Ian Porter ( ) posted Thu, 24 May 2012 at 6:59 AM · edited Thu, 24 May 2012 at 7:10 AM

EnglishBob,

I'm very suprised to hear that.

Are you able to see if all the deltas are offset by the same amount, or do they vary? ( might be easier to detect if you export two bodyparts at extreme ends of the figure, for instance a fingertip from each hand ).

If all the offsets are the same then there is some translation going on (sorry if that is stating the obvious )  if they vary it could be one or more rotations, and to be honest my vector maths is nowhere near good enough to calculate rotation based on delta position of vertices at some unknown radius from one or more unknown centres of rotation. Sines cosines and tangents are about my limit lol.

OT I never did get my head around imaginary numbers, and the idea that you can use them in engineering design is kind of scary IMHO. It doesn't do though to spread that kind of thinking, because if enough people stop believing in imaginary numbers then all kinds of bridges an things might cease to exist .. lol

V4 also has hidden magnets and suchlike which could be moving things from the true zero, but I am guessing now.


geep ( ) posted Thu, 24 May 2012 at 7:22 AM · edited Thu, 24 May 2012 at 7:24 AM

Attached Link: Making Morph Targets (MTs) for Poser

file_481651.gif

*(click on the image to view full size)* *(click the Attached Link: (above image) to view the complete tutorial)*

OOOooo... that looks familiar. :lol:

cheers,
dr geep
;=]

Remember ... "With Poser, all things are possible, and poseable!"


cheers,

dr geep ... :o]

edited 10/5/2019



Ian Porter ( ) posted Thu, 24 May 2012 at 7:26 AM

Zanzo,

Thanks for posting that. It is quite a complex procedure but fivecat clearly made it work, and I take my hat off to him/her for working that out.  I haven't tried it so I can't comment on how easy it might get with practice.

If I was going to try it I would do a really basic morph in Zbrush to start, and see if I was following  the procedure right, and getting predictable results, rather than spending a lot of time morphing and then finding I missed a step or misunderstood the procedue and all my careful morphing effort was wasted.

 


Ian Porter ( ) posted Thu, 24 May 2012 at 7:37 AM

Hello Doc my old friend, I should have remembered you have tutorials on all this stuff. ;-). Too many things to remember and I'm sure I forgot stuff like um, what were we talking about....?

 Oh yeah Zanzo The Doc here has loads of great tutorials and explains things a lot more clearly than I ever could. But watch out for that Naysay guy though, when he shows up it's usually trouble.  ;-)

 

 


richardson ( ) posted Thu, 24 May 2012 at 7:38 AM

That's the one. The old theory with the "extra verts" was the unwelded band at each bodypart seam. Zbrush can now detect them and prompts you to delete them. I would not do that unless your workflow requires it, as this can of course foul up the count too.

I'd start cheap; just do the minimum and get a flow. No sculpting. Just a quick pass over the seam with std. Then export.


lesbentley ( ) posted Thu, 24 May 2012 at 8:39 AM · edited Thu, 24 May 2012 at 8:40 AM

@EnglishBob,

Good one Bob! Thanks for publishing the results of your experiments. The result that a zeroed figure does not export as fully zeroed geometry is very disappointing, though not entirely unexpected. It's also very valuable to have confirmation that export 'As morph target' does work perfectly.

@Ian Porter,

Quote - V4 also has hidden magnets and suchlike which could be moving things from the true zero, but I am guessing now.

None of the V4 native magnets affect the fingers.


EnglishBob ( ) posted Thu, 24 May 2012 at 8:44 AM

Quote - Are you able to see if all the deltas are offset by the same amount, or do they vary?

The deltas generated by the zeroed figure are identical with those generated by the super-zeroed figure. I'm not going to do the maths needed to find what the actual transform is, but I'll cheer myself up by pretending that I could if I wanted to. If I stopped believing in imaginary numbers, the circuit design I'm (supposed to be) working on would vanish in a puff of Magic Smoke. :)


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.