Mesh - Matching resolution along edges

Next
 From:  Spills (STOMPINTOM)
3365.1 
Hello!

I looked around but can't seem to find any documentation on this. Is it possible to match the resolution of adjoining surfaces so that, when they are meshed and exported as an OBJ, their shared edge is a cleaner? At the moment when the resolutions don't match up, MOI subdivides the edges needlessly into triangles and makes life difficult for further modeling/texturing in programs such as Blender.

Any help would be much appreciated!

Thanks,

Tom
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Ralf-S
3365.2 
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3365.3 In reply to 3365.1 
Hi Tom, make sure that your surfaces are joined so that there is a shared edge between them.

When there are joined edges MoI will do some extra work to ensure that the generated mesh is "watertight" and has no gaps or holes between the meshes created for different surfaces.

If you don't want any triangles in the generated mesh, you can make that happen by using the "Output: N-gons" option at mesh export time, that will create multi-sided polygons at trimming boundaries instead of any triangles. But be aware that some polygon mesh programs cannot deal with n-gons very well. Modo, Lightwave, Cinema4D, Softimage, and 3DS Max (with FBX format) can typically handle them well though. So if having no triangles is important to you, you might try using one of these programs that can handle n-gons well.


Since you didn't post an example image, I can't be exactly 100% sure what you are asking specifically about, but maybe you are also asking about having the underlying UV grid of each surface be completely aligned with one another - that can only happen in certain cases where the surfaces have the same size and share a natural trim edge.

If the surfaces have completely different UV spaces, then there isn't really any way for the mesh to have the exact same UV quad grid on each one, in those cases you will get n-gons at trimming edges and not simple quads.

In order to avoid that you would need to alter the way the model has been created, to make surfaces the same size along those areas and have the same UV layout.

Here are some previous discussions which may help to explain:

http://moi3d.com/forum/index.php?webtag=MOI&msg=1536.30
http://moi3d.com/forum/index.php?webtag=MOI&msg=1016.2
http://moi3d.com/forum/index.php?webtag=MOI&msg=2451.42
http://moi3d.com/forum/index.php?webtag=MOI&msg=1536.33


In the future I do want to experiment with some different meshing strategies, but it is a very difficult and time consuming area to work on so it may take a while.

In the meantime, just be aware that the mesher is not able to use things like human judgment or artificial intelligence, so it may not always produce the same kind of a thing that a human would. It tends to produce the cleanest output and UV quad alignment with mechanical type shapes, things like cylinders and spheres that have straight cuts on them.


