Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

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
    EthanFischer likes this.
  2. gabrielw_unity

    gabrielw_unity

    Unity Technologies

    Joined:
    Feb 19, 2018
    Posts:
    963
    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:
    963
    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:
    963
  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:
    70
    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:
    70

    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:
    30
    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:
      468
    Last edited: Nov 13, 2019
  12. Alien_J

    Alien_J

    Joined:
    May 29, 2019
    Posts:
    70
    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:
    30
    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
  14. phils126

    phils126

    Joined:
    Aug 6, 2020
    Posts:
    13
    Hey there gabrielw_unity, I'm relatively new to Unity and Probuilder too...(but with 3D engine experience as a c++ engineer). but I've run into similar issues with the Fill Hole option too... I have a feeling that it is related to the type of geometry primitive that the Probuilder object was based on....

    In my case I created a large diameter 'pipe' object with a thin wall and multiple segments and then cut a hole through it by deleting some faces on the inside and outside and then tried to join the two sides of the pipe together by selecting the exposed vertices and using 'fill hole' - which doesn't work. I have attached a screen shot. I have also viewed the faces from both sides and tried selecting the vertices in different winding orders (clockwise and anticlockwise) before using 'fill hole' to see if it is a polygon winding problem but it still doesn't work....

    For a while I thought this was pretty conclusive and began wondering if certain Probuilder primitives aren't fully enclosed manifolds when instantiated...(maybe the inside and outside of the pipe are separate perhaps)... but then I found that occasionally it does work...(!) seemingly randomly... i've experimented with it for hours but I haven't been able to figure out a useful pattern to the behaviour that might help debug it...
     

    Attached Files:

    Last edited: Aug 11, 2020
  15. Symo7

    Symo7

    Joined:
    Mar 2, 2014
    Posts:
    23
    To be honest I'd rather 'fill hole' was just replaced with 'create face' with the option of triangulating it if its not convex. As it is its very hit and miss as to what it actually does. Sometimes it works, sometimes it will do some faces and not others, and often it does nothing.
     
    M0r5e80 and phils126 like this.
  16. Thomas-Bousquet

    Thomas-Bousquet

    Joined:
    Dec 19, 2016
    Posts:
    41
    @Symo7
    The non-manifold option didn't work for me, so I created a package that adds a MenuItem to create triangles from selected vertices.
    upload_2023-8-6_15-49-41.png
    Since it's a menu item you can create a shortcut for it , I'm using Ctrl+Shift+T
    Repo and Readme can be found here. I may do update it, like doing Quadifying selection and trying to have that tool show up in the ProBuilder Window.

    Edit: I've added an icon to the toolbar upload_2023-8-6_21-32-30.png
     
    Last edited: Aug 6, 2023