in this tutorial, we will make a 3d model building from still images(non-orthographic). we can so easliy make 3d model if we have any
information about measurements. in first step i'll show you if we don't have any information and measurement of that building, and we just have
minimum reference image.
- Creating Guide Scene
setting up the guide scene.

|
We have two pictures as reference. These picture show a train station. It's located in Semarang, wich were built during dutch
colonial. Exactly I don't know any information about its measurement definitely.
Reference image
Picture1
Picture2
|
|
Open MAX,
Displaying the Background in the Viewport.
Open viewport background window
view>viewport bacground..(alt+b)
Viewport "front".
background set in front viewport.
we can use any
orthographic viewport, because we just need 2d view.
Click "Files.." button.
select ref image.
Check Lock zoom/pan.
background autoresize when zoom/pan.
Match Bitmap
background aspect ratio.
|
 |
Background Texture Size
we need fine detail in viewport background.
Customize>preferences>configure driver>background texture size>check match bitmap as closely as posible.
but if ref image resolution is 1024, i prefer using 1024. so uncheck match bitmap size.
|
 |
Maximize your viewport and u can turn off grid.
press"G" to show/hide grid
|
|
|
Point Perspective n Horizon.
|
Use Line to find Vanishing Point.
enable in renderer
enable in viewport.
|
|
Vanishing Point
Look at the edge of the object from ref image, find VP in picture area and draw a line by continuing from edge.
See pic. All red line from edges, parallel to y axis(world coordinate system).
We have had a vanishing point/point perspective. Its location must be arround there.
For the next step, we should look for other vanishing point/point perspective. But for this ref image, it will be so difficult
to find them.
Approximately, there are 3 point perspective on that ref image.
You should know about point perspective system ( one point perspective - six point perspective ). see links n references in the
end of tutorial.
|
|
To solve problem of seeking other point perspective, draw line from that building basic form.
see picture
|
|
Additional Line Guide
Add additional lines. see pic
Horizon
Approximate location of horizon.(because we cant see the horizon in ref image).
Horizon will be parallel to x axis (world coord. system). Most photographer will keep a horizon horizontal.
Create a box as a line (automatically box is horizontal). We estimate the position of horizon. Position of horizon and
vanishing point not in a line. My estimation horizon wrong?
|
| |
Set up a rendering background
Set ref image as environment map.
On the menu bar choose: Rendering>Environment>Environment Map> pick Bitmap>select picture.
RENDER (same as ref image resolution, ex 1024x768)
Save as Blueprint1.jpg
Save MAX, we might need it later.
|
Additional guide scene
 |
Reset MAX
Repeat prev steps. there is such different, point perspective or vanishing point is out of the scene.
use mousescroll to enlarge canvas.
Look for the horizon position by using box. Lengthen box untill passin VP.
horizon cut the VP, that is good forerunner.
|
 |
Additional scene is ready now.
Set up a rendering background
RENDER. Save as Blueprint2.jpg
Save Max.
|
- Camera Matching
to match the perspective of a camera to a photograph. We will need accurate scene measurements.
but if we don't have any information about measurment we can still make an estimate and matching the perspective to ref image.
Measurements
|
Reset MAX
at frontview, use ref image as background.
Analyze ref image. find any object can be use as measure comparator. i use that oldman in the ref image. we estimate height of that oldman is 155cm(too short..no problem)
Create Box with height as high as building(line guide). Rotate box corresponding to Z axis perspective.
add segs box, height of segs as according to height of the people.
we get 7 segs.
|
 |
Ctrl+N in any numeric field. to display Numerical exp ev. as a calculator.
155cm x 7 = 158.7V
10.85m = 158.7V
V = 0.0678
we get h = 10.85m, V = 0.0678
press cancel to dismiss.
we can display a calculator called the Numerical Expression Evaluator
ctrl+N in any numeric field. but You can't use Variables in the Expression Evaluator, but you can
enter the constants pi (circular ratio), e (natural logarithm base), and TPS (ticks per second). These constants are
case-sensitive.
|
 |
