Beginner Modelling Qs - Making A Table

Hi all,

I’m trying to model some tables and it’s pretty amazing how many questions I have from something seemingly so simple :stuck_out_tongue: So I’m hoping to go through piece by piece and address my (presuming very basic) modelling queries.

Here is the table I am trying to model, and I downloaded the dimension sheet to use as a reference image in blender:

I’ll start with the crossbar, a very simple cylinder, which I achieved by adding a cylinder mesh and then rotating and scaling as necessary.

  1. I’ve seen different tutorials do different things for scaling and rotating – some go into edit mode and then rotate/scale the mesh, others just do it in object mode and then emphasise the need to “Apply scale/rotation” or else things can get a bit funky. So my question is does it really matter which option? At the end of the day they’re the same thing, right?

  2. I know that in terms of realism I don’t necessarily want hard edges and faceted surfaces, and I’ve seen a number of ways to improve the model so just double checking if there’s any general rules as to when/why one might be better. The first method is to inset the end faces and then create loop cuts and then “Shade Smooth” so that the hard edge is rounded.

But I’ve also been seeing a lot of people just use the Bevel modifier instead, which, as far as I can tell, is essentially doing the same thing – I just need to make sure to adjust the modifier to only bevel specific edges. Is there any danger in getting into the habit of always using one of these methods or do they both have a time and place?

  1. Finally, does it matter at all that the entire length of the cross bar is one face? Given that it’s all one material I feel like in this instance having it as one face is actually preferable and makes the model more manageable, but I know other people have recommended adding in extra loop cuts to divide the mesh into smaller parts:

I can only assume that the reason for dividing is because they may be planning on adjusting the geometry in future and need a little more fine control over the shape of the mesh? Or is there some other reason for dividing the mesh up?

Many thanks, sorry for so many words for such basic questions!

  1. Transforming in object mode vs. edit mode - technically they’re not the same thing, though it may appear they are at a first glance. When modeling, it’s best to apply object scale (keeping it at 1, 1, 1), otherwise it’ll interfere with tools and may even disrupt shading. Rotation and location - it depends on what you want to achieve. Keeping these transforms intact may help you position and orient your model correctly. In some cases you’ll even need to have a model have certain orientation and/or location (some modifiers care about that, games care about that a lot).

  2. Low poly smooth shaded vs. mid/high-poly physical bevels - yes, both have their time and place. Former is great for keeping your geometry simple and lightweight (background, game assets), but not that great for closeup renders where it’s obviously flat (shading can’t hide it forever). Geometry bevels allow better control and presentation of the shape. However, you’re using subdivision surface, which, with topology presented in your screenshot, creates a geometry bevel for you. About the “danger” of habit though - yes, there is some. For every job there’s a tool, and using a wrong tool may just steal your time. E.g. if you’re never going to make close-up renders of those table legs, there’s no point in increasing their fidelity via subdivision surface. But don’t worry too much about this, at this point you still need to learn all the tools and what they do (or don’t), before you can form an opinion of what suits best in a given situation.

  3. It matters. Smooth shading is interpolated along the faces. Having just the one long face may make a model look “soapy”, unless the butt edges are set to sharp and/or beveled. But again, subsurf adds extra edges for you. For best results with subsurf though, it’s a good idea to keep the topology somewhat even. Try toggling the shading to flat instead of smooth so you can see better how the shading gets distributed, then back to smooth to see if there are any subtle problems. And in general, elongated faces can be a source of different issues both with shading and deformation, so when you can, best to keep it even.
    Having said all that, again, if it’s a plank that’s never going to get close to the camera, don’t worry about it. If it’s a low-poly game asset, you may not even have a choice.

Thanks for the detailed reply, that makes a lot of sense and clears a few things up. Still need to get familiar with all the tools like you said, but threads like this help speed up the learning a ton so thanks again. The end goal will be interior renders so aiming for a relatively high level of detail.

Moving onto the legs, it seems like a bevel modifier is quickest/easiest way to soften all the edges ever so slightly. Also means I can adjust it a lot more efficiently. Is there an easier way to flatten the tops/bottoms once I’ve rotated the leg though?

For example, if I have a mesh like above, what’s the easiest way to get the bottom flat and at 0 on the Z-axis, while still maintaining it’s angle? And if I know the top has to be 900mm high, what’s the quickest way? I’m almost certainly going about it the wrong way. I’ve tried typing in numbers in the transform panel, or using snaps, but there’s gotta be a better way given it’s taking me like 10 moves per face at the moment :stuck_out_tongue:

I can get it eventually and then use the mirror modifier twice to get the rest of the legs. It means I have to move the origin of the leg away from the mesh and into the center of the table, I assume this is necessary/recommended? Or is there a better way to go about it?

