Accesible Realtime 3D With Blink 3D
May 20, 2007 1:15 am
Anyone who hasn't been living in a virtual reality cave for the last few years knows that realtime 3D on the web is one of the hottest upcoming trends. With the success of Second Life, many other 3D social networking sites are popping up, not the least of which is Caligari's True Play, host of the Renderosity 3D Gallery. A generation weaned on 3D video games is ready to work in, and help create, a fully three-dimensional cyber-space experience. In fact, IBM is currently spending 100 million (that's right, a one with two zeros after it million!) dollars on developing the next generation 3D web, investing in software companies, new internet technologies, and 3D online business plans.
Recognizing this, many software companies are scrambling to create the benchmark realtime 3D authoring system, hoping to be first in line when the 3D internet revolution finally lands. Pelican Crossing's Blink3D is an example of just such an entity. First, however, some explanation of what realtime 3D actually is might be helpful.
copyright © 2007 Pelican Crossing
The first thing a user notices when beginning to work with any realtime 3D system is that, by necessity, the 3D characters and worlds are very low-poly and use fairly low-resolution textures compared to anything we've used in Poser, Daz Studio, etc. This is due to the basic fact that, like a video game, realtime 3D renders in, well, real time. There is no moment where the builder of a realtime 3D world hits a render button and a movie or an image is generated. The downside is, of course, there is obviously less overall polish. The upside, however...
Think of it this way: If you've ever built anything with Legos, then wished you could shrink yourself down and explore them-- fly the spaceships and run around inside your little Lego structures (don't worry, it's OK to admit it) -- then you will immediately understand the addictive fun of creating a realtime 3D environment. You can make it, then you can live in it. And even more, with the right software, you can invite all your friends and the cyber-universe at large to come and explore it and live in it as well!
Which brings us back to Blink3D.
copyright © 2007 Pelican Crossing
WHAT IS IT?
Blink3D was created to be accessible to a broad range of users, from the total 3D newbie to the established artist. This means that there is built-in functionaility either for creating basic worlds directly inside the application, or for the import of more detailed elements built in external modeling programs. Nor is it essential for the user to understand programming languages in order to implement in-world interactivity, effects and animations. Pre-built behaviours allow coding-illiterate types (like myself) to add anything from fog effects to complex-looking click-triggered animations.
Created worlds can be published with a few clicks, resulting in a tidy final output of three files: the published environment file, a script file, and an HTML page which displays everything.
That's right, the real beauty of Blink3D is that it runs directly inside a standard web browser rather than through a gateway application that must be installed on the user's local system. Second Life, and most others (including TrueSpace, as many of you know) require users to download and install a hosting application which is then run on their computer. It is through this gateway (which often requires a login and a password) that 3D online worlds are downloaded and displayed.
Users of Blink3D worlds, on the other hand, simply go to a website. In most cases, the website triggers an automatic install of the Blink 3D plug-in (much like the Adobe Flash plug-in) that, once installed, will run any Blink3D environment in any webpage. This means that far more people will be willing to explore and participate in published worlds simply because they will be that much easier to access.
HOW DOES IT LOOK?
copyright © 2007 Speedbump Studios
None of the ease of use or end accessibility would be worth much if the worlds themselves didn't have the potential to look great. As is the case with any art program, the application can only create what the artist puts into it, but Blink3D gives a lot of leeway.
Some explanation: The two main factors an artist must consider when creating a realtime 3D environment are download size and frame-rate. Download size is simply a matter of how long it'll take for the end user to load the world into their web browser before it starts to play. Frame-rate is how smooth the world will run in their browser as they explore and interact.
Having had some experience creating realtime 3D worlds using other apps (such as the now-defunct Adobe Atmosphere), I was very pleasantly surprised by the capabilities of Blink3D. The rendering engine can handle a sizeable chunk of geometry without any debilitating loss in frame-rate. In fact, I have run into the wall with download size (I usually attempt to keep my largest worlds under 10 MB) before I have seen any issues with geometry slowing the frame-rate.
copyright © 2007 Speedbump Studios
Effects-wise, Blink3D offers most anything a builder could want, such as particle effects, fogs, transparencies, basic animations (such as movement and rotation), moving textures, multiple kinds of shadows, etc. Using the variety of built-in trigger behaviours, the builder can control these effects for the end-user easily. For example, I used a trigger, a light, and a behaviour called "property modifier" to create the effect where a light fades on when a user enters a room, then fades off when the user leaves. Effects like that are very simple to set up in Blink3D.
Finally, unlike Second Life and many other online 3D systems, navigation inside Blink 3D is purposely intuitive and basic. The user can click and drag the mouse to move their avatar, or simply use the keyboard arrow keys. Holding shift then holding the up arrow key offers the ability to float upwards. Gravity and collisions can be toggled on and off, unless such functionality has been disabled by the builder of the world.
HOW DOES IT WORK?
copyright © 2007 Pelican Crossing
The work-flow in Blink3D is simple in theory, but might require a few undocumented steps, especially if you want to import models from external modeling applications. Building strictly in the application, however, using any of the included primitives and textures, is fairly simple. A user clicks the name of the primitive in the elements menu-set and the primitive appears in the 3D space near the builder's avatar. Scaling, rotation and movement are controlled via the menu-set on the right of the screen. Textures, collisions, and dynamic effects can be applied within that same menu. One drawback when placing objects is the lack of any orthographic windows which show your worldspace from directly above or from the side. At the moment, the only viewing option is the live perspective view, which makes exact positioning somewhat difficult. Orthographic views, however, are apparently planned for the next release of the Blink3D Builder.
To add behaviours (such as a fog effect, or a rotation animation to an object) the user simple chooses the appropriate behaviours tab in the left menu-set and scrolls through the available options. Double click the behaviour you want to implement (rotation, for instance) to bring it into your world, then set the attributes (what object to rotate and how fast) as necessary in the right menu-set.
copyright © 2007 St. Louis University Department of Digital Theology
If you do wish to import external models or environments from another 3D modeling application, such as Maya, Blender, etc (as seen in the Basilica image, above) you'll need to find and work with an exporter. Blink3D uses the fairly robust Ogre rendering engine. The Ogre website offers exporters for Maya, 3DS Max, Blender, and Softimage. Using the exporters, you can convert your objects into Ogre meshes, which can then be imported into Blink3D using the objects import wizard. Once imported, your element will appear in the Models library tab and can then be loaded into your world anywhere you want and as many times as you like, just like a primitive.
Once all your objects and environments are arranged, you can publish your world using the Publish Wizard. The result is the three main elements that define a published world (the environment file, the script file, and the HTML page). These can then be loaded up onto any web server and explored by anyone. The only downside is that, like pretty much all other online 3D systems, Blink3D cannot run on a Mac. Mac users, like myself, can always install Apple's wacky Boot Camp system and run a valid Windows XP operating system to see cool online worlds (as well as play Need For Speed, which is about all I use it for).
SO HAVE AT IT
Pelican Crossing offers a free 30 day fully-functional trial download, and the final cost of the application after that is surprisingly manageable. The Pelican Crossing website forum has proved to be a surprisingly helpful community of 3D artists and users, so I'd encourage any Blink3D users to get involved there to ask any questions and show off your worlds!
copyright © 2007 Speedbump Studios
Of particular interest to Renderosity members, Blink3D uses a loading library system not unlike that used by Poser and Daz Studio, which means that users could potentially create and sell their original Blink3D content to other users! Imagine buying an entire fantasy castle building set for your live 3D world, assembling it, publishing it, then inviting all your chat friends to a live online costume party! Potentially, something like this could be an entirely new marketplace and gallery opportunity.
For a few examples of the sorts of worlds that can be created, check out the Pelican Crossing website, as well as some of my own environments, such as Dark City II (a 1920's downtown district) and the Mellow Tiger (an exploration of the works of Stephen King/Richard Bachman), both of which have been pictured in this review. And share with us any cool worlds you all make!
copied, printed, or reproduced in any manner without written permission.
George Lippert has been drawing and sketching since he was three (according to his Mom), but discovered a love of digital art and animation in 1998 while attending Bowling Green State University in Ohio. Since then he has created digital art for a wide variety of purposes, from virtual reality amusement park rides to realtime web 3D. He currently lives in St. Louis, MO, with his wife Jael and his two children, Zane (4) and Greer (2). His best advice to aspiring digital artists: If you work at home with your kids, make sure they know what a computer "power" button is and why it's a very, very bad idea to touch it.
Regarding your note, Nemirc-- realtime 3D is definitely one of the primary aspects of web 2.0. I saw Robert Ballard (discoverer of the Titanic wreck) speak last year and he said that soon he would be using Internet 2 to operate deep-sea subs remotely from his own home, watching it happen live, in high definition. The idea, at it's heart, is to expand the bandwidth of the web, making things like high-definition webcams, full resolution television, and yes, complex realtime 3D environments, widely accessible. I'm sure there is a LOT more to it. Anyone else have any thoughts about that?
Philgreg: It IS possible to import Poser stuff, but only through a rather circuitous series of exporters, and only if you also have access to Maya, Blender, 3D Studio Max or such. You'd have to export the object from Poser as an .OBJ file, which is pretty universally importable by most applications. THEN, it'd have to be imported into something like Maya, etc, and exported from THAT via the ogre exporter. Bleah. Kinda annoying. Frankly, though, most Poser content would be too high poly and use too large texture maps to be usable in Blink3D or any other realtime 3D system. The ideal solution is for a whole new market of artists to create NEW content in low-poly form for use specifically in this kind of format. Ronin: yes, broadband is certainly essential for those who want to utilize realtime 3D, as well as any other kind of content rich online media, such as movies or streaming audio, etc. Fortunately, broadband is becoming more and more accessible all over, though there are still many areas that cannot recieve it.
Pretty cool looking. I like some of the environments that have been displayed here in your review. Especially the one with the old 30's style car. It's just hard to imagine that all of that environment only consists of a few files measuring about 10 MB. I'll have to go check out this place, thanks for the review. -James
I MUST have this program! I just finished checking out the site, and I am an immediate convert. I have spent the last couple of years building flash web sites, and this is definitely the next step in web interactivity. I am guessing broadband will catch up to this technology within the next five years anyway, (Comcast just debuted their new 106mpbs modem that they will be releasing soon), and the other ISP's will probably follow suit as well. The Stonehenge environment was VERY impressive! I am definitely looking forward to trying this. Thanks for bringing it to our attention!
Very good review, making a lot of useful points. One observation, one question: Observation-- Poser has, for historical reasons, meshes which are way larger than they need to be . . . techniques for representing detail without a heavy geometry burde, like normal maps, are a big part of new graphics accelerators, and make it possible to achieve interactivity with suprisingly complex-looking figures. Question: For most folks authoring interactive 3D content, the game engines have been the way to go. Whether its Shout, Shockwave 3D or Atmosphere, every year there seems to be a new proprietary VRML-like engine . . . but most content ends up getting created using things like the Source engine (from Half life 2) So, Question: What do you think of the pros and cons of using the Blink engine vs Source (or Quake, or whatever game engine)?
I have only had limited experience using game engines to create interactive 3D content. Specifically, I have used a program called "3D game Studio". The results were decent, although the workflow was much, much more difficult and confusing. The major difference, however, between a game engine and Blink3d is that game engine content must be downloaded and/or acquired from a CD and then run via a gateway program on the user's system, rather than directly in the user's browser. The download-and-run method has it's benefits, but I prefer the ease of use and accessibility of the in-browser method used by Blink3D and Atmosphere. All that said, I have no experience thus far using something like the Quake or Unreal engine. I'd love to hear feedback from anyone who has.