Help with topology in a flashlight model for game

Hello! I still don’t exactly understand how to work with topology and here is a problem with my flashlight model that I’m making for a game and I don’t know how to fix this. I tried to make faces with only 4 or 3 verts but it doesn’t help.

I think that I don’t even have to talk about it, everything is clearly visible:

Screenshot from Blender:


Screenshot from Unity3D:


Here is also a .blend file: Flashlight.blend (468 KB)

Thank you for your help.

Unity is using normal smoothing.
To fix it, add an “Edge Split” modifier. The following command should do it.
bpy.ops.object.modifier_add(type=‘EDGE_SPLIT’)

This will also sharpen up the seams near the lens.


Ah yes, I’ve forgot about EdgeSplit modifier but won’t be there any problems with texturing? And what if I want to make that indentation look smoother? Maybe there is some other, better ways to fix the topology?

Update:

So I’ve came up with something like this. Topology looks better but I don’t know if model looks like that I wanted to achieve. I guess I have to texture it and see how it looks. I’ll have to make hi-poly and low-poly model and bake it.

[ATTACH=CONFIG]499384[/ATTACH]
[ATTACH=CONFIG]499385[/ATTACH]

[ATTACH=CONFIG]499386[/ATTACH]

Other pictures: https://imgur.com/a/nToBx

I have also strange problems with normals, although they are facing the right direction, they are looking wrong.

.blend file - https://www.sendspace.com/file/zfuho2

I try to model that torch with simple topology without edge split. that’ s the model torch.blend (571 KB)

ttorchfromforum.blend (552 KB)

Best I could do, that sort of thing is always a pain with the shading.

Unless it’s going to be seen up close it’s the sort of thing I’d normally use a normal map for.

It’s going to be a first person game so it will be seen up close but that thing you’ve done is perfect! I see that you added an additional loop cut and multiplied the topology in this indentation. Can you just tell me how you multiplied the topology?

And just final question about the edge split modifier because I see that in case of low-poly hard-surface models it’s even necessary to use. There shouldn’t be any problems with baking, textures, shaders and lighting after using it?

Double post, please ignore and delete

No, the edge split modifier will do nothing to UV maps so leaves textures uneffected. What it’s going to do is effect normals, which will show up in most lighting shaders (this is a good thing!). However if you split edges before unwrapping, when you do unwrap it will treat them as separate peices so they won’t be attached in the unwrap. This isn’t the case if you use the edge split modifier and only apply upon exporting.

Sorry if I’ve got into too much detail here, but just to make sure I am not misleading:

By splitting the edges, the faces no longer ‘share’ surface normals - when they do share, they interpolate gradually over a surface giving in a smooth curved look.

Edge splitting has the same effect as chosing a plane and clicking chosing shade flag - flat shaded faces do not make use of touching faces surface normals (they actually increase the file size ever so slightly since they don’t share). Edge split modifier is just a convinient way to do it for complicated models.

I added an edge loop on the main curved part of the torch to help stop this effect (second image has increased contrast to show the shading that I wanted to remove better).

But yeah, me going off on a tangent. It won’t bother your textures or shader.

For the indentation, here is my process (I do not claim it to neccesarily be the best or easiest way! Just how I instinctively went about it):

  1. Add an ico sphere, increase subdivisions in options to 3
  2. Place it roughly where we want the indentation, join the 2 objects, select everything then use ‘intersect (knife)’
  3. Delete all vertices above the intersection, and delete the faces from the original tube that lay inside the intersection
  4. Select the remaining bottom half of out sphere, move it up, and, select only the top edge loop and extrude it up. This loop
    will be where it attaches to the torch.
    5-6. Select all vertices of the sphere excluding that loop we created, scale it to make it smaller and move it up (this is the edge loop I think you actually asked about lol)
  5. Delete these tube faces, but make duplicated of the edges marked before deletion
  6. Using these edges we saved create faces linking the sphere and tube together.
  7. This pattern creates less horrible shading
  8. All faces completed
  9. Because of how the intersect tool works, you will probably have some odd vertices lying around, I cleaned these up by just
    moving them ontop of the nearest neighbouring vertices
  10. Remove doubles, shade smooth, done.

I should also note in the blend I posted I merged some of the really close edges of the sphere, like the ones you see in #11, since they’re unnecesary and were just created by using the intersect tool on the sphere.

EDIT: No reason why you should use an icosphere, anything would work, maybe even better.

Wow, that’s a lot of creativity with one indentation. Thank you really for your time, you’ve helped me a lot. I have to work a bit on optimization and hi-poly model. I hope that it was one of the hardest problems that I’ll encounter during making assets for this game but if not… Well, that will be a lot of work but I hope I will learn a lot. Thank you again and I think that topic can be closed.