RealVIZ originally developed high-end motion-tracking software for Windows, but it has recently started producing more-mainstream software for the Mac. Technology from its MatchMover 3D-camera tracking software has trickled down to design-oriented products such as its excellent Stitcher panoramic image-creation program available on Mac OS X. From that, RealVIZ has created a further spin-off – SceneWeaver.
MatchMover is used in high-end film and video production to capture a camera’s motion so 3D elements can be inserted seamlessly into the shot. By analyzing the footage using special algorithms, the distortions and movements of points within the footage are tracked, and the full 3D camera motion deduced. This technology was adapted in Stitcher so it could be used to generate a seamless, panoramic image from a series of ordinary photos. SceneWeaver does something similar, and is a kind of hybrid of the Stitcher and MatchMover.
With SceneWeaver you can take a panoramic image, or even an ordinary photograph and place within it 3D objects that correctly match up with the surrounding 2D environment. These scenes can then be exported to various formats, including Shockwave 3D for interactive Web deployment. Its uses include architectural, engineering and product visualization, interactive Web 3D and other general uses.
The interface is simple. There’s a large single-view window, a tool bar at the top of the screen, and three floating palettes down the left hand side. To work with the program you first have to load in either an image or a panorama. The latter immediately seems to offer far greater possibilities than a flat 2D image, but you can still do surprising things with a 2D image.
The basic workflow involves importing the background, calibrating SceneWeaver to it, and then adding 3D primitives, or importing 3D objects and finally exporting the scene as either a Shockwave or VRML file. Calibration is the tricky part, but SceneWeaver has a simple approach to matching its 3D environment to that of the image or panorama.
In Calibration mode, a set of red, blue and green axes with handles appears over the image. The idea is to locate a corner point in the image where you can then trace the three mutually perpendicular axes, and so calibrate the scene. You begin by dragging the axes into roughly the right location, then pulling the ends of the x, y and z axes so they each line up with their counterparts in the image. The final step is to find another line that is parallel to the x axis and align to it the separate perspective axis that is also displayed. By doing this, you are also giving SceneWeaver additional information about the degree of perspective distortion in the image.
It can be tricky to calibrate a scene at first, but it gets easier quickly. SceneWeaver also provides a few visual cues to help with the process. If the axes are cubic (where the lines are perpendicular), a grid is displayed on each plane – go too far off-track and it disappears telling you you’re way off. To fine-tune things, the dragged axes need to match the edges of the grid box. Finally, one of the palettes displays an accuracy value that needs to be 95 per cent or above for a good match. Some images will be more difficult than others, but interiors with straight walls should pose no problems.
Once calibrated, you can add 3D objects to the scene. SceneWeaver comes with a number of primitives that you can add and move about, scale, and rotate to test that the calibration is good enough. They can be used quite effectively for some tasks, because you can extract textures from the image, and apply them to the primitives. Imagine an image of a ball on a table. You can add a sphere, position it exactly in the location of the ball – you do this by rotating the panorama and adjusting the position of the sphere from different angles – then click the Extract Texture button to map the ball with that part of the image.
SceneWeaver can also use imported 3D models, and comes with a couple of useable examples. You’ll need another 3D program to create specific models and textures and export them to OBJ format for import. One of the problems is occlusion. This is where an object in the image needs to overlap a portion of the inserted 3D object. This is not a problem for SceneWeaver. You can draw polygons to capture portions of the image as a texture.
Once the scene has been set up with the necessary 3D objects, it can be exported as a VRML file – for interactive browsing – or as a Shockwave 3D file. The latter requires Macromedia Director to add interactivity and to be re-exported in a Shockwave Player compatible format. With the scene including objects and textures in Director, you are free to design in the desired interactivity.
There’s not a lot to fault in SceneWeaver, apart from the inability to duplicate objects. Some refinement of the interface would be advisable, and perhaps some extra calibration tools for particularly tricky images and panoramas. A QuickTime image and VR export option would also be a nice addition. SceneWeaver does what it sets out to do very well indeed. The question is, do you need what it can do?