Search Unity

ProBuilder Does Fill Hole ever do anything at all?

Discussion in 'World Building' started by cyllu2, Jan 2, 2019.

  1. cyllu2

    cyllu2

    Joined:
    May 4, 2016
    Posts:
    6
    Let's say I have this mesh.



    How would I go about filling the faces? My first instinct was to select these 4 vertices and click Fill Hole. Doesn't do anything. No matter what I select, Fill Hole doesn't do anything at all. In fact, I've never been able to use it a single time in my life.

    I already know there's a bunch of buttons that don't do anything, like Connect Vertices and Connect Edges. Is Fill Hole also one of those? Why even leave them in? Add them in when they work, that's my advice.
     
    Last edited: Jan 2, 2019
  2. gabrielw_unity

    gabrielw_unity

    Unity Technologies

    Joined:
    Feb 19, 2018
    Posts:
    701
    Hi there! It's difficult for me to see what the geometry of your mesh is- however, it looks like you are viewing the backfaces, which appear invisible from that (backside) angle. If you flip your view to look from the others side, do you the faces become visible?

    Can you also let me know in what cases the Connect Verts and Connect edges tools are not working for you? The tools work fine in our testing, and other users haven't reported issues, so any info you can provide would be great, thanks!

    Also, it might simply be misunderstanding- I really recommend looking through the documentation and tutorial videos, here are some direct links for those tools:

    Connect Verts
    Connect Edges
    Fill Hole
     
  3. cyllu2

    cyllu2

    Joined:
    May 4, 2016
    Posts:
    6
    Yeah, sure. Why should that matter though? You can have faces on two sides. Anyway, I removed the other side's face and I still can't fill this side (nor can I recover the face I just deleted!). Also, the hole on the top can't be filled either. No backface there. Thanks for replying, by the way.

    Literally any time I try to use them. Let's say I wanted a diagonal across the face you can see here. Doesn't work. The long lines you can see on the picture are created with Bridge Edges since Connect Edges didn't work. I have no idea what the difference is between them, and the documentation is absolutely 100% worthless so no help there.
     
    Last edited: Jan 3, 2019
  4. cyllu2

    cyllu2

    Joined:
    May 4, 2016
    Posts:
    6
    You asked for examples. Okay.



    Cannot fill this very obvious hole.



    Cannot connect these two vertices.

    And it's not like this is an odd case. As I said, I've literally NEVER been able to use these buttons.
     
  5. gabrielw_unity

    gabrielw_unity

    Unity Technologies

    Joined:
    Feb 19, 2018
    Posts:
    701
    Hi! Ok, looking at the new images, it looks like you are either:

    A) Attempting to connect/fill across multiple objects? (verts on one object cannot connect to verts on another object, naturally)

    B) Attempting to connect/fill in ways that would create "impossible" or "non-manifold" geometry. If this is really what you want, you can enable it in the ProBuilder Preferences (Edit > Preferences > ProBuilder). This is an advanced toggle that we disable by default, because non-manifold geometry is generally not a good solution, and can cause glitchy/strange behavior on a mesh unless used carefully.

    As a second note, you mentioned "Why should that matter though? You can have faces on two sides" - actually, a face can only have one side (governed by normal direction). If desired, you can use a Two Sided Shader to display the geometry from both sides (this might be what you want?). However, the face itself only has one "side" and one set of vertices with their normals, so you cannot "fill" a backface-you would need to create a new face on the other side, doubling your vertex count.

    I would suggest looking up some courses (CG Cookie is great) and learn the basics to avoid issues like this :) They have a great course using Blender here: https://cgcookie.com/flow/introduction-to-blender :)
     
  6. cyllu2

    cyllu2

    Joined:
    May 4, 2016
    Posts:
    6
    No, same object.

    Why impossible? That means that the geometry Probuilder created for me is impossible, since I can't hit backspace to delete the face and then fill it in again. I simply don't see how creating a face across some edges is "impossible geometry".

    No, it's not what I want. Even if I did, there is no such setting in my preferences. (Yes, I'm using the latest version.)

    I've worked with Blender, which is why I recognize buggy behavior when I see it. You see, in Blender, I can connect any two vertices I want and fill any face I can think of. It's a wonderful piece of software.

    I know it's tough/impossible to tell what's wrong from pictures like this, but you haven't told me how to actually solve the problem, you only listed two alternatives (that both were wrong). Again, why is it impossible to fill in a face across four vertices in an object? Why can't I connect two vertices next to each other with an edge? What would be the "impossible" geometry?
     
  7. gabrielw_unity

    gabrielw_unity

    Unity Technologies

    Joined:
    Feb 19, 2018
    Posts:
    701
  8. ZomBJ

    ZomBJ

    Joined:
    Jun 28, 2014
    Posts:
    7
    Sorry to rez this, but was there ever a clear answer? I am having the same problem.

    I created a box. Extruded one side out, then wanted to create a new face where the original one was (creating a room next to a hallway). Theoretically, I would just select the vertices or edges where the original face sat, since they obviously are capable of holding a face, and click Fill Hole. But when I do, nothing happens.

    Like the OP, I have never had Fill Hole ever actually work in all my years of using ProBuilder. Can confirm that it works in Blender, but I don't want to have to bounce back and forth, because what would even be the point of ProBuilder then?

    Is there a simple thing I'm overlooking or is ProBuilder just broken in this one weird way.
     
  9. Alien_J

    Alien_J

    Joined:
    May 29, 2019
    Posts:
    17
    So if i'm understanding your post correctly, there are a couple ways to do this.

    If you just want to fill the space between the cube on the right and the edges on the left: click on the Face tool - select the face on the right, which appears to be selected in the first image. Hold shift (try it with control also to see what that does) and drag it out to the edges on the left. You should end up having 4 sides.

    Alternatively, you can select the Edge tool - select an edge, hold shift (or it may be control) drag out the edge in the desired direction. This option will only give you 1 face. So if you wanted just a top face, you would select a top edge, shift/control and drag it out horizontally.

    Fill Hole works. But myself, I've only done it with holes that are smaller in size.

    Connect Vertices/Edges also works. But again, each needs to be close enough together.

    Let us know if this works as you'd like it to.
     
  10. Alien_J

    Alien_J

    Joined:
    May 29, 2019
    Posts:
    17

    If you delete/undo faces and still have vertices floating around: Vertices tool > select 1 vertice > drag it out (should have a face showing) > delete face. That floating vertice should be gone.

    Sometimes I do a lot of weird angles when I'm working with pro builder. And I end up having floating vertices. No faces, just vertices. This is how i get rid of them.
     
  11. drguild

    drguild

    Joined:
    Nov 12, 2019
    Posts:
    15
    I have a Polygon shape I heavily modified and I deleted the mesh on the bottom as it bugged out so hoped to fill it back in selecting the vertices and fill hole, but selecting any of the bottom vertices I get 'No holes Found' either on a partial or full hole fill.

    Its annoying as all vertices are connected in a loop.

    I uploaded the scene of just the polyshape asset as its a house floor if anyone wants to take a look.

    Update: I coped the object, scaled it to just a plane, flipped the meshes, merged it back then collapsed 'merged' the vertices fixed the UV map for scaling ,I will need to learn at some stage and now I have the bottom texture in.
     

    Attached Files:

    • Test.7z
      File size:
      6.4 KB
      Views:
      94
    Last edited: Nov 13, 2019
  12. Alien_J

    Alien_J

    Joined:
    May 29, 2019
    Posts:
    17
    First of all, your vertices are a mess. You should try and keep the geometry as evenly as possible. I reproduced your object, I then deleted a face. Selected 4 connecting vertices. Filled hole.

    Also, i cleaned up your vertices on top face to show cleaner lines. Deleted face. Selected 4 vertices. Filled hole.







    Now, after going back through your comments, i think i know what happened. On the "you asked for example" images, you may have deleted enough faces so that left face is no longer connected to the right object (opposite view in my images). I reproduced this also.




    Now, if you try and connect the two 'separate' objects, you get this.



    The 'holes' you want to fill have to be somehow connected. If the lines of your vertices are crossed, it will not work.

    I hope this helps.
     
  13. drguild

    drguild

    Joined:
    Nov 12, 2019
    Posts:
    15
    I didn't think anyone would reply let alone test things.

    Sorry for the delay didn't notice a message here.

    I noticed this myself after the message and spent a couple days cleaning up all the verticies and rebuilding that layer.

    I'm still getting notices can't fill holes thing in other things like a balcony, or wired filled in shapes where I had to make a face and add it in manually.

    But I am working through things where I can.

    If you or anyone want to help with a little QA and ideas willing to share what I have, so give me a pm here.

    It's just a basic world for VRChat I'm building starting with the house which is going slow for building then I'll build a garden and forest around it.

    I've gone through your post in detail.
     
    Last edited: Nov 26, 2019
unityunity