1
$\begingroup$

I'm attempting to model an iPhone as a project to learn blender better. I used a cube and bevelled its edges to make my camera and used cylinders for the camera lenses(?, I'm not sure what to call them, check attached photo). However I'm having some problems, I didn't do anything to the lighting except moving the light source around but my meshes are being lit very weirdly, the cube face, its flat and appears so from the side but looking at it from the front, the lighting makes it look as if its bulging outwards. The cylinders I used for the camera lenses also have an odd line of running right down their middle which looks very unnatural. Ive attached photos of each of these, including a side view of the cube that makes up the camera body.

Front view of the cube

Side view of the cube

The cylinder lenses

If its any help then here's how my scene's set up with its lighting:

Lighting setup

furthermore I thought that this problem may be arising due to me not applying all the transforms such as scaling and rotation that I performed however applying those just makes it even more weird, here's a picture of how it looks after I apply all transforms Post transforms

however from the side it looks pretty much the same as before.

$\endgroup$
7
  • $\begingroup$ Hello please share your file: blend-exchange.com $\endgroup$
    – moonboots
    Jul 21, 2022 at 8:38
  • $\begingroup$ @moonboots Hello, I've edited the question and added the file, please tell me if anything goes wrong. I'll correct it. $\endgroup$ Jul 21, 2022 at 8:47
  • 2
    $\begingroup$ you have inverted normals. same problem as here with solution blender.stackexchange.com/questions/269911/… $\endgroup$ Jul 21, 2022 at 8:49
  • 2
    $\begingroup$ and you have to select all faces and press m > Merge By Distance coz you have overlapping vertices. this will get rid of 20 redundant vertices. $\endgroup$ Jul 21, 2022 at 8:51
  • $\begingroup$ As @HarryMcKenzie says, you have inverted normals on the 'carrier' for the lenses. However that doesn't fix the shading issue, I suspect a lot of your problems may be because Blender's shading alogrithms can't cope with the small dimensions you're using. In this case you can get round it by selecting the inner ring of vertices on the carrier face with ALT-Click and Insetting slightly in Edit mode. You can do the same on the camera lenses which will fix the bulging after applying the scale to them. The overlapping verts are just on the main case so won't actually help but it's best to fix them. $\endgroup$
    – John Eason
    Jul 21, 2022 at 10:03

1 Answer 1

2
$\begingroup$

There are 2 problems:

1: As pointed out by Harry McKenzie, you have some inverted normals. Solution : AltN > 'Recalculate Outside'.

enter image description here

... but as you can see from the middle instance above, the front face will still appear bowed. That's because the shading-normals of the large Ngon on the front are being interpolated across the face from the sloping faces adjacent to it, by smooth shading. Either switch on Autosmooth, to split the object's normals at a given threshold angle, or:

2: Fix the interpolation by isolating the front face from the sloping faces with an I Inset. (Right, above). Now the interpolation is from coplanar faces.

These are the results of the inset, and the appearance after a Catmull-Clark Subdivision Surface:

enter image description here

$\endgroup$
4
  • $\begingroup$ Hello @RobinBetts, Thank you very much! this worked very well for the body itself however I tried doing the same to "lenses" but they're still being shaded oddly and get a little distorted when I apply transformations, do you have any recommendations for that? Furthermore, can you tell me what to look up if I want to learn more about the "shading normals" and stuff? I wasn't aware of them until now. Thanks again!! $\endgroup$ Jul 21, 2022 at 11:44
  • $\begingroup$ Hi @python newbie! (1.) Some of your components have been scaled in Object Mode. That is an object-level transform, applied after edits. bevels, modifiers.. whatever.. which can screw those up, if you wanted them to be linear. When modelling, scale the mesh, not the object, in Edit Mode, which is before all that other stuff. Ctrl-A > 'Apply Scale' to fix That bakes transforms into the mesh.. (2) coming up... $\endgroup$
    – Robin Betts
    Jul 21, 2022 at 15:08
  • $\begingroup$ @pythonnewbie (2.) 'Shading Normals'.... sorry, shorthand. Smooth shading calculates a surface normal under every pixel. On a polygonal mesh, it approximates that by looking up the vertex normals at the corners of the triangle it is currently shading, and interpolating between them. Dunno exactly where to pitch learning recommendations .. Good search-terms: 'Gouraud Shading'.. 'Phong Shading' (more or less like our viewport) . 'Barycentric Coordinates' ..If you want to get a bit math-y ... scratchapixel.com is nice.. but there are plenty of others if you follow your nose. $\endgroup$
    – Robin Betts
    Jul 21, 2022 at 15:25
  • 1
    $\begingroup$ thank you so much! this was very helpful and I managed to fix my problem. I'll keep the linear transform stuff in mind from now on, I'm still new to this program. Also, thank you so much for the resources about shading! I do like going into the math-y aspect of things so I'm super stoked about the things you've mentioned. $\endgroup$ Jul 21, 2022 at 18:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .