• Welcome to SC4 Devotion Forum Archives.

BAT Modeling Tutorial by SimFox (part I)

Started by SimFox, November 05, 2007, 04:29:21 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SimFox

Modeling.



Part I

One of the best ways to model architecture is by using technique called polygonal modeling. The key concept here is that most of the work done on sub-object level. You can start with box, or any other primitive that best resembles desired shape and then convert it to editable poly and start adjusting its vertices, edges, polygon.  It is very simple and incredibly powerful technique. It also allows you easily keep control over the number of objects in your scene – this is very important issue – far more so than polygon count - for performance of the program, particularly viewports, but rendering as well. It also gives you several very handy mapping techniques through multimaterial – allowing you to group many materials into one and this way keep more of them in Material editor applying different materials to select polygons of your model.

Ok let's start.
As always it is highly advisable to either get floor plans of structure you are about to model, or to make them yourself – this will potentially save you from confusion and runaway dimensions later on. I attach floor plan of one residential complex with this tutorial. Feel free to use it for your test projects! This is a real life building model of which I'll me making for SC4 and use as an illustration for the tutorial:


When working with floor plans make sure that proportions were not distorted sometimes during the life of the graphic file. Also when you assemble one single floor plan from many fragments make sure all are scaled isometrically and to the proper size.
Once you've got yourself a plan, take some time to study it and look for internal proportions and relations. It will come very handy cause often floor plans available on the net aren't really all that accurate and window in one part of the building may be of somewhat different size not because it actually is, but simply because the person making that illustration didn't really bother to make it precise.
More often than not such a plan wouldn't have any clearly marked measurements. But often those could be derived from the some other data available like say floor area. So, simple arithmetical operation will give you some approximation of the scale.
It is always a good idea to use several different approaches to determine sizes in order to minimize possibility of wildly wrong results.

Bringing Floor Plan into MAX.


