VRML97 Tips

The tips presented in this topic will help you make your work look as good as possible and display and move as fast as possible.


Use small texture maps, and use them sparingly. Keep the polygon count of your objects down to achieve good performance. A complete scene with a maximum of 5,000 to 10,000 polygons is manageable for most computers. The Level of Detail helper lets you manage the polygon count of objects in the scene. You can also use the 3ds Max Optimize modifier to simplify objects before exporting them to VRML97.

Use primitives whenever possible. For example, a scene containing only a sphere exports to a VRML97 file of about 400 bytes, but if you apply an edit mesh modifier and move one vertex on the sphere, the VRML97 file is about 7,400 bytes.

Use Show Statistics to keep track of the number of faces in your scene.

Call your VRML97 .wrl files from a standard HTML page and constrain the viewer to a limited window on the screen using the embed command. This decreases the number of pixels that must be rendered on every frame and makes the VRML97 environment more responsive. Many users use high resolution (800x600 or more), so the number of pixels during rendering and navigation can be large and the video display may slow down. Frames may be dropped as the browser attempts to keep up its real-time rendering, and navigating the scene will become "chunky.” Use the embed command to avoid this, for example, <embed SRC=myworld.wrl WIDTH=300 HEIGHT=200>

Hide faces on an object in 3ds Max, then export the object. The hidden faces appear as a hole in the object. While the VRML97 plug-in can export hidden objects, it does not export hidden faces. Hide faces that you know will never be visible in the scene, such as the backs of objects or the bottom faces of objects resting on a surface.

Use instances to reduce file size for objects that have the same geometry.

Whenever you use a Mirror transform, use the Reset Transform utility immediately afterward. You can also use a Normal modifier immediately followed by Unify Normals. VRML97 does not allow mirror transforms (negative scales). The Reset Transform utility modifies the data in the actual mesh object to create the mirroring effect.

Don’t change units when modeling for VRML97. To model in meters, keep the units set to the default and use one world unit as one meter.


Beware of large file sizes when you use transform animation and coordinate-interpolated animation. The VRML97 plug-in exports transform animation (move, rotate, and scale), and coordinate-interpolated animation. For example, you can animate modifiers such as Taper and Bend and you can animate changing parameters, such as increasing or decreasing the radius of a sphere.

When scenes using the Inherit Links function are exported to VRML97, child objects always inherit their parents’ transforms. Inverse kinematics export correctly to VRML97 with the exception of the Inherit Links function, which determines whether child objects inherit the transforms of parent objects.

Always use TCB controllers for VRBL animations. These controllers provide precise control and generate the smallest possible file size. Other kinds of controllers, such as the default Bezier controller, create larger VRML97 files that do not perform as well.

Make sure your animations never change the face or vertex count over time. VRML97 can not add or delete faces or vertices over time. CoordinateInterpolators support morphing a mesh only, not changing the number of vertices or faces.

To trigger an animation that is not on an object at the top-level of the 3ds Max linking hierarchy, use a TimeSensor helper object. If you trigger an animation directly from a TouchSensor or ProximitySensor, without a TimeSensor, you can animate only top-level objects. Animating from TimeSensors does not have this limitation.

Turn off the Generate Primitives toggle in the Export dialog if you animate the parameters of primitives (like the radius of a sphere), and want the animation exported with CoordinateInterpolators. This applies to box, sphere, cylinder and cone primitives only.


You can export only standard and multi/sub-object materials, and only the following components of the material:

Make sure that all large flat surfaces have enough vertices in them that a few vertices can be seen from all reasonable vantage points in your scene. Some browsers cannot display textures on an object where all of its vertices are outside the current viewport.

If you have several lights in you scene, lower the default multiplier value on all the lights in the scene. Lights can oversaturate the scene and make all your geometry wash out toward white. Always add at least one camera and one light to a scene exported to VRML97.

Helper Objects

Insert VRML helper objects into your scene in the top viewport. You can insert VRML helper objects in any view, but if you insert them in the top viewport, they appear properly oriented in the front viewport.