Home Technical Talk

Are Floating Edges Bad in-game?

polycounter lvl 19
Offline / Send Message
TorQue[MoD] polycounter lvl 19
Hey all.

Got a bit of a technical question for you... when it comes to modeling world geometry, are "floating edges" a bad thing? IE edges that aren't connected back down into nearby verts like the two in this image:

floating_edges.jpg

I can understand on a mesh that's going to be deforming a lot like a character this would cause weird problems when the edges collapse, but on world models like chairs, tables etc. that aren't really going to be deforming is there really an issue?

Would there possible be any technical issues such as lighting that could come up because of this? Its my first time working on a retail project and I want to make sure I'm doing things properly.

Thanks!

Replies

  • sprunghunt
    Options
    Online / Send Message
    sprunghunt polycounter
    As long as the triangulated mesh looks fine then it's probably ok. You can get issues with open edges sometimes. Does this cause an open edge?
  • Tavor
    Options
    Offline / Send Message
    Tavor polycounter lvl 8
    Going off what sprunghunt said, no there are no issues per say, but why wait until something goes wrong to fix it? If something goes wrong down the line, you won't know whether this was the issue or something else was. Its a quick fix, so why not just clean the mesh up and not have to worry about it?
  • TorQue[MoD]
    Options
    Offline / Send Message
    TorQue[MoD] polycounter lvl 19
    No open edges, I just split the back face of the mesh cause I wanted to bevel out that rectangle for detail and didn't want to have to fidget with lining up a separate piece.

    With all the talk about how quads are so important, it can leave one thinking that tris are a bad thing. Ultimately the reason I don't want to connect it to another vert is simply cause it saves time... especially if there's no real downside to it. But I guess you're right that its better to model properly now and not worry than find out that its going to take more time to fix later like after unwrapping.

    The main reason I decided to ask was because I'm not sure if it IS considered improper modeling. If its not creating an open edge and its not likely to cause lighting issues, is it really that bad?
  • PredatorGSR
    Options
    Offline / Send Message
    PredatorGSR polycounter lvl 14
    The only thing that is bad about it is that it isn't efficient and you are probably wasting tris. The exporter will probably triangulate it anyway (depending on your engine), but you could end the loop by going straight to a corner unless you are leaving it there for uv purposes.

    I leave 5+ sided planar polys on hard edged environment meshes like that all the time, I just do a quick check to make sure it is lighting correctly in engine and nothing looks funky. I used to be ocd about tying off every edge like that in the past, but after a while you learn to pick your battles and only spend your time on stuff that really matters.

    That said, I wouldn't leave anything like that showing on a portfolio piece, only during a busy production schedule.
  • TorQue[MoD]
    Options
    Offline / Send Message
    TorQue[MoD] polycounter lvl 19
    Thanks for the input Predator. That's pretty much the reason why I want to know if its considered a bad modeling habit or not. We're an indie company and I'm trying to really maximize my time so if I don't have to go connecting every edge loop then I'm not going to bother. I figured the exporter would probably do it for me and was definitely planning to do a lighting test to make sure but its good to hear it coming from someone else :)

    Yeah definitely not for my portfolio so no worries there.

    Thanks for the feedback everyone!
  • MeintevdS
    Options
    Offline / Send Message
    MeintevdS keyframe
    @ TorQue

    The whole "everything must be quads" thing has been discussed on polycount a few times before. For highpoly stuff it's often a good thing to keep stuff quads, especially if you wanna take it into zbrush or mudbox. And for characters you wanna make sure that the areas that will deform a lot has proper edgeloop and quads (such as armpits, elbows, faces, etc.) But highpoly hardsurface models can have triangle or 5+ sided polygons, I think as long as it doesn't deform it's pretty much anything goes if it looks in the final.

    As for game models it doesn't really matter what you use. When it's being handled inside the game engine it'll be handled as all triangles anyway. Some people even decide to model parts of a model completely as triangle just so they can affect how the shading works. So sometimes triangles can be a better pick over quads in this case. As for 5+ sided faces, they won't really harm your model but you will not have any influence as to how they get triangulated in an engine, so if it's only a few seconds you're saving out I'd say just cut that extra poly so you know the engine can't mess it up for you.

    In the case you are showing in the image I'd personally cut the triangles by hand, this way you're sure you won't get long thin stretched triangles. If they are however bigger and flat surfaces I'd say just leave them open, just make sure you don't get any long stretched triangles.
  • Farfarer
    Options
    Offline / Send Message
    I'd just manually connect those so it's all nice tris and quads. It doesn't take more than a few seconds.

    It's a good habit to get into, too. Perhaps it's not too important here but I've seen this sort of thing really bite people in the ass, especially if there's more than one 3D app being used in the pipeline.
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    I kinda have to say this, with the recent fix ups of the Smoothing Brushes in ZB (such as the Valance brush) I see no reason not to have a few tris in your model if it doesn't need to be pore detail.

    I avoid NGons like the plague, because not matter what I do, they will always screw me over later. Changing render engine, lack of proper shading, changing 3DS Packages, etc, simply outweigh the benefits of it.

    If it's a flat surface in your 3DS Package of choice which can be sent between softwares with no problems, then yeah, a few NGons won't hurt, but for SubD level modeling and other nicknacks that need exporting, no, I refuse to believe anyone got them to behave as they wanted without a headbang.

    Also, as Talon said, just Tri it off. It's easier and will be alot less of a headache.
  • TorQue[MoD]
    Options
    Offline / Send Message
    TorQue[MoD] polycounter lvl 19
    Cool. Thanks for the feedback guys. And thank you MeintevdS for your in-depth reply. I never really thought about it from the perspective of making sure the engine splits things in a good way :P

    I'll definitely connect everything up then... or maybe in this instance, since I've already got the extrude made, I should just delete the face behind that I split, and then re-cap the loop so its two separate pieces :)
  • PredatorGSR
    Options
    Offline / Send Message
    PredatorGSR polycounter lvl 14
    I'd say it depends on your pipeline. At my last company, everything had to be tris or quads or the model would fail export. At my current company, you can export planar ngons and as long as it lights correctly it is fine. You need to match your workflow to the pipeline and deadlines.
  • leechdemon
    Options
    Offline / Send Message
    leechdemon polycounter lvl 11
    What you're calling an "open edge", we call in my office a "T-Junction". Open edges (corners that aren't welded) are fine, so long as the edges all come back to vertices that have the same location. T-Junctions (a corner on one side of a face, that rests in the middle of another face) IS bad, however.

    The main reason for this is that in some instances you'll be able to see through that junction. The cause has to do with math and rounding errors... basically, if you have a regular corner, and that vertex is located at [0,0,12.34567], that Z coordinate may get rounded to [0,0,12.346]. So long as all faces connected to it round the same way, you're fine. BUT, if you have a T-Junction, the vertices aren't in the same location. While the first coordinate is getting rounded UP, the other end might get rounded DOWN from [0,0,1.111111] to [0,0,1.111]. The difference in things being rounded up on one end and down on the other can cause a slight hole in your geometry. It'll basically be too small to see, but lights and other objects will be visible through it at times, and you'll get a flicker or some aliasing problems.

    I'm not sure if this is the same in all engines, but I know that it's a big no-no here. To fix it I'd just put a vertex on the opposing face so that they match up, and connect them with Tri's. Actually, in your case, I'd remove that vertex altogether and triangulate the beveled part down towards the next vertex (which is also a T-Junction, so you'd need to fix that as well). Doing that'll actually drop your polycount slightly, as well. You don't have to make them all quads to fix it, you just need an adjoining face on the other end.
  • equil
    Options
    Offline / Send Message
    I don't see why you wouldn't just snap the unconnected edges to the corners of the face, that way you reduce the triangles and verts even more.
    Things will probably look crazy once you soften the edges btw, and in some cases having topology that doesn't match connected can cause problems with your normalmap bakes.
  • TorQue[MoD]
    Options
    Offline / Send Message
    TorQue[MoD] polycounter lvl 19
    Well I definitely fixed the problem with this model a long time ago and also decided against any "lazy" modeling habits, but I really appreciate all of the feedback. It's nice to know (for myself and others too I'm sure) what is considered a No-No and what's not really going to cause problems.

    @ leechdemon - thanks for the technical answer. It's good to know WHY something is bad rather than to just be told it's bad. Actually I've seen the holes you're talking about show up occasionally in games before... I always just called it tearing, but it's nice to know why it happens.
  • Anuxinamoon
    Options
    Offline / Send Message
    Anuxinamoon polycounter lvl 14
    equil wrote: »
    I don't see why you wouldn't just snap the unconnected edges to the corners of the face, that way you reduce the triangles and verts even more.
    Things will probably look crazy once you soften the edges btw, and in some cases having topology that doesn't match connected can cause problems with your normalmap bakes.

    I was just going to say this. I would just connect those edges straight up to the face corners and be happy with that. Less tris for free is always a good thing :)
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    I always classified such practices under "sloppy modeling"...
  • imperator_dk
    Options
    Offline / Send Message
    imperator_dk polycounter lvl 10
    Depending on the size of the mesh in the game and how you're engine compresses the mesh (16 bit vs 32 bit mesh precision) i would say open edges are _definately_ prone to causing visible seams in most engines that are optimized for low memory consumption of geometry on memory limited platforms.
  • chrisradsby
    Options
    Offline / Send Message
    chrisradsby polycounter lvl 14
    Xoliul wrote: »
    I always classified such practices under "sloppy modeling"...

    Yeah I agree, I mean it doesn't take long to do it "right" either. Personally at work I don't like to encounter this sort of modeling, especially if you got a really large object to deal with or maybe a whole scene full of them (yep it has happened to me). But it might be because mainly when I encounter this the object/scene is full of non-manifold edges, polys welded together in all sorts of weird ways, it's sloppy and to me I get the feeling that the person is unorganized. :poly117:

    But that's just me :)
  • Mark Dygert
    Options
    Offline / Send Message
    Max has a way to check for T-Junctions, its found in the Viewport Options drop down under Xview. It really does help to keep these kind of these tiddy and sometimes you forget about them or don't even realize they are there until later, thats where things like Xview come into play. I think Maya has something similar.
  • PredatorGSR
    Options
    Offline / Send Message
    PredatorGSR polycounter lvl 14
    I get that it is a sloppy way to model, and I almost always avoid ngons when I can, but for all the people saying it is an easy fix to make it quads/tris, that isn't always the case. Once you have to create damage variations of 30 trims during crunch time, you quickly realize that it isn't worth the time and effort to make sure every single ngon is quaded for 1000 different cases if your pipeline doesn't require it. At that point you are just wasting time to satisfy some theoretical best practice without thinking it through, and your game doesn't look as good because you were only able to create 10 damage versions before the deadline instead of 30.

    All I'm saying is that you should know the reasons something is bad so you can decide on a case by case basis when it is necessary and not rely on blanket statements. You have to know the rule so that you know when it is ok to break it, and I think that is what he wanted to know.

    I'm primarily talking about planar ngons, not non-planar ones.
Sign In or Register to comment.