Modeling from Photographic Reference in 3DsMax

Modeling from Photographic Reference in 3DsMax

Tutorial Details

Final Product What You'll Be Creating

In today’s tutorial, Pratik Gulati takes a look at how to reproduce a model from a reference image, even if you don’t have any information on the camera used! Let’s take a look…

An introduction

This tutorial is divided into two parts : an introduction covering the different types of perspective, and then how to apply this knowledge when modeling from a reference image.

Perspective is very important to keep in mind whilst creating architectural models; by understanding simple dimensions like the height of a door, or the average human height, we can often pick out visual cues which can then be used to recreate the models as accurately as possible. One of the biggest challenges in architectural modeling is trying to maintain a ‘realistic’ scale in our 3d application.


The different types of perspective

A reference image (whether drawing or photo) could be characterised with one of three different perspective types. The key difference between the three types is the number of ‘vanishing points’ – an actual point, or points, in the scene towards which all lines converge.

Let’s now take a look at each type in turn :

One-point perspective

An image with ‘one-point’ perspective will contain only one of these ‘vanishing points’, and as such there will be only 3 ways that lines in the scene can be shown – 1) running vertically, 2) running horizontally, or 3) at an angle, converging towards the ‘vanishing point’.

Take a look at the example images below. In the top one, you can see that the camera has been placed so that it looks directly down the street. The fronts of the buildings are exactly perpendicular to this direction, and therefore present us with only vertical or horizontal lines. The tops and bottoms of the buildings (and the other lines in between) however, are all at an angle. If you were to take a pencil and ruler and extend these lines further into the scene, you would see that they all come together and cross at a single point, and that (as you’ve probably guessed), is our vanishing point.

The photograph below it shows the same effect, this time looking down a train track.


Two-point perspective

As you have probably inferred from the name, two point perspective has double the amount of vanishing points. If you take a look at the examples below, you can see that the camera is no longer positioned so that it’s looking directly towards a particular vanishing point, and as a result the horizontal lines from the previous perspective type are now running at an angle – something that introduces our second vanishing point. If you were to extend all of these angled lines as before, you’d see that they now eventually meet on either the left or right side of the image. Vertical lines are still vertical however!

One other thing to take into account are ‘horizon’ lines, the imaginary line at the same height as, and running perpendicular to the camera. This can quickly be created by drawing a straight line between our 2 vanishing point, and is used to get an estimate for the height of the camera.

The photo shown gives a typical, everyday example of two point perspective – the corner of a building.


Three point perspective

This perspective type takes things to their natural conclusion. Our camera has now been rotated, giving us our two vanishing points, but also tilted to look either up or down at the scene. This tilting makes our previously vertical lines angled, introducing a third vanishing point either high above, or far below the scene. The examples below both show this three point perspective, and you can see just how much more dramatic this makes the image feel.


Putting this to good use

We’ll now go on to produce a 3d model of the building shown below, using what we’ve learned above.


Step 1

After analysing the image, it’s clear that even though the front face of the building is directly facing the camera, there are lines to either side that are vanishing off to the left and the right of the image. Given that there are still many vertical lines present in the image, we can conclude that it’s two point perspective, not three point. By joining these two vanishing points, we can see that the ‘horizon’ line runs about halfway up through the main entrance.


Step 1

We need to import our image into 3Ds Max. To do this we’ll first create a free camera in the front view, directly at 0,0,0 on our grid. As we don’t have any lens information for the camera used, we’ll choose 35mm (a good ‘default’ value) for our cam. If you’re using more modern reference however, camera information can often be found in the properties of the image itself, as shown below :

alt=" " />


Step 2

Now add a Camera Correction modifier to our camera. This is used to minimize perspective distortion. Once added, hit Guess to have 3DsMax calculate some appropriate initial values.


Step 3

Now select the camera view and press Alt+B to bring up the Viewport Background settings. Browse for your reference image, and then in the settings make sure to tick Match Rendering Output, Display Background and Lock Zoom Pan before pressing Ok.


Step 4

Open the Render Settings, set the Output Size to match that of your reference image and then lock it.


Step 5

In the Camera settings, turn on Show Horizon. Now the tricky part! First of all, you need to estimate the rough height of the camera in the scene, using the horizon line, and move your camera to that height. Now create a box to represent the very front face of the building, and position it so that it roughly matches the reference image (as shown below). It’s now a case of rotating the camera on the X axis only so that the box matches up as closely as possible. If, after some experimentation, things aren’t lining up as closely as you would hope, try altering the focal length of the camera.

This is not an easy process, and it does take some trial and error, but once you’ve gone through it a few times it gets easier and easier!


Step 6

Once you have your camera set-up and in place, remember to freeze it so that you don’t move it accidentally!


Step 7

