Note: This is for UE4 and I need the holes to be real - I can't fake them with a simple texture.
I've run out of ideas other than brute forcing which sounds exhausting for what seems to be such an easy thing to do.
Options I've tried:
MeshFusion (that's what the array of cylinders is there for): It made everything super gross by smoothing everything. Which took 15 minutes. Then when I even attempted to subtract Modo crashed after a long time of waiting. I tried adding bevels to all of my edges but when I press Tab nothing changes. For some reason I can't get my edges to stop smoothing. I've just heard about "Edge Weighting" but was also warned that the reason it's not often used is due to incompatibility between softwares.
Booleans: Works but leaves me needing to add a lot of edges as my quad becomes an n-gon of about 52 faces as there's a hole on each side. I can solve this by simply cutting it in half twice (one vertically so I only have to fix one half of the face, and one horizontally so that I don't have to fix the hole on the bottom) and copy-paste + flipping the mesh + merging verts or w/e. Then I'd need to copy-paste this hole a LOT of times + bridge the edges + cut the sides as they won't be seen (again can save work here by having multiple "hole cubes" with different sides cut). But if I find out that my holes need to be bigger/smaller or aren't in the right place... Welp. I can maybe do this with an Array / Macro ? One additional thing I'd definitely do is cut out a rectangle from my shelf and just have this "floating" inside so that I don't explode my resolution for this entire shelf. Feasible?
This just seems like one of those things that has to have an easier way of being accomplished.
My current shelf:
https://i.gyazo.com/52d338bcbb0093b7779c718a3086ecd7.pngMain Reference:
Replies
It sounds like you'd prefer the flexibility of procedurally modeling this so that you could adjust the size and placement of the holes if needed. I haven't explored procedural modeling yet. Maybe another Modo user could tell you how to put that together.
make this
duplicate it with array (instance array)
done. Also to quickly get the edge loops for subd, you can duplicate or edit the cylinder you use to boolean the hole and scale it up slightly, then use it as a solid drill : stencil
2. Delete everything except the top circle piece
3. Extrude that out into a square
4. Delete the circle
5. Duplicate it as many times as you need, snapping each piece to the side of each other.
6. Weld the verts so all the pieces are attached to each other.
7. Extrude out the sides for the areas that wont have holes in them.
8. Optimize it however you like for the lowpoly (it's just a flat surface after all).
Quick example:
http://www.pixelfondue.com/blog/2017/1/31/modo-introduction-to-the-radial-align-tool?rq=radial align
Also... if it doesnt have to be modeled you could use the stencil displacement method and save on creating all the geo.
http://www.pixelfondue.com/blog/2016/10/28/modo-modeling-without-modeling?rq=pumpkin
Edit: That Pumpkin video has been in my watch later for about 3 days now. 2 birds with one stone. I think it could work for what I'm doing as the only reason it needed to be modeled is because I'm positioning the camera so that the viewer can see through the holes from the side (thus SOMETHING needs to be there in regard to the sides of the holes) and light needs to be able to travel through the hole. I'm a decent 2D artist and can fix quite a bit in the composition phase but equi-distant holes in perspective at the fidelity I'd need them to be is something I'd have to work longer to achieve than simply modeling them in in the first place for this project. And ignoring that, not being able to make holes in a mesh is a glaring fundamental flaw
Long story short I'm glad I kept the array of polygons (aka the cubes with holes in them) in a separate item / container / object AND made a backup before deleting everything in order to export to .fbx ; Turns out there are two problems.
1. The UV Unpacker hates my holes. It refuses to pack them without overlaps and the UE4 baked lighting system requires non-overlapping UVs for the lightmaps. This may be solvable by using different projection options (at the moment I'm using the auto-magical UV Map Modo creates for me simply because I started with a primitive and didn't do anything that destroyed the UV Map) buuuut
2. The UV map will ultimately make my cubes nano-sized. This means that the lightmap (and any textures) will have to either have MASSIVELY increased resolution (and at the moment I've got, I believe, 20 of these shelves setup..) or at the very least the specific one I'm placing the camera in will.
Solution I'm trying tomorrow: Make a single cube-hole. Send it to UE4. Use the Instanced Static Mesh system to create a shelf blueprint that effectively makes the same array I'm trying to export. Check if the lighting will build within 5 minutes. If not then additionally make a version of the shelf that doesn't have any holes in them (for the shelves that, it turns out, only show the slightest and most painful of highlights for the existence of the holes - Something I can easily either do without or fake in post-process).
Also uh. I'll be removing the shelves that I can't even see. Whoops. Forgot I wasn't building a store for a bit there. Lighting was building for 10 minutes before it got to 2% (and each array of cubes = 67,500 triangles or so). Needless to say knowing that I can easily fake holes with displacement maps is VERY important for making anything like this work in realtime (although that may not solve anything in regard to performance - But I can still use opacity masks, parallax, and clever normal map tricks to get somewhat near to the idea. Lots to learn!
look at the examples these other examples that use the same technique.
@WilliamVaughan
Cool beans. Is it possible to bake them?
Digression aside, I was saying that I didn't know if displacement maps cost just as much (or more) in performance than simply having all of the geometry - I mean, the vertices and polygons are still there, no? (I'll look this up to get a better idea as to how it works; I've been resolving system instability today and am going to be afk for 5 days starting tomorrow so.. taking notes and wrapping things up) But I completely understood that displacement maps morph geometry. That's why they're called displacement maps. You can even set them up (or a similar sounding thing) to subdivide your mesh a number of times before they take effect. Again, not sure how this helps performance but I'm sure it'll make sense once I look into it (much like normal maps).
No clue as to whether or not it would bake. It would certainly depend on the lighting system used. I know that UE4 uses UV maps to store lightmap data but that doesn't necessarily mean that this doesn't work. I dunno. I'm still relatively new to the 3D world so everything's still significantly above my understanding - Although that makes it so that every time I learn more about a system I get a shot of "AHA!" to the brain. So that's nice.