Amazing 3D Animation with three.js

By  on  

The hottest topic for client-side developers seems to be animation. Whether it be from CSS transformations, keyframe animations, or animations managed with JavaScript APIs, it seems like each day we come across another demo that shows us how can we've come outside of Flash. The latest shocker comes from the three.js project. The creators of three.js explains the project best:

The aim of the project is to create a lightweight 3D engine with a very low level of complexity; in other words, for dummies. The engine can render using <canvas>, <svg> and WebGL.

The three.js engine allows developers to create mindblowing 2D and 3D animations with Canvas and WebGL, from basic cubes to advanced animations so smooth you'll wet yourself.

Favorite three.js Demos

The three.js repository comes with several dozens examples of the engine's capabilities. Here are a few of my favorites:

You can see all of the examples here: http://mrdoob.github.com/three.js/

Mind status: blown. three.js is an incredible project that allows developers to achieve amazing animations efficiently and without Flash. Mr.Doob: take a bow -- three.js is ahead of its time.

Recent Features

  • By
    5 Ways that CSS and JavaScript Interact That You May Not Know About

    CSS and JavaScript:  the lines seemingly get blurred by each browser release.  They have always done a very different job but in the end they are both front-end technologies so they need do need to work closely.  We have our .js files and our .css, but...

  • By
    JavaScript Promise API

    While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready?  Promises are becoming a big part of the JavaScript world...

Incredible Demos

  • By
    Creating Spacers with Flexbox

    I was one of the biggest fans of flexbox before it hit but, due to being shuffled around at Mozilla, I never had the chance to use it in any practice project; thus, flexbox still seems like a bit of a mystery to me.  This greatly...

  • By
    jQuery UI DatePicker:  Disable Specified Days

    One project I'm currently working on requires jQuery. The project also features a datepicker for requesting a visit to their location. jQuery UI's DatePicker plugin was the natural choice and it does a really nice job. One challenge I encountered was the...

Discussion

  1. I love Three.js – it’s great fun just to play with even if you don’t have a client project to work on. One of my favourite demos using it is Anaemia by Litewerx: http://litewerx.dk/anaemia/demo/demo.html?s=maxAnaemia

    A great writeup of how all of the different parts (camera, scene, renderer, etc) fit together: http://www.12devsofxmas.co.uk/2012/01/webgl-and-three-js/

  2. Dang, I wish I was into 3d animation! Maybe I should get my brother (video game developer) to just start making browser based games… though he doesn’t really like JavaScript

  3. Alex

    There are additional examples at chromeexperiments.com that are DOPE!
    Make sure you check the tags of each example to find out if the experiment is using the three.js library!

  4. I was looking in to three.js a few weeks back and found this amazing example of a 3D F1 car which you can even drive around the screen using your keyboard.

    http://helloracer.com/webgl/

  5. It looks like api for three.js and Away3D are structured similarly… Anyone seen a scripted fallback to Away3D so you could code once and deploy to support the broadest audience?

  6. Terrain Dynamic – 3 minutes in, and Chrome went “Oh, Snap. Something went wrong” :)
    I very much enjoyed it though!

  7. I love three.js and I’ve been using it quite a bit to show my 3D models.

    you can check them out here:

    http://www.benbathen.com

    Best viewed in Firefox or Chrome IE and Safari don’t fully support WebGL.

  8. Loved the demos. I really loved what developers of the hobbit did with exploring the map of middle earth.

    http://middle-earth.thehobbit.com/

  9. Fisnik

    hello I would love to download the code for this project for education purpose can anyone provide me that? Thanks in before
    http://mrdoob.github.com/three.js/examples/webgl_shading_physical.html

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!