This year at GDC we are pleased and proud to bring you some exciting updates from the COLLADA community. Two new industry COLLADA implementations will be discussed and demo-ed at GDC this week in the Khronos booth. The first is OurBricks, the latest brainchild out of KataLabs. KataLabs will be both in the Khronos booth demoing OurBricks and we’ll also host a presentation of OurBricks at the Khronos COLLADA DevU, which can be found in Room 301, Esplanade Level on Thursday at 1:30PM. OurBricks is a REST API inspired implementation to bring 3D to the web within a WebGL infrastructure and using COLLADA as the 3D format in a highly efficient web implementation. You can read all about OurBricks right here in this newsletter below where Paula Berinstein of Mechnicality has interviewed Henrik Bennetsen, founder and CEO of KataLabs, on the vision and implementation of OurBricks. Secondly, we have a wonderfully informative interview from the smart folks at Linden Labs on Second Life’s brand new implementation of COLLADA, Linden’s choice for mesh support within Second Life, also in this issue, courtesy of Paula. You can also find the Linden implementation of Second Life at the COLLADA station in the Khronos GDC Booth #1444.
COLLADA Conformance Testing: Toward a More Efficient Content Pipeline
A clear message emanating from the 3D content creation community these days is that the plethora of content creation tools, no matter how they are deployed, or for what 3D graphics market they are intended, do not interface seamlessly in a content pipeline. However, today’s content rich world increasingly demands such a seamless integration of tools but such a highly functioning content pipeline is still not a reality in practice. Relying on one or two proprietary standards may suffice near term to achieve an artist’s or engineer’s goals, but is not likely sustainable for all the reasons that make large corporate "standards" difficult to adopt and adhere to long term. What can stand the test of time is a robust content interchange standard, accessible in a way possible for implementers to take advantage of to achieve maximum pipeline efficiency. COLLADA offers this and the Khronos Group is making the COLLADA 1.4 conformance test suite more widely available as the next phase in this vision for a open standard content pipeline.
Not for nothing is the ethos of the digital world becoming increasingly about openness. Digital citizens are realizing that the more proprietary the tools and formats, the more constrained they are, and the more money and time they have to spend in order to get their work done. Tools and formats that use open standards enable them to be more productive and creative because components move effortlessly along the pipeline, freeing up creators to do what they do best: make cool content. Is it any wonder that folks are becoming impatient with the old way of doing things?
Khronos COLLADA conformance is designed for the forward-thinking tool developer and provider: you. Conformance testing your products and regression testing your tools confers valuable benefits: highly interoperable tools, credibility and good will, protection against product regression, easy-to-create use cases, streamlined procurement, clear customer expectations, and consistency of implementation with other vendors, not to mention happy and productive users.
What the Tests Are
COLLADA conformance involves running a suite of automated tests on your product(s) and tools to prove objectively, there are no opinions involved, that they conform to the COLLADA 1.4 specification. The test suite includes over 500 test cases and a scripted framework that you integrate your software command line with in order to drive your software through the tests.
COLLADA isn’t a rendering standard, although you must be able to render to be integrate with the conformance testing framework. The tests are about parsing syntax and implementing correct semantics and comparing images is just one method used to prove compliance. That doesn’t mean all your output has to have the same look, though. COLLADA documents can describe whatever visual appearance you or your customers want. COLLADA offers extensible lighting models and direct access to industry standard GPU shading languages, for example.
Levels of COLLADA Compliance
There are three levels of COLLADA compliance that are automatically tested by the suite:
- COLLADA Baseline. Basic geometry and appearance interoperability
- COLLADA Superior. Adds dynamic lighting (normals), skinning, and animation interoperability
- COLLADA Exemplary. Supports and preserves the most information robustly
Alan Hudson of Yumetech, Inc., the company contracted by Khronos to complete development of the COLLADA conformance test suite in cooperation with the COLLADA working group, offers these tips for getting the most out of the conformance process:
- Read the documentation carefully and often
- Run the installer in administrator mode (Windows)
- Use the external software dependencies that come with the tests
Obtaining the COLLADA Test Suite
The Khronos Group is pleased to offer the COLLADA 1.4 conformance test software to registered developers. Please visit our web site at http://www.khronos.org/implementers to obtain your copy today!
OurBricks + COLLADA Makes Sharing 3D Content a Snap!
We in the 3D community have long been struggling with a contradiction: everyone loves 3D, but because it’s so complex, it has yet to conquer the Web the way 2D, video, and audio have.
Fortunately, our patience is about to be rewarded. Now that the WebGL(tm) spec has been released, you can view 3D content in your browser as easily as you can crank up a YouTube video. Hurray!
One of the most exciting of the new 3D-on-the-Web services is OurBricks, and COLLADA(tm) is their language of choice. OurBricks is a construction project conceived by Katalabs, a startup that originated at Stanford University and is dedicated to creating services based on the open source Sirikata games/virtual worlds platform. At the OurBricks site, you can upload and share 3D models, then do simple editing right on the site. Each model then becomes a "brick"—a building block that can be used in any 3D project anywhere on the Web: make a brick, build stuff with it, share it.
No matter what format your content is in or how wonky, OurBricks will clean it up for you, optimizing and normalizing it, and deliver it to you as a ZIP archive that contains your 3D assets as COLLADA documents, as well as your texture image files. They’ll also give you a URL that can be embedded into your site so that, with a WebGL-enabled browser, your visitors will be able to experience your 3D scenes directly; no more having to shoot video or take screenshots to display your work.
Katalabs’ vision is to make 3D on the Web as easy to use and share as video. The key to doing that is to convert your content from proprietary formats—any format, really—into open content that can be used anywhere. That’s why Katalabs chose COLLADA, explains Henrik Bennetsen, CEO of Katalabs, who says, "3D content types are not well-suited for the browser in the same way that video files weren’t great for browsers until we figured out how to hide the complexity. But we see COLLADA as a hope for a very Web-like 3D format. We think everything that has made the Web great has been open and use-case agnostic. COLLADA is the best hope for a native-to-the-Web 3D content type."
That is why Katalabs is so deeply committed to supporting the COLLADA ecosystem. Bennetsen says, "We would like to see everybody in the ecosystem do everything they can to ensure that COLLADA implementations really are compliant to the spec. That’s going to make our job much easier. But I think maybe one of the more unique contributions we can make is to insure that the ecosystem is fine, so we’re very aggressively trying to work with people who write exporters to make sure that they always export right. We think the pipelines are still way too difficult, and that’s a big part of OurBricks’ hope: to take the pain out of the pipelines."
Nothing would make Bennetsen and Horn happier than to see 3D content flow freely on the Web. Bennetsen says, "Rather than saying ‘I’m making this tree for my game, and the only way people ever see my tree is if they buy my game,’ our philosophy is make a tree and put it on OurBricks; then that tree can bloom in a million games because there’s lots of reusability. For that to be a reality, we need a lingua franca around this stuff, and COLLADA seems well-positioned to be that."
Katalabs is so determined to remove friction from the user experience that they’ve configured OurBricks to accept invalid COLLADA files: whatever it takes to keep customers happy and productive. Sometimes that quest involves their filing bug reports with content creation tool providers, says CTO Daniel Horn. "We have filed some bugs with Blender, for instance," he says. "We’re trying our best to look at what’s coming through our database, and when we see weird stuff, try to go to the source rather than to the channel. We don’t want to punish the messenger."
Katalabs’ longer-term vision is for artists, modelers, and just plain folk to be able to build 3D worlds in the browser. Horn says, "If you check out http://sandbox.ourbricks.com, you can see that we can actually take content from OurBricks and put it into a multiuser 3D environment. I think the future is going to be people logging into these sandbox areas, dumping a bunch of 3D content, and saying, ‘Look at the world I’ve constructed.’ We’re at the very early stages of that, but that’s where I see it going. When that happens, OurBricks will become a content delivery network—the place to go when you want to make something with 3D—because you get all your bricks there, and you put them together in your own place. There are a lot more people who can put together stuff in 3D than there are people who can make the 3D themselves."
There are still issues to be resolved, of course. Right now, the only way to use OurBricks, or any WebGL-enabled site, is by downloading the beta version of a Web browser. But eventually the browsers will be stable, and "then getting 3D in front of someone will just be a matter of sending someone a link in an email," says Bennetsen. "OurBricks wants to be part of the wave of change that’s washing over the Web. People don’t want to install plugins or client software. The Web is about establishing a common language. That is why we have spent a lot of effort trying to help settle this new frontier of the Web under HTML5. Imagine the potential when you take all this friction away and send people right into the experience."
OurBricks was just launched this January and is still in beta itself. Katalabs invites you to try out the service and let them know what works and what doesn’t—especially what doesn’t, because that helps them improve the system.
As Bennetsen says, this day has been a long time coming. "All of us with some sort of history in the 3D space have seen hopeful things come and die. There’s so much energy, though, and we think this time it’s going to be great because 3D on the Web is part of a much larger change that’s afoot. The Web is outgrowing its origins as a document delivery mechanism and is becoming a full-fledged application environment. As part of that much larger wave, 3D is being lifted up through WebGL and COLLADA. It’s very exciting for us to be a part of that."
COLLADA Opens Up a World of Possibilities in Second Life’s New Mesh Project
The popular virtual world Second Life has selected COLLADA(tm) as the basis for their new Mesh Import project, which is designed to take Second Life mesh building to the next level.
The project, currently in beta, allows COLLADA content created in mainstream 3D tools such as Sketchup, Maya, and Blender to be imported directly into Second Life, in much the same way that you can currently upload animations and textures.
Until now, Second Life artists have constructed 3D objects in-world with a set of tools built into the Second Life Viewer, the client software used to access the virtual world. These tools enable the creation and manipulation of 3D primitive shapes, or "prims." To add textures, users must create 2D files outside Second Life and upload them.
The new COLLADA-based mesh project will allow users to work with a larger range of shapes more efficiently than is possible with the base set of Second Life primitives. The imported meshes will feature the vertex-level control users are accustomed to with sculpties (the shapes you can make from prims), but without the topological limitations.
Users will also be able to specify custom UV maps and apply skin weights to rig meshes to their avatars’ skeletons, allowing for more intricate shapes and more realistic movement than under the current system. The new scheme supports meshes that are rigged to the avatar’s skeleton. Any existing character animations in Second Life can be used with a rigged mesh attachment.
"We see COLLADA meshes as an important way to empower content creators to make the in-world experience even richer and more creative than it is today," says Charlie Hite, Sr. Product Manager at Linden Lab. "We looked at several file formats for the import of meshes into Second Life. We wanted a format that was exportable from most industry-standard tools (Maya, Blender, 3d studio Max, Google SketchUp, etc). We also wanted a format that would be simple to parse and would be extensible for enabling more advanced features later on in development. COLLADA was the best-suited interchange format for our needs."
How to work with COLLADA files in Second Life
Start by creating triangular mesh objects—with texturing and rigging—in whichever tool you prefer, then export each model as a COLLADA .dae document. Once you’re logged into Second Life, go to the upload function and specify levels of detail and the way you want your model to berepresented in the physics engine. Then upload. Voila! The model is available in the your inventory, to be worn or used.
Some features of the COLLADA specification aren’t supported by Second Life and won’t import correctly. Second Life does support the import of raw static geometry, texture mapping data, and bone rigging data based on their current avatar skeleton. However, COLLADA documents that contain tags (XML elements) beyond these types or are mapped to other skeletons may not import correctly, or may require modification before uploading. The Second Life mesh importer is based on the COLLADA 1.4 specification but does not yet pass the conformance test suite. Some export plugins based on other versions of the spec may produce documents that don’t import properly. Also, meshes will be imported with the dimensions interpreted as meters, so be sure to check the settings of your tools before exporting, or your imported mesh may be the wrong size. The new upload tool provides a preview window, however, so you can easily tell whether your meshes will upload properly.
The maximum mesh asset size after compression is 8MB, roughly equivalent to a 256MB raw COLLADA file. An entire region in Second Life can support up to 128MB of distinct mesh assets after compression, not including attachments. The size of attached mesh assets is effectively unlimited, but overly complex meshes may not be fully downloaded by all viewers for performance reasons.
Of course, the official Linden Lab viewer, Second Life Viewer 2, will support COLLADA meshes, as will any third-party viewers based on the Viewer 2 code base.
Linden wants to make it easy to use COLLADA in Second Life, so they have created, and regularly update, a page offering tutorials, technical tips, and helpful resources for the new project at the official Second Life wiki: http://wiki.secondlife.com/wiki/Mesh. To pose questions and share tips with other Second Life users, visit the forums (http://blogs.secondlife.com/community/forums/ mesh), or weekly office hours (https://wiki.secondlife.com/wiki/Mesh/Office_hours).
Mesh import is still in open beta testing, and so far, there is no charge. Eventually, you will have to cough up a Linden dollar payment at the time of upload, just as you currently do for texture files. For more information on potential mesh costs, see http://wiki. secondlife.com/wiki/Mesh/Costs_and_fees.
Second Life does charge for streaming. You can help control these costs by providing multiple levels of detail at upload time. Second Life provides integrated tools for automatically generating multiple levels of detail in their import pipeline if creators do not wish to create them by hand. The number of primitives a particular mesh will be equivalent to will depend on the complexity of each level of detail, its physics representation, and other factors.
Linden is excited about the new opportunities the mesh project is opening up. "Importing meshes to Second Life will give content creators much greater control over the creation process and let them use tools they are already familiar with outside of Second Life," says Hite. "We expect that enabling mesh import will allow for much richer, dynamic, and efficient content to be made for Second Life. Opening up to a much wider range of content creators and tools will make the virtual world a more beautiful and compelling experience, without sacrificing performance."