What is OpenAvatar?¶
- An open specification for 3D models that supports swappable parts that can be built onto an animated rig
- An open source avatar generator capable of generating high quality highly optimized mesh-based avatars
- Videos and group you can join: http://www.vimeo.com/groups/openavatar
- Hypergrid Business did an article on OpenAvatar: http://www.hypergridbusiness.com/2011/07/openavatar-could-help-avoid-vendor-lock-in-improve-appearance/
- OpenAvatar for doubters FAQ - Focused on questions related to "Is this a new standard?", "Is this really open?", etc
OpenAvatar is designed to suit most Enterprise, Military and Government use cases for virtual worlds avatars, but it can be beneficial for lots of mesh-based virtual worlds and games.
Here is a matrix of the benefits of OpenAvatar over a leading avatar generation service:
|Leading avatar vendor||OpenAvatar|
|Computer generated||Your artistic control|
|Lots of wasted polys||Suits low poly mesh optimization|
|Medium quality textures||High quality textures|
|External service||Run on your own server, cloud or behind the firewall|
|Proprietary||Source code available|
|Vendor lock-in||Open, extensible, free|
|External design interface||Customizable inworld design interface|
The OpenAvatar creation pipeline¶
What does this mean for reuse of avatars across multiple virtual world platforms¶
By providing an open generic toolkit and specification structure for avatars, there is the genuine potential for avatars to be developed that can be used on multiple platforms.
Q: Does this mean avatars generated by OpenAvatar can immediately reused across multiple virtual world platforms?
A: No, not yet, but people can use it to create avatars that are automatically generated for multiple platforms at once. We have already used this approach to manually generate an animated avatar for use in a Unity3D project as well as also working inside the VastPark platform, but this hasn't been automated yet.
Example avatar generated by the OpenAvatar SDK¶
Benefits for 3D modellers and artists¶
By using the OpenAvatar pipeline, Designers can create sets of textures and models (body parts as well as accessories, hair, etc) that all target an avatar Archetype. These textures and models are massively reusable and enable end users to have increased choices over their avatar customization. Avatar DNA definitions are not limited to human avatars.
Protecting the rights of artists¶
Platforms that integrate the OpenAvatar toolkit do not need to release the Collada version of an asset but can protect the artist’s work by only distributing a proprietary run-time version of the asset which is not widely portable or easily brought into DCC tools. As OpenAvatar is provided as an open specification, with open source code (MIT license) and with artwork under Creative Commons, there is no royalty to pay for using it in any way.
An example rig, textures and modeled body parts are provided in Collada format. A demonstration environment to show off these example models has been built and is viewable with the VastPark Player software.
Merges the Collada files of all the discrete parts (Head, Body, Arms, etc) and the rig into one complete Collada file. This is currently a simple program written in C# intended to run server-side (MIT license).
What's not included?¶
OpenAvatar doesn't include a method of generating DNA files. We expect platforms to come up with avatar creation GUIs that enable a user to swap in and out different models and once the user has completed customization of his or her avatar, then the platform must take these selections and generate a DNA. This is a trivial step. Then the platform must submit the DNA file to the OpenAvatar generator. The platform providers must also have created one or more Archetype files. We provide an example Archetype file in the SDK. Once the generator has processed the DNA file and successfully created the new avatar Collada file, the platform must take this file and generate whatever file it requires as a run-time mesh file and is then able to use it in its system.
When isn't OpenAvatar useful?¶
We wouldn't use OpenAvatar in the following cases:
- When all you need is a one-off avatar where you will not be allowing users to customize their avatars in any way
- When your platform requires the use of inworld manipulation of primitive shapes to create avatars (e.g. OpenSim). OpenAvatar's specification could be expanded to support carrying additional metadata such as user generated transformations of body parts but that is not part of our immediate roadmap. We're happy for others to take the lead here and make suggestions on what information would need to be held in the OpenAvatar DNA file so that a platform like OpenSim could take advantage of the whole of the OpenAvatar solution.
Flexible enough to suit various requirements¶
- Flexible avatar body-part based specification
- Suits end users being able to swap different clothing for each body part from the platform’s expandable asset library
- Enables mesh-based platforms to offer customizable avatars that can be swapped programmatically (for instance when walking into surgery the avatar can be swapped into medical scrubs but keep the avatar's face, hair, glasses, etc)
- Can support avatar attachments via bones (i.e. Props like suitcases or umbrellas)
- Teams can create new avatar Archetype files to enable them to utilize their own preferred bone rigging
- Preserves animation rigs to ensure the smooth intergration with your system. We are currently using OpenAvatar with the BVH run-time animation format as well as LIXA
- By creating target rigs, texture sizes and poly counts for body parts, teams can create defined standards to work against that can be applied across multiple virtual world platforms and if published can be used by others to expand the asset libraries available for that Archetype
- Can support special requirements such as avatars with detailed facial or hands rigging, non-human avatars, etc
- Can be controlled through an device that connects to the platform. For instance, VastPark is working on a demo of an avatar created using OpenAvatar controlled via Microsoft Kinect
- Use standard skinning / binding techniques in your preferred DCC tool
Targeting existing rigs¶
- Add new content to an existing avatar Archetype
- Ensures that new models are compatible with existing animations that fit that Archetype
- Potentially available in a number of formats including FBX
“Utilizing a provided rig, artists simply skin / bind their model to the entire rig using standard practices in their application of choice, and export to an OpenCollada file. It’s very simple.”
Jeremy Massey, Senior artist
Creating new rigs¶
- Create a new rig that is used as part of a new Archetype
- Potential to support non-human/non-bipedal avatars
Flexible skin color libraries¶
- March 2011 Began circulating an introduction to OpenAvatar "behind closed doors" to gain feedback.
- June 2011 Release of OpenAvatar Beta SDK. Contains documentation, generator and example files and is available to partners and relevant standards bodies. The results of this process will be released publicly and the generator will be released as an open source tool under the MIT license
The specification is under VastPark's open specifications promise. The OpenAvatar Public SDK's generator is released under the MIT license. High quality example content is provided under a Creative Commons license.
Jeremy Massey, Alec Voang, Craig Presti, Chanthu Shamsu,Praveen Wickramasinghe Tim Glew and Bruce Joy
Archetype example: Mike01 (draft version)
Facegen fits into the OpenAvatar content pipeline.
Comparison with H-Anim¶
We believe H-Anim (the humanoid animation specification) could be implemented within OpenAvatar. H-Anim defines an archetype/template of an avatar that has the benefit of being a publicly defined specification but is complex and also limited compared with more recent avatars. For instance, H-Anim specifies a large number of joints which aren't required for any use case that the VastPark team have experienced so far. An example of this is the joints that are on the tips of fingers even though they have no use in mesh deformation. Furthermore, there are limited joints where they may be required in our experience. For example, the bones defined for the face rely on a single bone for each eyebrow and there are no bones for the lips. This will severely limit the H-Anim avatar's facial animation.