Although not absolutely necessary step, often it is helpful to have your floor plan right there in your scene.
To bring it into the scene create plane of any size (you'll be adjusting it later anyway just make sure, to avoid further confusion that it has only 1 segment in length and width).

Create new material and place your floor plan into diffuse slot. Apply your material to the plane you've just created. Make sure material is set to show in view port.


Most probably now our floor plan is distorted and of wrong size.


Let's fix it and start with proportions. Select your plane and apply to it UVW Mapping modifier.


Let Mapping remain Planar – it fits our need just fine, go to the Alignment Frame and click on Bitmap Fit button. Select same very bitmap with floor plan you used in defuse slot of material


and you should notice that image had returned to proper proportions. Depending on how you've created your plane it may tile horizontally.


If you don't see tiling or it is minimal you can leave it at that. If, however it is significant, or you just want to be precise copy numbers in Length and width from Mapping frame in UVW Mapping modifier and paste them into appropriate fields in Plane Parameters. You plane now should be exactly right proportions to fit floor plan bitmap.


It would still most probably be of wrong size. And Although I don't recommend to model by simply tracing the image – this is not precise enough to avoid all sorts of troubles later, it is still good to have close visual reference. So now we would need to scale our plane so that it would be of right size. To get scale right you need some reference. In this case create rectangle/box of 8m in width (any length will do) place it over the plane with floor Plane and uniformly scale plane up or down until width of typical unit (A) is about the width of 8m.




Sub-Object Level Modeling


We will start with that long corner building.
To keep plane with floor plan in place we should Freeze it, but done with default settings it will turn plane grey and we wouldn't see actual Floor Plan. To fix that right-click on plane and select Object Properties and there in General Tab UN-check "Show Frozen in Gray"


From the data mentioned on these floor plans I have deducted that width of unit is about 8m. This number will give us building depth (length in case of box) of about 15 m (without balconies and terraces) I also know that internal floor height is 3 m and to this the thickness of floor plates of about 30cm and we have our constructional floor height of 3,3m. To compensate for the squashing effect of in game view  - questionable but almost universally (in BATing) used approach we'll multiply this number by 1,3 to get us floor height of 4,3m. So our first box will be 8mx15mx4,3m.
Personally I always create boxes of just approximate size and then give them exact measurements in modify panel but it is also possible to do so right from the start. From floor plan it is clear that our building is comprised of two wings 7 and 6 units in each plus corner section.
Ok box as primitive has done for us all it could and now it is time to convert it to editable poly. This could be done (one of the ways) by right clicking on the box and in lower-right quad menu selecting Convert To: >Convert to Editable Poly. 


We'll use our basic box to outline the volume of standard floor. Now it would be helpful to be able to see our reference floor plan, but it is obscured by our box. We can easily fix that. Right-click on box and choose Object Properties and in General tab check See-Through in Display Properties frame.


Now we need to place our "units". To do so we'll use array tool – one of big time savers in daily modeling. Select your box and in Tools menu select Array


You'll get this window (actual window may vary somewhat based on the version of MAX you are running, but basics are the same):


This tool allows you precise placement of multiple copies of selected object in 3d space. You can choose either incremental (one we gonna use here) or total spacing and use move, rotate and scale. your array could be either one or two or three dimensional. In this particular case one dimension (X) is what we need. We want 7 pieces of our box stuck reputedly to the right of the original. So our X displacement should be positive and equal to the width of our box -8m Total number of boxes in our array should be 7. In this case choose object type to be Copy – so that we could still edit each of the boxes individually or/and attach them into one object should we choose to.
Array tool starting from Max Ver 8 has preview button - pressing it will display to you the resulting array. This is a very handy option when you freehanding you array or don't have necessary numbers and way to estimate them. Press Preview button and now you can alter any numbers inside this Array window and see how it affects the outcome in real time.
Ok, now we have our 7 poxes lined up. To keep clutter to the minimum lets attach all of them into one object. Select first box rename it Wing_1, or whatever else is good for you and click on attach button in Edit Geometry Roll-up under Command Panel. Doing that activates attach tool and will attach ANYTHING to the selected item so be careful what you're clicking on. To make process more controllable you can use attach by name option. To get to it click on little square right of the Attach button. This should bring up select by name dialog box. Select there what objects are to be attached and press ok and it's done!


Now we'll get to actual Polygon modeling! Editable poly is made up of 3 sub-objects – Vertices, Edges and Polygons. There are two more sub-object types listed in Selection Roll-up – Borders and Elements. But those are just assemblies of other basic types. namely border is a set of edges with only one face and element is a collection of faces are attached to each other through common edges. This is very handy selection method as  it allows you to still select individually objects that were attached in already. For instance in our example each of seven boxed is now unique element of object Wing_1. I strongly urge you to read more on sub-objects in MAX help and do some tutorials there.
Our Wing_1 object is of approximately correct dimensions but we can clearly see that some of units extend beyond the common volume. From my unit estimation I know that this extension is uniformed and is 1,8m in size. To recreate it we'll use extrude command.  In Selection Roll-up choose Polygon and select appropriate faces and click on the little box (symbol that command has dialog window) right of Extrude button. Put 1,8m in extrusion height and click on OK.


This done, let's make the corner part. Create one more box with dimensions 8x15x4,3m and convert it to editable poly and rename CornerBlock. Now we need to precisely place our box in relation to Wing_1.You can eyeball it in say top view but this will never be precise and always too slow if you'll try to get it close. We can avoid any gaps or intersections by using SNAPS! It is Extremely helpful tool and should always be on! There are3 type of snaps available in 3dsMax – 2D, 2,5D and 3D. You can forget about 2D altogether, all you'll ever use are 2,5D – for any 2D view like Top, Left etc and 3d for Perspective, User or Camera view.
If you were following first "Set-Up" tutorial you should have Snap panel in your main panel and Snaps are set to work only Vertex to vertex. Activate Top Viewport. Choose Move tool (1),  make sure that 2,5D snap is on (2), select XY plane as our constrain and click XY with magnet icon to activate snap(3).  Make sure that you are not in sub-object level. Place cursor over the corner of CornerBlock object(4) and move it to the corner of Wing_1 you'll notice how it will immediately snap into the place leaving NO gap and not creating ANY intersections of two volumes.


CornerBlock in place Select this face and extrude it 11m.


Then these 2 faces and extrude them 1,8m (make sure the extrusion method selected is "Group").


There are couple of more extrusions that will get our box into right shape but we can't make them as we don't have polygons of right size and placement to make do them. So we'll make polygons we need.
Choose Edge sub-object level (2) and select these edge (2):


You can click on Ring button and it will ring selection (3).
Now when all edges selected click on Connect Dialog Window(1) button in Edit Edges Roll-Up. You should get this window


Again your actual window may differ somewhat depending on Max version and some additional plug-ins installed but basic principle is the same. This window will allow you to select number of connection between selected edges(2) to be created and also their placement (read more on this command in Max Help and experiment with it). For now we need only one connection put 1 in Segments window. You should immediately see new edge created(3). Pres OK to close dialog.
New edge had divided polygons into two equal parts. It isn't quite what we need so we will have to edit the location of this edge. If you have edge still selected press space to lock the selection. If it got deselected you would need to reselect it. This, however, most probably would be easier to accomplish on the Vertex sub-object level. Ok let's just assume it was deselected. Activate Top Vewport, Choose Vertex Sub-Object level, and select vertices on that edge we just created by dragging marquee around them – like so:


Now, while they are still selected press Space to lock(1) the selection (it can't be deselected until you'll press Space again). Select Move tool, Make sure 2,5D snap is on and Y axis is selected as a constrain and snap-move our vertices to the top most vertices of the box(2):


This is the reason we had locked our selection – to make sure we'll keep only right vertices. Right-click on Move Tool icon in the main Panel. This should open this numerical input to Move tool. Put -11m in Y field in Offset: Screen frame and press enter.


Our selected vertices will move precisely 11m down.


Now we have polygon of right size and placement for further extrusion.

Select it and extrude 1,8m.(1)


After that select these two (2) and extrude them 1,8 m (make sure extrusion method selected is Group to prevent polygons being create between these two.)
Now use same technique to create divide this polygon:


Snap vertices to the left and then move them 4,7m on X. Extrude (group) these two polygons 5,5m.
Now outline of CornerBlock is complete.
You can create/assemble second Wing the same way we did the first one, or you can clone and edit existing Wing_1. To demonstrate couple on more tools in use let's do later.
Select Move tool, press Shift and move Wing_1 this will create copy of it and open dialog window. Make sure that new object is a CLONE, not instance, name it Wing_2 and click OK.


Now right click Rotate tool Icon and in dialog box put -90 in Z field  in Offset: Screen frame and press enter.


Snap-move right-Top corner into position. Wing_2 is little bit bigger that we need. One element bigger to be precise. Choose element Sub-Object, select last element and delete it.


Now overall size of Wing_2 is right, but its shape is still off. First we have to get rid of part marked A and make another extrusion.
Choose Polygon sub-object level and select extruding polygons  delete them.


Now they are gone but we have an opening in their place(1). We don't need it so let's close it. Choose  Border sub-object level (2)and click on the edge of that opening. Notice how ALL edges of the opening are selected now (3). Press Cap button in Edit Border roll-up(4). New polygon is created and hole is no more.

(I've switched Wing_2 back to be nontransparent for now).

Now to complete the Wing_2 extrude missing part 1,8m.





Volume outline of normal floor is now complete.

In the next tutorial we will be making windows and doors.

autoVino

wow this is awesome!  I personally got into a habit of using boolean modeling (works pretty well, but isn't as clean as poly modeling)
But this is very nice and doesn't seem hard at all... much more reliable than proBoolean, and in the end is probably more efficient too.
:thumbsup:

XiahouDun

I never thought to use a floorplan like that. Learn something new every day huh? :D Thanks for posting the tutorial, I'll definately have use for it in the future. :thumbsup:
Current project: Movies 14

You may have meant to search for Houdini. (result of searching for XiahouDun on SC4D)

kwakelaar

This is looking like an extensive tutorial, when I move from gmax to 3ds I will take a much closer look at this.
Thanks for taking the time to assemble this.

jeronij

Wow  :o  :thumbsup:

Gracias amigo ¡¡¡¡ I dont have the time to read this now, but I have printed it, and I will study all this information carefully at home. So far you already gave me some good ideas  ;)

I´ll come back for more  ;D ¡¡¡
I am currently not active - Please, contact Tarkus for any site related matter. Thanks for enjoying SC4D :D


Autism Awareness;  A Father Shares
Mallorca My Mayor Diary


callagrafx

I personally use a combo of outlined, extruded splines & boolean methodology to create walls etc (boolean to cut out windows).  It's quick, poly efficient and easily mapped.  This is a curious method and deserves greater scrutiny.  Many thanks for the time and effort on this.
The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it