Problem with flipped surfaces

Next
 From:  Mark Brown (MABROWN)
2970.1 
Hi everyone,

I am part way through modeling a ship. I exported as obj into Kerkythea and on doing a test render found that some of my surfaces appear to be flipped. The plain coloured material as exported by MoI renders fine. The problem surfaces when I apply my Kerkythea material which seems to render one sided. I don't think that it is an export issue as 3ds does the same thing. I think the problem may have happened following a boolean.

A search of the forum indicated that a "flip" command was available in a beta but I can't seem to find it. Shortcut perhaps?




---
Mark
http://www.homepages.ihug.com.au/~mabrown/index.html


  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:  Frenchy Pilou (PILOU)
2970.2 In reply to 2970.1 
yes there is a flip fonction in the folder Command but don't remember what this do :)
Sure you can try with a shortcut in writing just Flip in the second column ;)
Edit
Yes it's that : flip the object's normal (i suppose) by shortcut :)
But from your modele seems you must make that surface by surface :)

EDITED: 6 Oct 2009 by PILOU

  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:  Nick (BODINI)
2970.3 In reply to 2970.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
2970.4 In reply to 2970.1 
Hi Mark, yes there is a flip command in v2. But there is no icon set up for it yet, to use it you need to set up a keyboard shortcut for it, or type it in by hitting the tab key first and then typing flip.

But usually the best way to avoid flipped surfaces is to try and make your model made up of solids rather than open surfaces.

When a model is a closed solid, then MoI is able to automatically determine an inside and outside direction and you should get things all oriented.

When things are just open surfaces, then there isn't an automatic way for MoI to determine which side is supposed to be the "outside".

Also another thing that can help even if you have open surfaces is to use Edit/Join to glue together any surfaces that touch at common edges. Pieces that are joined will all have a consistent normal direction between them and even if it needs to be flipped (if it is not a solid) it will be easier to manage larger pieces instead of all individual small pieces.


Also probably the absolute easiest way would be to alter the Kerkythea material to be a two-sided material rather than one-sided. Usually with renderers there is an option for that and with that set up you would not need to worry about 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:  Mark Brown (MABROWN)
2970.5 In reply to 2970.4 
Thanks guys for the help. I just used the flip function (quickly at work) and it seems to do the job.

Regarding the way I have modelled it, I have a habit of lofting/networking halves of objects then mirroring & joining, perhaps not a good practice? Model is joined as I have found that light gaps occur between surfaces unless they are joined prior to polygon export.

I think my materials in Kerkythea are a bit of a mixture of double and single sided. This model will need to be imported into MAX and I want to be certain that when it is it will render correctly regardless of how materials are applied.

Thanks everyone for the help. It is greatly appreciated :)

---
Mark
http://www.homepages.ihug.com.au/~mabrown/index.html

  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
2970.6 In reply to 2970.5 
Hi Mark,

> Regarding the way I have modelled it, I have a habit of
> lofting/networking halves of objects then mirroring & joining,
> perhaps not a good practice?

That should be fine...


> Model is joined as I have found that light gaps occur between
> surfaces unless they are joined prior to polygon export.

Well, from your screenshot it looked like there were some different flipped parts along the hull. When things are joined they should all get a consistent direction, so it seemed like some of those parts were possibly not joined with one another?

But yes aside from getting a consistent normal direction between joined pieces, there is also additional work done for the mesh generation along joined edges to make sure that there is a unified mesh vertex structure at those spots. If pieces get meshed completely independent from one another (not joined to one another) then it is possible for the meshes of each surface to be slightly different from one another and you can get slight cracks when 2 sets of polygons do not align with one another (see this previous post for an illustration). So yes that's another good reason to have pieces joined to each other.

- 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:  Mark Brown (MABROWN)
2970.7 In reply to 2970.6 
Hi Michael,

> Well, from your screenshot it looked like there were
> some different flipped parts along the hull. When things
> are joined they should all get a consistent direction, so
> it seemed like some of those parts were possibly not
> joined with one another?

I checked my model and I do believe you are correct Michael (should I have doubted it?). There appears to be some face wierdness going on as I think I have some faces sitting directly on top of each other. I rebuilt some curves and may have created some duplicates at that stage. I also thought my model was fully joined but I don't think it is. It was... some time before I booleaned the torpedo belt to the hull.

I'll go back to the hull without torpedo belt and see what I get.

---
Mark
http://www.homepages.ihug.com.au/~mabrown/index.html

  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:  DannyT (DANTAS)
2970.8 In reply to 2970.7 
Hi Mark,

> I also thought my model was fully joined but I don't think it is.

Just to add to this and help you find out if your model is joined and to find open/unattached edges, there is a script to highlight these 'naked' edges that you can assign a keyboard shortcut to.

script:var gd = moi.geometryDatabase; gd.deselectAll(); var breps = gd.getObjects().getBreps(); for ( var i = 0; i < breps.length; ++i ) breps.item(i).getNakedEdges().setProperty( 'selected', true );

(Note:the script is one long line)

[EDIT]:BTW this only works for V2.

Cheers
~Danny~
  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:  Brian (BWTR)
2970.9 In reply to 2970.8 
I see a couple of "brians" moments in this thread.

Brian
  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:  BurrMan
2970.10 In reply to 2970.9 
>>>I see a couple of "brians" moments in this thread.>>>


I see that also!

A user of "Beta" software had some issues with his model and entered the forum with a question. Received Prompt response to his question along with some tips on what he may have possibly done with his model that could help to avoid this in the future (The learning) and accompanied with a few more posts of very usefull information for the user to continue his wonderful MoI experience! :O

Just about "Identical"! :)
  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:  Mark Brown (MABROWN)
2970.11 In reply to 2970.10 
> Just to add to this and help you find out if your model is
> joined and to find open/unattached edges, there is a script
> to highlight these 'naked' edges that you can assign a
> keyboard shortcut to.

Thanks so much for the script Danny. This one is a definite keeper. I ran it on the pre-booleaned version of my hull (definitely successfully joined) and it found a missing (very tiny) surface. Brilliant!

Regarding the "Brians" moments, this is one of a small handful of forums I visit where there really are no stupid questions. I make a point of using the search and more often than not I find a post that gives a solution to a question I was about to ask. When I can't, there are great responses like these.

Thanks to all!

---
Mark
http://www.homepages.ihug.com.au/~mabrown/index.html

  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:  Mark Brown (MABROWN)
2970.12 In reply to 2970.11 
A couple of quick renders of the "fixed" model. Detailing to come...







Thanks again for the help guys.

---
Mark
http://www.homepages.ihug.com.au/~mabrown/index.html


  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:  Michael Gibson
2970.13 In reply to 2970.12 
Looking very nice already Mark!

- 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
 

Reply to All Reply to All