Any help much appreciated
pb
There are several distinct "problems" to solve.
1. You'll need digitized photos (and they should be rectilinear although
photos naturally contain some barrel distortion. So the digitized photos of
the outside wall will probably need to be corrected with software).
2. You'll need to model the house with surfaces to which photos can be
applied. Indexed plane sets (one per wall) in other words. If you use
boxes, or extruded shapes, to model wall then there will be a "wrap-around"
effect that will make a one-wall-one-photo matching impossible.
3. Ditto for interior furniture.
4. I recommend that you look for a VRML design program that will create
plain-vanilla (ie non-proprietary) VRML objects comprised of indexed face
sets. The program should output standard VRML code that you can read by
eye, and it should _not_ output big arrays of decimals since you can't
modify those easily by hand afterwards.
I've made walls with windows and doors "by hand" and it isn't easy. A _lot_
of arithmetic and simple geometry is involved.
5. Ask yourself if you want the model to be a single world that contains
the outside walls and the room interiors in one world. Or if, alternately,
you want one world to model the outside walls and a set of worlds to model
the individual rooms inside your house.
Both approaches have problems and advantages.
For example, if everything is in one world (including inlined files) then
you can stroll through the model, from room to room, and look out the widows
or through doorways (internal and external) as you do so. But this model
may run very slowly and jerkily on most machines (including modern ones with
graphics accelerator cards).
Subdividing the problem by using a set of worlds requires you to place
"anchors" between these worlds in each doorway; and you won't have a common
area visible outside of the windows of the various rooms. This means that a
certain amount of fakery and testing is needed to make windows and door
regions look plausible. Also, there may be a significant delay while a new
room world loads up as you pass into it from another room. However, the
subdivision-approach will greatly speed and smooth your stroll _within_
rooms and allow you to load a much more detailed house into a given
computer.
On the plus side, you can probably use extruded shapes or blocks to
construct the house if you use the multi-world approach. Since you won't be
inside this (external view) model, it doesn't matter much what it looks like
inside; photo-wraparound isn't a problem (although applying the photos
properly might be tricky in this case, since they apply in an orientation
that depends on the shape of the box etc. being covered.)
Another approach might be to use a single world (with inlined world) to
model the whole house - but the use Levels of Detail to model the rooms.
This would allow you to move fairly easily in the house; however, you can
never be sure when the Level of Detail will change, and the distance sensor
for the level change is computed according to a radial (circular distance)
formula that isn't easily compatible with the rectangular room layouts in
modern houses. And (finally) there is no _requirement_ that Levels be
loaded sequentially as they are needed - so if a browser pre-loads all
levels then you'll actually be worse off (memory wise) than if you didn't
use levels of detail. Movement inside the house will be intermediate in
speed between the two other approaches.
I'd recommend the multi-world approach, personally. At the very least, it
lets visitors stroll _around_ the house easily. However, the realism of
looking through a window to see objects outside the house is important too.
The hinge might be: how much furniture and decoration will you have inside
the house?
6. VRML views are really not that accurate, in my experience, in their
placement of objects. You'll probably find that corners don't quite meet
when viewed from some angles, or overlap from other angles of view. I've
found that putting a vertical shape (such as a tall box or cylinder) at
corners will cover this effect. Of course, the corners don't look quite as
you'd expect then, but very careful placement and sizing can minimize the
effect. There might be a subtler solution to this problem, but I don't know
it.
7. The best solution would be to find a program to do this for you. There
actually _is_ (at least one) organization devoted to Virtual Realty <smile>
and they might be able to suggest a simple program to you. Sorry, no link
to that in my records!
- Bob Greer
You have to be careful about this method if the object is a solid. Mapping
an image to a solid (like a box) will map the same image onto each side of
the box; and distortions occur can occur on some sides. Mapping it onto a
IndexedFaceSet will, typically, smear the image across the top, bottom and
side surfaces to the opposite face where it will also be pasted. (See
Figure 6.11 in the VRML97 Spec. for a picture of this effect.)
With a house model, he'll want a different image for each side of the house
(and perhaps several images on some sides, depending on the shape of the
house). To do this, he'll have to use a group of IndexedFaceSets (or a
group of thin boxes, one per wall). And in the case of IndexedFaceSets, the
orientation of the image on the face depends on the proportions of the face
and of the image.
This problem needs either a book (online or hardcopy) or access to someone
to oversee the work and to help with decisions. Otherwise he'll (probably)
paint himself into a corner pretty quickly, so to speak. A house (interior
and exterior) is *not* a simple beginner's project in handcoded VRML!
- Bob Greer
- Bob Greer
Bob Greer <greer...@thegrid.net> wrote in article
<dSSP2.265$Ye.1...@alfalfa.thegrid.net>...
> Just a general comment:
>
<<snip>
>
Thanks very much indeed for that answer Bob. Much appreciated, it helps a
lot.
First, I concur 100% with Bob Greer; (excellent, detailed response,
Bob!) - and then, I'd like to put forth another option: Panoramas.
One way folks do walkthroughs these days is to do a panoramic view of
one room (or even of the "front yard/entry area") and then have embedded
links in the view which take you to the next room or area. There are now
a number of technologies which do this, all based on making wrap-around
images from digital or scanned photos. (QuickTime VR - which you can
only author on Macintosh - started this; PC-based systems are:
LivePicture, IPIX, and one that I've used - Rubberneck)
This kind of approach will not be completely 3-D (you can't "walk
around" the furniture, etc.) and not in VRML, but will certainly give
you the photographic representation you're after. But, if you use
LivePicture, you can zoom in and out on the image, seeming to get closer
or further, and can actually embed VRML objects in the scene.
Although I don't have lins in any of my panoramas, see my Panoramas page
at:
http://pluto.njcc.com/~paulsam/panos.html
- Paul
***********************************
Paul S. Hoffman
Senior Interface Designer, Cognetics Corporation
pau...@pluto.njcc.com, pa...@cognetics.com
Company URL - http://www.cognetics.com
Personal URL - http://pluto.njcc.com/~paulsam
609-799-5005 ext.237 - FAX 609-799-8555
pb