• Tuesday, May 11th, 2010

As more and more products are sold online being able to get a good feel for what the product looks like is very important.  A great way to achieve this is to show the product off from all angles in a 3D view where the user can zoom in and measure the size of the object and perhaps see some limited interaction.

Things to consider when adopting 3D technology for this purpose are cost, quality, speed, interactivity, effects on the users machine, ease of deployment, and development.  Additionally if your product is in development or it is difficult to photograph you will need to consider how skillful the 3D artist is at making photo real 3D models from design documents.

Some of the technologies I have found that work the best are based on Flash, Java or a combination of Flash and Java.  Here’s a partial list of some of the technologies I have looked at and a few opinions about the relative advantages or disadvantages of each.

Flash

Pros: Widely adopted, fast to load, flexible interface design, supports PDF, supports desktop application development.  Can support advanced real time lighting effects and normal mapping.  Supports integration of 2D vector animation or bitmap animation with the 3D model.  Can show basic 3D animation. Solutions can be developed on a shoestring budget by using open source solutions, development tools and the flex SDK.

Cons: Less efficient than Java for showing real time lighting with larger polygon models and visual results may not be as nice.

Java

Pros: More efficient than Flash at moving 3D objects, easily supports over 5000 polygons with better looking results.  Nice off the shelf solutions exist for showing 3D models.  Can show basic animation through scripting.  Some solutions can support PDF.  Solutions based on Java will run on virtually all browsers without installation of a plug-in.

Cons: Takes a bit of time for the java applet to initially load.  Most solutions I know of do not support bump mapping, normal mapping or animated textures.  Solutions with advanced real time lighting are expensive.

Flash & Java

Pros: Manipulating backgrounds, vector graphics, menus, buttons, etc. can be more easily done in Flash or Flex.  Flash can be used to show loading indicators or other graphics to improve the perceived loading time for the user.

Cons: Adding dependencies on both technologies slows overall loading time.  Modifications will require developers that can work in both Flash and Java.

Unity

Pros: Most efficient solution at moving large numbers of polygons.  Supports advanced animation, shadowing and lighting.  Free to get started with.  Small size plug-in installs easily.  Nice scripting support, however, Flash is easier to design user interfaces for and less expensive to support video in.  Can be ported to the iPhone, Wii or made into a desktop application.

Cons: Not as widely adapted and will require users to install a plug-in before viewing.  Not setup to show off a 3D model directly, so scripting must be developed in javascript or c# to add an interface.  No support for embedding into a PDF document.

Shockwave

Pros: Similar to Unity in performance, I would like to see a comparison between the two.

Cons: Expensive to get started with and has a larger download for plug-in installation than Unity.  Not as widely adopted as Flash and will require most users to install a plug-in.  I don’t think this can be embedded in a PDF file.

WebGL

It’s too early to say much about this yet but this javascript based technology looks very promising if it is supported by browsers.

Specifics

Category: 3D Graphics, Flash
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply