Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
This mesh causes "Index was outside the bounds of the array"
#1
Please check this mesh:

https://drive.google.com/file/d/1hlYs6T7...sp=sharing

when I try creating topology for it I get an error:

[Image: 1_800.jpg]
Reply
#2
Really hope you can look into it.
Reply
#3
(24-06-2019, 02:33 PM)cubrman Wrote: Really hope you can look into it.

Hi,

According to Blender, there's lots of non-manifold vertices in your mesh. I'm using the Select->Select All by Trait->Non-manifold tool to highlight the malformed vertices in the following image:

[Image: QayPJ1l.png]

Obi only supports creating topologies out of 2-manifold meshes. Quoting the manual:

Quote:Non-manifold meshes are not supported, if you use one the topology will try to identify the source of non-manifoldness and let you know via a warning message. Some non-manifold meshes will however slip trough, causing trouble down the road. Make sure that your input mesh is 2-manifold. In case you need to simulate a non-manifold mesh, use proxies.

If needed, you can later bind a non-manifold mesh to any cloth simulation using proxies. This allows you to use any mesh for the final simulation, as long as the source topology was generated from a 2-manifold mesh. See:
http://obi.virtualmethodstudio.com/tutor...oxies.html

The easiest route for you right now is to just fix the mesh so that is contains no non-manifold elements.

Hint: start by the sleeves. There's some pretty nasty topology there (two faces sharing a single vertex but no edges, among other stuff).
Reply
#4
Damn, I kinda feel like I already asked this question and got the same response like 8 month earlier, if you feel that too - sorry for wasting ur time. I promice I will improove Sonrisa

I've checked what non-manifold means and I am very shocked really, it kinda feels like there is absolutely no way to create something like a shirt mesh without running into this problem. How does one avoids creating non-manifold meshes? Especially given your requirenment of mesh being one-sided?

No really I am stuck: I cannot imagine how can I create anything that would be non-maniford cloth-wise. I am just stuck.

I am pretty sure the "Flag" mesh you use in your project is non-manifold. How is that working? Seriously I am VERY confused.
Reply
#5
(25-06-2019, 04:06 PM)cubrman Wrote: Damn, I kinda feel like I already asked this question and got the same response like 8 month earlier, if you feel that too - sorry for wasting ur time. I promice I will improove Sonrisa

I've checked what non-manifold means and I am very shocked really, it kinda feels like there is absolutely no way to create something like a shirt mesh without running into this problem. How does one avoids creating non-manifold meshes? Especially given your requirenment of mesh being one-sided?

No really I am stuck: I cannot imagine how can I create anything that would be non-maniford cloth-wise. I am just stuck.

I am pretty sure the "Flag" mesh you use in your project is non-manifold. How is that working? Seriously I am VERY confused.

Hi,

In plain english, a non-manifold mesh is one that does not represent a continuous, closed, smooth surface. Common sources of non manifoldness:

- Triangles sharing no edges, but sharing vertices. (there's a couple of these in your shirts sleeves)
- An edge shared by more than 2 triangles. Commonly seen when modelers try to create two-sided cloth by just duplicating every face in the mesh and flipping them, essentially making the entire mesh non-manifold. If you require two-sided meshes you can: use proxies, use a two-sided shader, or use two materials one for each side (this last approach is used in all Obi sample scenes).
- Edges adjacent to 0 faces. (antennae-like edges)
- Rogue vertices (vertices that are part of no edges)
- Adjacent faces with normals pointing in opposite directions (imagine a table whose "top" side abruptly becomes its "bottom" side...not possible in real life, should not happen in 3D models)
- etc.

Border edges (edges shared by only 1 face) are generally regarded as non-manifold, but these are allowed in Obi (not allowed for 3D printing though, which does require perfect non-manifoldness). The meshes included in Obi are all 2-manifold.
Reply
#6
(25-06-2019, 04:49 PM)josemendez Wrote: Hi,

In plain english, a non-manifold mesh is one that does not represent a continuous, closed, smooth surface. Common sources of non manifoldness:

- Triangles sharing no edges, but sharing vertices. (there's a couple of these in your shirts sleeves)
- An edge shared by more than 2 triangles. Commonly seen when modelers try to create two-sided cloth by just duplicating every face in the mesh and flipping them, essentially making the entire mesh non-manifold. If you require two-sided meshes you can: use proxies, use a two-sided shader, or use two materials one for each side (this last approach is used in all Obi sample scenes).
- Edges adjacent to 0 faces. (antennae-like edges)
- Rogue vertices (vertices that are part of no edges)
- Adjacent faces with normals pointing in opposite directions (imagine a table whose "top" side abruptly becomes its "bottom" side...not possible in real life, should not happen in 3D models)
- etc.

Border edges (edges shared by only 1 face) are generally regarded as non-manifold, but these are allowed in Obi (not allowed for 3D printing though, which does require perfect non-manifoldness). The meshes included in Obi are all 2-manifold.

I opened the trenchcoat scene and now I know how you reconcile single-sided meshes requirenment with manifold requirenment.

Still, this is what blender shows when selecting non-manifold vertices for the flag mesh that is used in the 'Wind' demo (see image attached).

Why can the flag be allowed while my mesh is not? The edges in my mesh are also only shared with 1 face.
Reply
#7
(25-06-2019, 06:06 PM)cubrman Wrote: I opened the trenchcoat scene and now I know how you reconcile single-sided meshes requirenment with manifold requirenment.

Still, this is what blender shows when selecting non-manifold vertices for the flag mesh that is used in the 'Wind' demo (see image attached).

Why can the flag be allowed while my mesh is not? The edges in my mesh are also only shared with 1 face.

Blender shows border edges as non-manifold because strictly speaking, a non-watertight closed mesh is non-manifold. However as I previously mentioned, Obi relaxes the definition of non-manifoldness and allows border edges.

However in the case of your shirt, there's non-manifold geometry other than border edges. For instance, this vertex is shared by two faces that do not share any edge:

[Image: tK1kwXY.png]

A possible fix would be welding the two vertices at its left, so that the faces now share an edge.
Reply
#8
Ok, now my sanity is restored, thank you!
Reply