Now create a plane in the front view and extrude its left and right edges to match the main sides of our building. Remember, you don’t want to move these new edges in Y at all – they would be straight in real-life! If you extrude and things aren’t lining up, I’m afraid it’s time to go back and tweak that cam rotation a little more…



Step 8

Now select the three edges and connect them with 4 divisions. Adjust these divisions to match the features of the building as shown.


Step 9

Now it’s time to start modeling the details! Connect the edges on the front wall, and move the new edges into place to describe the outlines of the windows. You can now extrude these in for the
windows.



Step 10

For the shape on top of the windows, I took a box, extruded it and then just tweaked some of the verts into position. Duplicate this shape 5 times (once for each window) as seen in the image.



Step 11

I then used a cylinder to create the circular steps at the front of the building, and yet another cylinder and a few bent tubes for the circular border running across the top of the door. As you go, remember to convert to editable polys, and delete un-needed faces.


Step 12

For the beading on the roof, I created a very simple shape (shown here in red), and then simply extruded it along the front edge.


Step 13

For the window, create a plane in the front view and convert it into an editable polygon. Now bevel it in, delete the middle polygon as shown below and then apply a shell modifier to give the frame some depth. For the glass, you can create a new plane inside of the frame itself.



Step 14

You can now duplicate this frame object to create 1 generic window, which can be grouped and duplicated/instanced into place wherever needed.



Step 15

It’s now really up to you how far you take this remodelling. You can leave it here, or continue on down to the finest details!


Step 16

When you’re happy with the model, you can light and render as per normal, and you should end up with something very similar to your original reference image!

>


I hope you enjoyed this tutorial, if you have any questions or comments, just let me know!