Create a box according to width building.
positioning of box as close as possibly to horizon.
we get 304.8
304.8 x V = width.
304.8 x 0.0678 = 20.665m
we get w = 20.665m
|
Camera Matching1
 |
Reset MAX
Displaying the Background in the Viewport.
select perspective viewport. add "blueprint1.jpg"(we have made before) in viewport background.
Creating Basic Object
Create a box, w = 20.669m, h = 10.85m and l = any size
don't forget to change unit display.
Costumize>unit setup>display unit scale>metric.
|
 |
Length
we estimate length depend additional line helper/guide we have made.
see pic.
we assume that length is 30m.
the length is depend on you. |
 |
Setup Camera Matching
right click on 3d snap, check only vertex. then click snap to activate (S).
|
|
Create>helper>Camera Match>Campoint.
|
 |
Camera Point helper/3D Point.
Create point wth clockwise, so we can easily remember.
Open box object properties, uncheck backface cull. and check see-trough.
so we can see box backface.
|
|
Assign Position/2d point.
utility>Camera match>assign position. see pic.
warning,"background image ratio should be set to that of the renderer, fix?" yes, ok.
a red plus sign displayed on the bitmap.
If a red/green plus does not appear, you might be using an OpenGL/direct3d driver. Press ` to redraw the
viewport. If the red plus doesn't appear, change display driver.
Customize>preferences>viewport tabs>display driver>choose driver>software>restart MAX
|
 |
Create camera.
we can see, box not match with which we expect. that mean estimation of our length is wrong or position of vanishing point is
not accurate.
|
 |
Fixing
change position of 2d point and assign new position. we just need to assigning new position of campoint05 and campoint06.
a good camera error range is about 0 - 1.5
Change the position with path at line guide we have made.
|
 |
With camera selected, click modify camera.
at camera modifier, Check show horizon.
horizon is not paralell to x axis(world coord system). it show it's raw photography or the photographer isnt professional (it's my
sister:) ).
almost perfect, fix it.
|
 |
Until we have satisfied with match result. then we see camera position which have been made.
the photographer height is about 165cm and camera position is about 160cm..
|
| |
|
Camera matching 2
Camera matching for second image.
 |
we should hide 6 campoint we have made into different layer.
Selection filter>helper
select all>Layer Manager>create new layer.
rename helper1>hide.
|
 |
on other viewport (say a left viewport), change to perspective view.
add viewport background with "blueprint2.jpg ".
Create new layer. rename with helper2.
Create campoint.
see pic
Assign position.
warning again, ok..
before we create camera, uncheck "use this point" at campoint 1-6, because we dont need now.
utilities>camera match>uncheck use this point.
Create camera,
error, not enough point, ok we need 2 additional point.
the problem is, where we can determine position of 2 additional point.
|
 |
Open blueprint2.max, create additional line guide. and render>save as blueprint3.jpg.
|
 |
Switch to matching work, change viewport background with blueprint3.jpg.
re-set selection filter>all
select box> add lentgh segs, see pic.
Create campoint11 and campoint12. dont forget to activate snap.
Assign campoint11-12 position.
Create camera, fix it.
a good camera error range is about 0 - 1.5
|
 |
create new basic object and match with blueprints.
we can added more campoint if needed.
I hope this tutorial was useful for you.
trust yourself..and sorry for the english.
|
workflow:

|
| |
Links and references:
other Architectural reference image to 3d, tutorial:
Point Perspective:
Other:
- MAX user reference.
- Ken milburn.Digital.Photography.Expert.Techniques.2nd.Edition.OReilly
|
problem and any question
fell free to contact me
email: Fabolousview@yahoo.com (with o).
YM: Fabolousview
EVERMOTION s.c., ul. Przedzalniana 8, 15-688 Bialystok, NIP: 542-291-02-99, ph.: +48 85 674 50 05, fax: +48 85 653 3620 POLAND. Our office is open from 8am to 4pm (+1.00 GMT)