And then finally if/when I want to apply a texture, is there any way to avoid this merging of the faces? Ideally I’d like one of the legs to be offset ever so slightly behind the other one, but failing that, is there some combination of the settings that I’m missing that will stop the surfaces from merging?

Flattening the tops/bottoms - there’s actually no “good” dedicated way of doing that from that specific mesh. There are tools like shear and edge slide, but none of those will let you snap easily. I’d suggest simply making the leg longer than it needs to be, and then cutting away the excesses with horizontal cuts, using the Knife tool with angle constraints and cut through enabled, in orthographic view (front or side). Or Knife Project using a horizontal plane with cut through enabled. Or Bisect tool (tweaking the direction after using it).

For snapping it to the ground, you can either reposition the origin to the bottom face (after making it flat) and then setting the object’s Z position to 0 (in object mode), or, without touching the leg’s origin, you can make a ground plane positioned at Z 0 (or whatever altitude you want), selecting all faces, making sure the bottom face is active (selected last, highlighted), turn on face snapping and snapping mode set to “Active”, and snapping to that “ground” plane.

As for making it reach 0 to 900, again, easiest would probably be just making it longer and then cutting with a plane positioned at the desired height. On a side note, try to not fall victim to modeling to the exact specified absolute dimensions. Sometimes it can get quite tricky (especially with smaller sizes): camera clipping can get in the way, distances between vertices may get too small, etc. It’s often better to model on a larger scale while keeping all the proportions, and then scaling down to desired size.

Avoiding “merging” of faces: if you want/need fine details like these, it’s of course best to actually model them in (i.e. add cuts and creases where the legs intersect, etc.). But you can also add (paint) such detail into the texture.

1 Like

I’m not super familiar with the knife tool, sounds like it could be useful and exactly what I’m after in these sort of instances though, thanks for that suggestion I’ll get learning :slight_smile: If I have the dimensions then there’s no reason I can’t model at 10x and scale down either so thanks for that tip. Do you usually do all the texturing before or after it’s scaled?

The paint idea is pretty nifty and as long as I offset the mirrored UV values to give me a “fresh” area of texture then I can successfully paint over the intersection, but I’m still left with visible join lines:

It also means using the same texture for any other object is a no go so I’d have to save a version specifically for the legs. Cool concept to be aware of though. I guess in this instance making the ‘X’ as one complete object rather than one mirrored object might be necessary if I need such detail. Just wasn’t sure if there was a way to get the mirrored object to cut out any overlapping areas if that makes sense. Sort of like a boolean type thing.

Really appreciate the responses and explanations, hope you’re not too sick of me yet cause still only half way through this table/my questions :stuck_out_tongue:

Sorry for the late reply, I somehow missed the notification. The Mirror modifier can indeed cut away the overlaps when using the Bisect option, but in your case that won’t do what you’re describing: it’ll just cut away the un-mirrored part of the leg completely :slight_smile:

Like I mentioned earlier, if you need such fine detail, it’ll need to be modeled in. Actual intersection can, again, be made with the Knife tool. It can also be helpful to model in aligned view, i.e. select a face and go View -> Align View -> Align View to Active… and pick a view. This would let you temporarily put your object upright in the view, even though it’s angled in the world, which can be useful for making straight cuts or moving vertices in View transform orientation.

1 Like

No need to apologise at all! Already provided me with a ton of help :slight_smile: Time to get more familiar with the knife tool. And I didn’t know you could align views to faces, that could indeed come in super handy.

My next question is about the support framing I’ve just added and again which of the myriad of methods to achieve it would be best. I chose to do one of the short sections as an object and one of the long sections as an object and then mirror them both.

But then I realised you can add multiple meshes inside the one object, and it might be preferable from an organisational point of view to have all the pieces of this framing as one. Then I realised that the frame could actually just be one mesh entirely: a solid rectangle with the middle removed - like a square donut.

So now I’m just wondering if I should model the entire table as one object, and just have all the different meshes inside that one object? Or is splitting it up into individual parts better? It’s probably one of those things I will begin to develop over time and learn when and where to go with which route, but it’s always nice to get a head start by hearing from those who have been using Blender for a while :slight_smile:

As always, it depends :slight_smile: While modeling, it may be useful keeping them separate: you can use different modifiers (or same modifiers but with different settings) - something you can’t do on a singular mesh. Assigning different materials is also easier: just plop one on an object, instead of having to select individual mesh parts in edit mode.
Final result though, when you’re done all the edits and are satisfied with the modifier settings, sure, why not apply them and join it all together. Especially if you want to export somewhere. However, it can also be useful to stash an actual separated copy somewhere - who knows when you may need to reuse some part(s), or make a similar table with a few tweaks.

1 Like

