I am testing the trial of Wrap3 and cannot import obj larger that 30 million polys, they show up oddly scrambled, and above 100 million polys, Wrap3 crashes. Is that a known limitation? (Coming from Reality Capture, objs around several 100 million polygons are common..)
On a side note, I cannot subdivide a quad basemesh more than 5-6 times as it also messes up normals and creates strange artifacts.
Yes that is a limitation of Wrap. For optimal performance I recommend to decimate scans down to 3-5 millions and the basemesh no larger than 30K. What to do if you need 500K basemesh and 100000K scan? Please wrap the basemesh at the lowest subdivision (10K would take you 1-2minutes while 100K will take you half an hour), then subdivide it to the final subdivision and project the vertices using ProjectGeom node.
If you want to reflect all the highres details of the scan, you can always do that after wrapping by projecting the details or baking a displacement map.
Please let me know if the proposed approach works for you
Thanks for the answer, Andrew. I was hoping to be able to clean up the highres scan in Wrap3 first, delete unwanted polygons etc. without having to decimate and loose detail elsewhere.
I cannot get the detail I need by working with lowres meshes of 3-5 million polygons unfortunately.
Same goes for the projecting, once I have wrapped a basemesh, I still would need to subdivide it much higher than currently possible to reflect the source detail I have.
Is that limitation based on code or potential hardware? I can easily justify to wait a few hours for the process as long as its high res enough.
This limitiation is code based, it’s because of the way we store objects on GPU. I’ll do my best to fix the problem in upcoming releases as soon as I can. We are also working on a better ray-tracing method for geometry and texture projection. Hope it will also be changed soon.
So far we’ve been focusing exclusively on developing tools that don’t exist in other software, not worrying much about the tools that are provided by dozens of other vendors, like texture baking, mesh clean-up, geometry projection etc. Starting from next release we are going to close that gap and turn Wrap into a complete toolset for mesh processing. So please sorry about the temporary limitations.
I see. Dont worry, I am perfectly happy with the approach and abilities Wrap3 has. Just curious whats coming next.
As I see it, there is no software yet that is able to properly handle those high res scans in a convenient fashion.
Wrap3 is close though of offering everything needed.
While at it, I also came across an error when loading 32k texture maps. (Which Agisoft generates for example..)
Ideally I would use Wrap3 to load a raw scan (around 500 million polygons), delete unneeded polygons and repair geo eventually.
Selectsmallcomponnents and the grow selection feature are awesome for that part. Then wrap an higher subdividided basemesh into the fixed scan area. Subdivide it even higher so the project geometry works losslessly. Finally split the resulting mesh into smaller parts that can be loaded in zBrush.
Hey Andrew, is there any news/progress on this? I was also checking a custom basemesh but it wouldnt work on the wrapping node, just greyed out compute button.. anything to adhere to when building custom base meshes? only quads? but that cant be;)
Hey! It can be perfectly used with custom basemeshes. When the wrapping node turns red, just hold the middle mouse button over the node and it will show the error message. The two most common problems are:
the basemesh contains multiple disconnected pieces such as eyeballs, eyelashes, teeth, nails etc. In this case you need to delete those disconnected pieces before feeding the mesh into the wrapping node. In some cases RepairGeom node can also produce disconnected pieces. A good way to check if geometry contains multiple pieces is to switch to SelectPolygons node, click on any polygon and press Grow selection until the entire mesh is selected. If some pieces are still not selected, it means they are disconnected.
When you try to fix either of the two cases, the vertex order of your mesh can be changed. If it’s critical to preserve the vertex order at the end, you can fix the mesh (say delete disconnected pieces), wrap it, then use Lattice (http://www.russian3dscanner.com/docs/Wrap3/Nodes/Lattice/Lattice.html) node to deform the original basemesh the same way the fixed version was deformed.