Graphics style and modeling techniques in game

I did some test modeling in Sketchup, and I found that certain things just dont look good in game. Like in the image in the link, i modelled a “S” type pattern (which you can see in the pic), but this seems not to look good in Unity cause the details are to small, and also because of that this increases the number of hard edges, which looks plain bad.

To fix the hard edges I tried to do Bevel with smoothnes applied to them, I think its called face weighted normals. The problem I had here is that the UV texture wont automaticaly align up, and I cant see myself manually aligning up all the textures on all corners.

Also I think that to make models look good in game, I need to make those smooth edges more noticable (larger) than i usually do.

What is the common practice to get nice corners on objects in game design? I could use the “follow me” tool in Sketchup, but this would of course create a lot of complex geometry that would increase the hardware demand.

This is how the pillar looks in unity, as you see, the texture dont align on the corners after ive used bevel and smooth

This shows the hidden geometry, as you see the geometry stays simple usin this technique

Maybe i just needs to increase the bevel, and find a way to get the texture to align.

Oh, and it seems that when opening this scene in unity, the smoothnes that is applied to the corners in Sketchup seems to disapear, and it looks more like just a edge.

Can i apply smoothnes to corners in Unity somehow?

Any tips welcome!

Judging by screenshots, I think your exporter software/plugin is borked and does not export sketchup data properly. It is quite obvious that the mesh has incorrectly calculated normals.

If I were you I’d either try another tool or I would start looking for a different export plugin.

Can you elaborate a little bit on how you can see that? I am just importing the sketchup scene directly into Unity since Unity has support for Sketchup files.

I think the problem you mention is down to a plugin I use in Sketchup to create bevels and smooth edges and corners. propably Unity is not compatible with this plugin. Also this plugin seems to create some weird effect on the faces. As you can see here:

https://ibb.co/Y8T2n0z

I see that normals at the edge of the bevels are not perpendicular to walls and are tilted. I also see that the model looks like it was smooth shaded (aka all faces were added to the same smoothing group).

Basically, to the left is what I’d expect this kind of model to look like (sans smoothing). To the right is what I see in your screenshots.
5353635--540954--upload_2020-1-9_19-27-36.jpg

It is entirely possible, of course, that this is the fault of the bevel plugin. However, whether this is the case or not, I don’t know.

yeah, i think i might have applied smooth to the whole face, not just the beveled edges. Anyways, the ugly egdes seems to be down to the texturing not matching up, I managed to get it matching up, and it looks like I think it is supposed to look, but of course here you can easily see that the texturing is not perpendicular to walls. This texturing plugin I use is a bit tricky to work with.

I am thinking maybe I should just make the architecture in Sketchup and use some other software for texturing and smoothing edges.

By the way, when I move inside the geometry, I can see the inside geomotry inside hosted at ImgBB — ImgBB, I can not see this when I move the camera inside the Unity HDRP demo scene, why is this?

Game engines typically only render one side of a polygon. I assume that if you can see both sides than sketchup is probably creating additional polygons for the inside of the wall.

I found that there was a box in Unitys import setting of sketchup files where i could unselect “generate back faces”

But as stated above, when I apply smoothness to corners in Sketchup that also affects the planar surface, so the texture acts as if it is on a round object, so I need to find some other way of smoothing corners.

When you say you use ‘face weighted normals’, what script or plugin exactly are you using? How does it look inside Sketchup after you apply them?

I don’t know Sketchup much at all, but have you tried triangulating the ‘smooth’ object before you send it to Unity? Sometimes between different programs there is a different idea about how to construct the triangles, with differences in appearance.

Sketchup has a built in smooth function that does this. And it smoothes all connected faces to the edges that I want smoothed. This is also the problem, cause it will make the texture on all surfaces, even flat surfaces, behave as if they were on a curved surface.

The only way around it I can think of is to create a offset (the blue lines in linked picture) that way the flat surface texture wont behave as if it is on a curved surface

https://ibb.co/g9BNF4m

But, I am hoping of finding a better solution than doing this.

it looks like this in sketchup, and the effect is more or less the same in Unity.

[](http://)

As far as I can tell, there is no face weighted normals in sketchup. So you are having the problem of normals being averaged between faces of very different sizes, which results in things not looking flat.

You can either:

  • Put an absolute ton of bevels in (not recommended for performance reasons).
  • Put in a bevel and split it (not smooth). From a distance with antialiasing this can look like a smooth edge.
  • Bake a normal map from a high poly object (need other software for that).
  • Use a very heavy anti-aliasing in your game that softens the edges a bit.
  • Use blender instead, which has a face weighted normals add-on.

As for the texture, let me know if I’m misunderstanding but I think you are saying you expect the texture to determine whether the object looks flat or curved? Unless you’re talking about a normal map, the texture has no effect on this at all.

You are propably right. I thought it was face weighted normals cause it made it look curved at least.

Maybe I should check out blender instead, and go Sketchup → Blender (for rounding of corners) → Unity.

The smooth function (afaik) is just smooth shading. It gets all the surface normals (the direction the surface is ‘pointing’) and pretty much averages them out, which is why a box turns into a balloon.

This is actual face weighted normal (very useful and I use it often):

The left image is just standard smooth shading, on the right what you see is the smoothing takes into account the size of the edges so that it doesn’t just blow all the normals into a balloon.

Some people say blender is hard to use, but it isn’t for me. In any case if you are planning to make a lot of art it’s probably a good idea to start looking at alternatives to Sketchup.

I really like the simplicity of Sketchup, and I can work really fast with it. But yeah, I am going to check out Blender.

Sketchup is limited (thats also what makes it simple to use) But I am hoping I can continue using sketchup, for making simple geometry, and then moving over to blender for refining it.

That dice on the right is exactly the look I am after. Is it a 3rd party plugin, if so, what is it called?

@tlilletveit it’s a script that comes with Blender, you just have to activate it. Then in Object mode you just hit Space, select Weight Normals and Enter.

Bear in mind if you are going to be creating objects with a lot of custom normal map detail, you might as well just bake from a high poly object into a normal map. But for large objects with tiling textures weighted normals is great.

You are creating more work by trying to avoid the simplest work. Editing the UV’s of an object is going to take an additional 2 minutes on top of the time it took you to add the bevels.

Get a real 3d app – like blender – and spend a week learning how to move around. Once you invest that time you’ll find editing models like this is trivial work and you don’t need any special solutions. It’s just click and drag a few vertices/UV’s around. Caveman can do it.