cruft

beware of extra crap put in your vrml file via auto-export. Use a modeling program for modeling, but don't think the job stops with the export button. Take pride in a clean file, and be confident about its contents.

when exporting from maya, here are some tips to keep your file lean, mean, and clean:

  • compress the file!
    open with VrmlPad and re-save with the Save Compressed checkbox checked

  • choose your degree of precision.
    .xxx is all you need for most cases, but maya will ignore this setting for some nodes: lights, viewpoints, transforms; use VrmlPad for ultimate control: File / Publish
  • get rid of unneeded fields & nodes.
    • normals can be a huge space eater. normals are auto-calculated by vrml browsers, so are largely unneeded. get rid of normal and normalIndex fields of IndexedFaceSet nodes

    • WorldInfo– if you didn't write it, is it worth leaving in your file?

    • default appearances: beware of diffuseColor fields set to 0 0 0; this will prevent fog and lighting calculations from being performed

    • inconsequential Groups and Transforms, TextureTransforms

    • general redundancy– use VrmlPad: Tools / Unused Identifiers

  • create avatarSize values to match your world.
    make a cylinder in maya to represent a preson in your world, and use its dimensions for your avatarSize values.

  • check your light intensities.
    maya will export .1 to .01 of what you probably want

  • watch your texture formats.
    maya exports .rgb or .tiff files by default. vrml browsers need .jpg, .png, or .gif

  • understand the way maya DEFines and USEs elements of the scene.
    DEF's in Switch node, USEd later

  • make your own DEFs and USEs. don't expect maya to just because you instanced something in its modeller.
    • appearances
    • textures
    • geometry
    • repeated shapes (fence posts, pillars, trees, etc.)

here are two files, one freshly exported, one cleaned:
[exported wrl] [cleaned wrl]
look over the raw file; can you find:

  • ln 010 : a navigation assumption
  • ln 012 : some insane precision for a default value (how explicitly should you state the already known?)
  • ln 023 : a boring color specified very very accurately
  • ln 038 : a shape hint turned off for no good reason
  • ln 131 : a fully defined, completely inconsequential transform node
and this was a very simple file (single object, 34 faces)!