Another possibility which can be effective if you want to have a particular mesh topology is to use a retopology tool like TopoGun (http://www.topogun.com/). Also 3D-Coat (http://www.3d-coat.com/) has a good set of retopology tools.


- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
3365.4 
Well we'll definitely appreciate any time you spend, Michael on trying out things.

Sometimes you can look at your mesh, like say a cylinder joined midway though a sphere and you'll say to yourself - "those two lines are so close to each other, why weren't they joined..."

But as you say, it's the UV space that causes the discontinuities.


The only recourse at that point is to retopo or build the object directly in a poly modeler if you need that much control over the topology.

Sometimes in MoI I wish there was a way to project a grid over a model; like shining a light through some graph paper and having MoI use those projected lines to mesh the object in hand!

Just wondering, is it feasible to have in NURBS modelers a UV Editor similar to what's available in poly apps but instead of cutting, positioning and flattening the UV polygons, you're rotating and scaling the UV sheets - to perhaps get the flow to line up better on the model?

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3365.5 In reply to 3365.4 
Hi Will,

quote:
Just wondering, is it feasible to have in NURBS modelers a UV Editor similar to what's available in poly apps but instead of cutting, positioning and flattening the UV polygons, you're rotating and scaling the UV sheets - to perhaps get the flow to line up better on the model?


Well, I'm not really sure it would be possible for it to work like that with NURBS.

The UV space of a NURBS surface is more of an integrated part of the surface definition, not really something that is rotated or manipulated as a separate attribute of the surface.

The UV space of each NURBS surface is more like the whole outer rectangle that you are working inside of in a polygon UV editor, not so much like the individual vertices and polygons that you might be manipulating within that space.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  jbshorty
3365.6 
It should be possible to pack and manipulate the UVs of a Nurbs render mesh? Actually there was a prototype of this in Rhino for over one year already. Not as full-featured as a polygon mesh unwrapper, but showed some good potential. It is planned to have true unwrapping in Rhino 5. Any chance that a copy/paste could preserve Rhino's mapping coords in MoI? Or that data is lost when MoI creates it's own display mesh?

@ Will - use a curve grid to split the objects, then join together before exporting at very low resolution...

jonah
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3365.7 In reply to 3365.6 
Hi jonah,

> It should be possible to pack and manipulate the UVs of a
> Nurbs render mesh?

Well a "Nurbs render mesh" is just a polygon mesh, so yes I guess it could be possible to do anything you can do to a polygon mesh to it.

In the future I do want to add an automatic packing procedure to MoI's UV output, but that is a lot different than a full fledged UV editing environment like Will seemed to be talking about.


> Any chance that a copy/paste could preserve Rhino's
> mapping coords in MoI?

I don't know... I haven't really looked to see how the mapping coordinates are stored in the 3DM file and if those are easily accessible to other applications just loading the 3DM data directly rather than using the entire Rhino runtime and plugin system.

When data is copy/pasted from MoI to Rhino or vice versa, it is just the equivalent of transferring a 3DM file on the clipboard.


> Or that data is lost when MoI creates it's own display mesh?

Right now there is nothing in place to try and look at mapping projections or anything like that, it's focused more on just moving NURBS geometry back and forth.


I'm not entirely sure what kind of data you are referring to... Do you mean that if you set up a projected texture on an object in Rhino that you won't see that projected texture assigned to the object in MoI? That's certainly true because MoI does not have anything in it to assign textures, or set up projection widgets or things like that in it.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3365.8 In reply to 3365.7 
I'm not really sure the technique behind, but beeing able to unwarp nurbs uv's in MoI would be so great.
Ngones output are really nice, and help uv's job in soft like modo or uvlayout a lot, it's much better than having thousands or micro triangle to deal with ...
but, I also often have trouble to unwarp some strange/complex ngon topology from MoI, looks like unwarping algo don't like those extreme ngones that much.

Without saying that every uv's job is of course lost if you decide to re-export a model (or some part of it) becouse you need
a better mesh resolution ... it will enhanced the workflow so much.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3365.9 In reply to 3365.8 
Hi PaQ - I don't really expect to have an actual full unwrap mechanism built into MoI, it's a pretty complex area that I don't have much specific experience in.

But what I do expect to be able to do is to have a somewhat better organization of the implicit UVs that come from NURBS surfaces.

Right now when you export from MoI, there are UV coordinates exported, but the UVs for each individual surface span the whole texture rectangle.

What I expect that I can do would be to separate each surface UVs into different islands instead of having them overlapping over the whole texture rectangle. That's going to involve just scaling and placement of the current implicitly generated UVs though, which is not exactly the same as an actual "unwrap" type calculation.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3365.10 In reply to 3365.9 
Hello

\\ Hi PaQ - I don't really expect to have an actual full unwrap mechanism built into MoI, it's a pretty complex area that I don't have much specific experience in.

Ho I can imagine, as there are dedicated tools for this since years ... so yes it's probably a full time job.

\\ What I expect that I can do would be to separate each surface UVs into different islands instead of having them overlapping over the whole texture rectangle. That's going to involve just scaling and placement of the current implicitly generated UVs though, which is not exactly the same as an actual "unwrap" type calculation.

I get it, that would be great allready. That's something packing from Modo/Uvlayout are supposed to do (pack + stetch ) ... but it doesn't work that great. Modo often just freeze when models are a little bit complex, and uvlayout stetching is not correct/accurate enough (still a lot of distortion on one axis).
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3365.11 In reply to 3365.10 
Hi PaQ, so another thing that I'd need to decide about for UV packing is which things to target to pack together within the same texture rectangle.

The way I was thinking would be to do it at a solid level, like shrinking down the UVs for each surface within a solid so that each surface occupied its own little uv island of the full texture rectangle.

But I guess there are other possible ways to do it like pack everything within the same style to be within one texture rectangle.

Is there one particular UV grouping method that would stand out as being the best thing to target?

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
3365.12 In reply to 3365.11 
Well again Michael, I look forward to trying out any ideas you may have on the UVs and give feedback on how it works out with my stuff!

JBShorty
"@ Will - use a curve grid to split the objects, then join together before exporting at very low resolution..."

I'm not sure what you mean by curve grid? Do you mean just split my objects at the places where the topo could be better to get a better match between the surfaces?


-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3365.13 In reply to 3365.11 
Hi Michael,

Sorry for the little delay, I had to think about it, but I would say your solid based idea probably fit the best 'my' workflow.
Probably because I don't use style at an exteme condition, I often make all my material attribution in an other software.

As far as every uv islands have the same ratio (so no stretching/scale difference between every uv's island).

Still have to think about it a little bit too :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3365.14 In reply to 3365.13 
Hi PaQ,

> As far as every uv islands have the same ratio (so no
> stretching/scale difference between every uv's island).

Stretching won't really be possible to totally eliminate if the surfaces themselves compress or squish.

But in relation to one another the way I was thinking would be to do it by surface area of the 3D polygons.

So for instance the corner patch in a filleted box would get a smaller UV area than a larger sized piece.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3365.15 In reply to 3365.14 
>> But in relation to one another the way I was thinking would be to do it by surface area of the 3D polygons.

So for instance the corner patch in a filleted box would get a smaller UV area than a larger sized piece.

Yes what's I have in mind in fact, distortion can be fixed with a uv unwarp package.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  jbshorty
3365.16 In reply to 3365.12 
It's an old workaround used in Rhino to force tesselation where the mesher doesn't find the solution on it's own. So yes, I mean you can try splitting the object then rejoing to make "user-defined" polygonal boundaries...
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Fredrik (FREDRIKW)
3365.17 
Hi there

T-Splines can sometimes produce the kind of UV continuity you are looking for, but then again that requires Rhino + T-Splines.
T-Splines currently does not use trimmed surfaces, but it places vertex points points into the same plane to give a smooth result.
Think you may find this interesting.

-Fredrik
Image Attachments:
Size: 109.6 KB, Downloaded: 19 times, Dimensions: 333x266px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All