Don’t miss more CG tutorials and guides, published daily – subscribe to Cgtuts+ by RSS.

  • http://www.yahoo.com chase

    eff man thats good, i wish someone would do this for cinema 4d….

    • http://www.badgrenola.com Matt Brealey

      Hi Chase!

      Glad you liked it! Essentially the process would be exactly the same in Cinema 4D. Add a camera, bring in the image and set the render size to match it. The slowly but carefully start making everything line up! From there it’s just a case of modeling away :) The only part I can’t comment on is the lens distortion. Perhaps someone else knows how this is done in Cinema? If you do, let us know!

      Cheers,

      Matt

      • novenapuerta

        Hi matt, in cinema its almost the same two things to point out.

        First, select in the your front view>in the panel at your right select edit> configure> back>background image, and select the image you want to link to your scene. (here you can change the sizes, rotation, transparency for your reference image)

        Then when you create your camera, in the object tab select> focus length, and changes the value. By the way in the release 12 maxon put a white balance presets that really helps to get the right illumination for your scene (its in the object tab also).

        I hope this helps. Really enjoy your post matt and really useful one. Cheers… :D

      • http://www.badgrenola.com Matt Brealey

        Thanks very much for clarifying that NovenaPuerta – I’m sure a lot of people will find it very helpful!

        Matt

      • Lucas

        Hey Matt i know this is not probably the place to placing this comment. But i think it would be awesome if you created a post to give huge rep to the grate Laurens Corijn after the release of his new tutorial for eat3d which is a grate group: The Dozer – Part 1 – Building & Rendering a High Poly Dozer in 3ds Max.
        I thought nothing could be more amazing then the hot rod series that he was kind to create for us users of cg tuts and i just believe that every user should have the opportunity to know about the grate tutorials that he is releasing

        cheers Lucas

  • http://www.leafkit.com Leafkit

    Hey great tutorial! I would love a Cinema 4d Version of this one! Cheers!

    • Jannes

      Just look at the comment above you.

      Great tutorial there !

      • http://www.leafkit.com Leafkit

        Yeah! That comment beat me!

  • Dan Warner

    Wow thanks for this. This will definately be coming in very handy very soon!

  • Mirosllav

    Thanks man, great tut

  • Ryan Wilson

    Hey, great tutorial, thanks heaps! I looked all over this page for the original reference image, but couldn’t find a link, I may be blind though… Anyway, if anyone wants the reference image used in this tutorial, I found it: http://www.greensvillecountyva.gov/images/County%20History/Pics/Old%20Bank%20on%20Halifax%20Street.jpg

  • haqzaf

    Hi,
    Thanks for this tutorial.
    Appriciate your efforts explaining different perspective camera views. all gone well and a 3d building model is completed in perspective view.
    This scene or building will remain fixed in this position for any practical use,bcos If I, move my camera to any orthographic position, I see a distorted view of this building.
    If someone please explain, How this 3d scenery/building can be utilized for practical purposes other than a fixed perspective camera view.

  • Midge

    Great tutorial thanks as I am particularly interested in learning to model buildings well. I think it would be even better on these kind of tutes if they were made available as PDF’s so that they can be easily printed and used as reference, I’m guessing that a lot of us here don’t have two monitors? PDF option wouldnt be difficult to produce either. Hope you’ll consider it?

    Midge

  • Mike Garcia

    WOW!!! great tutorial. I hope you guys post similar posts soon. I hope you guys can show us how to place a model into a background image using max for nice architectural renders. I really love this tutorial. It helped a bunch.

  • Joe

    Great job on this tut mate, done us all a big favor on this one.

  • Siddharth

    Thanks, i am looking for this from a long time, and you have done it.
    Thanks again.

  • ed

    ok I am just stupid on this one. I tried moving my camera and the horizon didn’t move, so I thought maybe it was rotate. Which moved my horizon, but as soon as I put a box, or a plane, it went haywire. I really need help on this, but thank you anyway. I doubt it was anything that had to do with you. Most likely me. BUT!!! thank you for helping on this site. Keep u pthe great work

  • http://3d-chisinau.blogspot.com Luckyfox

    Hello nice tut, it was interesting to me because I model for Google Earth, and reproducing buildings from photos is something touching my field of activity. Though I would recomend to everyone how needs to match a building using a photo Sketchup, it uses almost the same steps, with only diference that user changes axes the way that they match the buildings lines of 3 point perspective.

    Thanks for tut!

    • Mike Garcia

      You should try and post a tutorial for us sometime also. I would be really interested in learning how to model a 3d building in sketchup from photo reference and completely mapped from all angles.

      • http://www.badgrenola.com Matt Brealey

        I think that sounds like a great idea Mike! Luckyfox, feel free to get in touch if you’d like to put something together for us, or just leave a comment here and I’ll send you an email!

        Thanks :)

        Matt (Site Editor)

      • http://3d-chisinau.blogspot.com Luckyfox

        Hello guys!
        wow! I am impressed! Will be a great honour for me to make a tutorial on this. Will get in touch with you soon. I need to just plan it carefully.
        Thank you.

  • Tyler

    Model the car next time too lol jk….or am I?

  • http://www.visualz.com gary m davis

    great article! you could also use the photograph to camera project back onto this model from the primary camera (remains static) and have another camera do slight moves/pushes into the scene for perspective changes on the model. good stuff. thanks!

    //gD

  • http://www.whitebirchstudios.com Bobby Parker

    Good, but AutoDESK has some really nice solutions for modeling from photos. You should check out Project Photofly. Thanks for the tutorial!

  • http://www.wix.com/sagiarts/sagiarts Arnab

    Very helpgull

  • http://3dmaxpedia.blogspot.com arge985

    in step5 are you working in front viewport or camera viewport … i cant move horizon in camera viewport … please clear this point ….
    and thanks for the great tutorial

  • lyly

    could you do the same tutor but in the Maya please

  • sandhya

    thats really awsom

  • topos

    Hi,

    Only mistake is that you assumed that the streets don’t cross at a right angle (in plan) which they do (just like in your sketch of two-point perspective corner buildings). This is not a problem for a single building or if you never use another angle again but if you start building the rest of the street you’ll start seeing perspectival discrepancies. This is not a good a habit to take if you model entire environments. Best.

  • http://www.fometrix.nl Huub

    Hi there, first of thanks a lot for this tut, but i am a total noob, i don’t get step 5, how do you move the horizon and get a height of it for the position of the camera? could someone please clarify it for me?

    thanks!

  • http://www.fometrix.nl Huub

    hey there again,
    sorry for the double post.

    But just wanted to give some extra-information:
    im using Max 2010. And with step 2 when I hit the guess button nothing happens.
    hope this will help a bit.

    Thanks

  • calafior

    Sorry, but I can’t catch the benefit of doing that way if the model created is useful from one view point only and from another distorted.
    Nevertheless thanks for tutor.
    Greetings.

  • Northstar V8

    Is there a way to have more than one image in a different viewport/camera? Can both the images respond to the others movement? I’m modeling a Cadillac STS-V, it would be golden to my productivity. Thanks.

  • Spyder

    Very nice tutorial. Very helpful indeed.

  • http://WWW.3DMAX.TV Maarouf Alsheikh

    AMAZING TUTORIAL!
    THANKS!

  • Bill

    where can I find 3 point view images (top, side, front), I am looking for more of non-semetrical images and such that I can make in 3d max.

  • http://Detfinns definitivt

    Youre so cool! I dont suppose Ive learn anything like this before. So nice to seek out someone with some original ideas on this subject. realy thanks for starting this up. this website is one thing that is needed on the internet, somebody with somewhat originality. useful job for bringing something new to the internet!

  • Hoaviet

    If only I knew how to do the selection bit,Step 7-8

    Do not get these at all