wings3D error
wings3D error
when i convert my obj file to .bzw and try to run it in bzfs i get non-convex mesh face, invalid mesh face, what does that mean?
MONKEYPANTS.COM
you don't have to teselate, just make sure all your faces are convex. Teseating is just the fastest easyest most automatic way to ensure that every single one of your faces is convex ( since you can't have a concave triangle ). This will increase the face count. Any face with more then 3 verts will be turned into N-2 faces.
Many people don't seem to know the meaning of "concave"
from the dictonary
Main Entry: 1con·cave
Pronunciation: kän-'kAv
Function: adjective
Etymology: Middle English, from Middle French, from Latin concavus, from com- + cavus hollow
1 : hollowed or rounded inward like the inside of a bowl
2 : arched in : curving in -- used of the side of a curve or surface on which neighboring normals to the curve or surface converge and on which lies the chord joining two neighboring points of the curve or surface
Now to illustrate it with faces.
Each shape here can be considered a face in a mesh, looking directly "at" it or "normal" to it.
The Green face is convex, it has no "dents" in it, and is a valid face.
The Red face is concave, it has a vertex that goes back "inside" and makes the face invalid.
The red face would have to be broken up into more then one covex face to be made valid.
Teselating makes all faces into a grouping of triangles. Since a normal triangle can not have a "dent" then they automaticly become valid convex faces. You can have "degenerate" triangles that are invalid but these are rare cases where 2 points on a triangle are in the same place.
Many people don't seem to know the meaning of "concave"
from the dictonary
Main Entry: 1con·cave
Pronunciation: kän-'kAv
Function: adjective
Etymology: Middle English, from Middle French, from Latin concavus, from com- + cavus hollow
1 : hollowed or rounded inward like the inside of a bowl
2 : arched in : curving in -- used of the side of a curve or surface on which neighboring normals to the curve or surface converge and on which lies the chord joining two neighboring points of the curve or surface
Now to illustrate it with faces.
Each shape here can be considered a face in a mesh, looking directly "at" it or "normal" to it.
The Green face is convex, it has no "dents" in it, and is a valid face.
The Red face is concave, it has a vertex that goes back "inside" and makes the face invalid.
The red face would have to be broken up into more then one covex face to be made valid.
Teselating makes all faces into a grouping of triangles. Since a normal triangle can not have a "dent" then they automaticly become valid convex faces. You can have "degenerate" triangles that are invalid but these are rare cases where 2 points on a triangle are in the same place.
JeffM
ok so ive got the obj file made but after i convert to bzw file it wont load all the stuff, here are the files and a pic of the errors
- Attachments
-
- problem.zip
- zip file with all three
- (32.16 KiB) Downloaded 201 times
MONKEYPANTS.COM
You have some realy messed up faces in the obj file. There are 4 faces that have 18 verts each and go ALL over the place. ( the outer walls that don't have the holes in them). They are non planar faces and a non convex faces. You should fix them in your modeler cus it seems to have generated some realy messed up faces.
JeffM
Pick your 4 square faces, and quadrangulate them.
Also, I noticed that your holes aren't exactly circular.
If you select all of the vertices along 1 of the 2 rings,
and deform->inflate->100%, it'll make them into a nice
circle. Then repeat for the other ring.
P.S. The convex criteria has been modified (In my code
at least), so that polygons are still considered convex
if they have collinear edges. What this means is that
my bzfs read your .bzw file without any errors.
Also, I noticed that your holes aren't exactly circular.
If you select all of the vertices along 1 of the 2 rings,
and deform->inflate->100%, it'll make them into a nice
circle. Then repeat for the other ring.
P.S. The convex criteria has been modified (In my code
at least), so that polygons are still considered convex
if they have collinear edges. What this means is that
my bzfs read your .bzw file without any errors.
Trepan, what does "collinear edges" mean? Thanks.trepan wrote:P.S. The convex criteria has been modified (In my code
at least), so that polygons are still considered convex
if they have collinear edges. What this means is that
my bzfs read your .bzw file without any errors.
protected object myTank(){
foreach(noob in this.game){return frag(noob);}}
foreach(noob in this.game){return frag(noob);}}
Here's a freebie:
also:
http://mathworld.wolfram.com/Collinear.html
Code: Select all
From WordNet (r) 2.0 [wn]:
collinear
adj : lying on the same line
http://mathworld.wolfram.com/Collinear.html