That’s the exact sort of work flow that would have probably taken me weeks/months of fumbling around with models before I realised it, thanks for the tip that makes a ton of sense :slight_smile:

That means we’re just left with the tabletop! (Although I will no doubt have some follow up questions once it’s finished :p) The only thing unusual about the table top is that material is a series of timber planks, with rotated planks at either end:

As always I can think of a number of ways to get the end result, and I’m guessing the answer is, as always, it depends haha but as far as I can see the most obvious approaches:

  • Paint the texture directly onto the surface, assuming I can find a suitable image to paint with.
  • Actually model the planks all separately, assign the materials and then join them
  • Put seams where the planks meet and then use the UV editor to move the separated pieces of mesh around (rotate the end segments 90 degrees and maybe slightly misalign the rest so the timber pattern is different across planks)

The first seems ok as long as I can bothered painting the mesh and have a suitable image, but if I ever wanted to change the wood pattern it seems like it wouldn’t really be possible. The second option seemed nice except even though I’ve joined all the planks, if I then want to apply a bevel to the outside edges only it doesn’t seem like an easy option - the bevel modifier works on all the internal edges too:

The third option I can easily change up the material and maintain the effect as I wish, but it’s pretty fiddly to set up and manually go through marking all the seams. It’s the only option that’s given me the result I want though, so it’s what I’ve used for now. (I’ll use a better texture eventually, just whacked this one on for an example.):

Any strong preferences for doing it one way or the other? Or any other approaches I’m not considering?

Bevel modifier can bevel only those edges that have a bevel weight assigned to them (the Weight button in modifier’s settings). So you can, in edit mode, give bevel weight to only those edges that you wish beveled, and configure the modifier accordingly.

To me, it does seem like the two materials approach is the easiest. Or you could even go with one material: the UVs would determine the direction of the pattern, and vertex colors can be used to tint the wood slightly (i.e. by mixing the texture color with some other color based on how “white” the vertices are).

1 Like

Awesome, didn’t know you could control the edges like that. And didn’t expect to get such quick and helpful replies to all of my questions either, amazing I can come here and learn like this so thanks a million again, forever in your debt :slight_smile:

So I have my table, all the parts individually modelled with the relevant modifiers, and I duplicate and archive a copy for future use. Then I take all the elements and join them for using in future scenes.

Is it a drain on performance to have all the edges beveled and the surfaces subdivided? It seems like something that I’m going to be doing a lot of, especially an interior scene with a ton of furniture and decor, and I’m wondering if it means there’s drastically more memory required or if the difference is negligible?

Is there a difference for performance if the modifiers are applied to the model? What I mean by this is if I have my table, and I’m confident I won’t need to edit it in any way, am I better off leaving the modifiers on or should I apply them?

And is there a way to export the model as an FBX and have it remember all the material settings as well? Or would “append” be a better option for this? Basically I want to model a whole series of different tables and then be able to import the table into future interior scenes, and ideally have the table imported with material textures and shader settings already applied. I’m not sure if this is easily achievable, and if it is if I’m supposed to have one “master” Tables.blend file in which I can append tables from, or if I’m supposed to have a single blend file for each table model and export an FBX from there… Any suggestions/popular workflows for building up this sort of library of objects for future use? (The good thing about having the library in FBX is I can use the same items in other software if need be.)

There wouldn’t be any difference in memory: the geometry is there one way or another. Having modifiers unapplied might cause performance degradation as your scene gets (much) larger and especially if you’d be animating, at least in current Blender versions (2.80, 2.81), but the devs are working on improving that, for 2.82 and beyond.

As for asset reuse, simple answer would be to of course use the .blends as that way you don’t lose anything. There are exceptions, of course, like trying to use a .blend created in an ancient version of Blender.
As for FBX, it “should” export the model and materials, but since current material set-ups are quite freeform with nodes, I’m sure there can be caveats.

Awesome, in that case when it comes to building my asset library I’ll apply the modifiers to the finished product. Was worried it might slow the scene down but by the sounds of it having the modifiers unapplied might be a little worse.

When you say you use the .blends, do you mean using the append option? Or is there some other method of transferring assets between blend files? I’ve tried exporting FBXs with different options but the models never seem to import into other scenes with much more than the base colour texture. Slightly annoying if I have to redo all the color ramps, bump, roughness, etc on every asset that I bring in to every scene so figure there must be a better way. I suppose there’s no reason that each asset can’t have its own .blend though.

Yep, or you can link them instead so that you can change the original and propagate those changes into new scenes. This one is a bit fiddly though, seems like a forever work in progress in Blender :slight_smile:

If you’ll be keeping them as assets, I’d say keep the modifiers - that way you keep 'em editable, and can always apply modifiers after appending if needed.