Click here to see something pretty cool (as depicted above, in a screencap from my own browser): SL content converted to run directly on the web, using Flash and Unity 3D. No, no Unity plug-in required, you just need the latest version of Flash, which is basically standard to most browsers. The brainchild of Tipodean, a company run by ex-Linden Chris Collins, with the help of SL/RL architect Jon "Keystone" Brouchoud, the demo uses Unity 2, recently out in beta, which enables Unity 3D to run right within Flash 11. The visuals may seem a bit sketchy ("It is hot of the press as an option from Unity3D to deploy to Flash", as Chris notes), but shows off the ability to bring SL and OpenSim content to the web, through a process that Tipodean has developed:
"We have built software that does it," he tells me. The initial process takes about 20 minutes, "then we do some optimizations in Unity3D, which takes about half a day." And yes, that includes mesh, and avatars. "[I]t actually convert everything in the island to mesh (including the mesh already in there)... to COLLADA." And since COLLADA is an industry standard graphic file, he adds, "Unity3D is not the only place you could put the content. You could [then] put it in WebGL." And yes, they're doing this as a business service, but prices are negotiable. Most likely customers: "Anyone trying to get there content out to a larger audience. School/University, Museum, Company, Government. If you want to run it in the web ad have it deployed to a very large audience with the need to handle high loads then that is why you would want to look at Unity3D. Or put it out to IPads or Android. But the real key it large audience, in the browser, for an easier onboarding."
For an early demo, pretty impressive. I had a somewhat slow frame rate, the graphics were OK but not spectacular for the web, and the mouse navigation was confusing. But it's easy to see the greater potential.
Converting prims to Collada is a service LL could be providing, for regions that don't have much dynamic content.
Nice to see it's possible.
Posted by: Adeon Writer | Thursday, January 05, 2012 at 03:57 PM
For those interested here is an example of what the content could be if you put it into WebGL. http://ourbricks.com/viewer/600e80980e25967e5784ee108a3bdfb6 Also all the interactions in the flash demos are very lightweight you could make the interactions do whatever you wanted e.g. putting into Jibe, or something like this video http://vimeo.com/32155707 used for training.
Posted by: Chris Collins | Thursday, January 05, 2012 at 04:39 PM
Unity2?
http://unity3d.com/#unity35
Posted by: Komuso Tokugawa | Thursday, January 05, 2012 at 06:25 PM
Is the source code will be opensource? I think maaaannny ppl are very interested for this kind of features, and many of them can surely help you to develop it really fast !
Posted by: AngeZanetti | Thursday, January 05, 2012 at 11:43 PM
SL to collada? this is the holy grail for determining whether or not LL's render pipeline is fast enough - export a sim to collada and compare the framerate between the SL viewer and other graphics engines.
so... what's the verdict?
Posted by: qarl | Thursday, January 05, 2012 at 11:49 PM
I have experience this solution myself, and it is great. Chris has done this for a couple of sims we have created, and the ability to move stuff from SL or OpenSim to Unity works well. Chris is extremely professional and enjoyable to work with and explains the technology in a way you can understand it, altogether an excellent combination.
Posted by: Andrew | Friday, January 06, 2012 at 03:59 AM
Impressive. Load time was minimal on my sub-optimal system and framerates good.
I look forward to seeing a fully-detailed environment with multiple avatars present.
Posted by: Arcadia Codesmith | Friday, January 06, 2012 at 07:05 AM
I tried it and was impressed. Although I did not see a single other person or anything moving -- how will this handle dynamic systems like SL? A static venue all by myself is an interesting first step. But it really needs to be interactive, dynamic, and showing everyone else in the sim.
Also, the Rutgers "land" is a megaprim which did not translate into the Website, so all teh buildings and roads and paths are floating above the sim ground. A minor thing, but still a thing.
Posted by: shockwave yareach | Friday, January 06, 2012 at 07:17 AM
@qarl - I've done an unofficial side-by-side comparison between an OpenSim region and the same build converted to collada, imported into Unity and hosted on a simple web page.
In OpenSim I was getting 29 frames per second, and on the web page I was getting 58 frames per second.
That may not always be the case, and its not apples to apples, but I have yet to see a build converted that doesn't perform just as well in Unity, hosted on a web page, as it did in SL or OpenSim.
It just depends on the nature of each project. Sometimes all you need is a window into your world on a web page, sometimes you need the rest of the feature set available in SL or OpenSim. Its just nice to have options! =)
Posted by: Jon Brouchoud | Friday, January 06, 2012 at 07:19 AM
@shockwave In the original Unity build for Rutgers, there is a terrain, mapped exactly as it was in OpenSim, but unfortunately the first beta release of Unity + Flash doesn't include support for Unity's dynamic terrain system (which rocks, btw =) We actually have an identical textured terrain mesh that just didn't go along for the ride, but could if we switched it back on and rebuilt. However, I'm sure it won't be long before Unity's terrain system is supported for flash builds.
Also, this build could be made quite interactive, since the Unity + Flash beta supports javascript, C# and Boo. For anything else (multi-player, etc.), the standard Unity Web Player can handle it, and also works quite well, requiring only a .5 mb browser plugin.
Posted by: Jon Brouchoud | Friday, January 06, 2012 at 07:37 AM
All I get is "Fatal Error: null", with Firefox v9.0.1 under Linux...
It doesn't seem quite ready...
Posted by: Henri Beauchamp | Friday, January 06, 2012 at 08:24 AM
@Jon: There is much needing to be added, of course. But this is a remarkable demonstration. And if someone uses this as the interface to a virtual world other than SL and only this interface exists, then you will have almost eliminated the copybot problem in VW. While texture theft will still be present, nobody will be able to take viewer code and steal prim data with it -- there is no viewer code to hack. While it will be technically possible to sniff the datastream for the primdata, that's not as easy to pull off. You may have stumbled upon how to make the viewer more secure from theft in a future VW.
Posted by: shockwave yareach | Friday, January 06, 2012 at 08:40 AM
@qarl on the FPS it is much higher than SL client, especially if you go with the unity3d plugin demos here: http://converter.tipodean.com/unity3d/index.html What makes these demos have such high FPS is because the content is getting preloaded (which depending on the use case is the pros or cons for doing SL/OpenSim)
@Shockwave as jon mentioned the flash output is 2 weeks old so very early days. To see the same content with the Unity plugin supporting multiplayer look at Jibe or http://converter.tipodean.com/unity3d/index.html
@henri not sure on linux. make sure you have flash 11, I know that unity3d plugin is NOT supported under linux but flash11 may be
Also you could just download Unity3d and play around from scratch. www.unity3d.com. How to think about Unity3d is as a 3d creator that you control the entire experience, you just need to build it.
Posted by: Chris Collins | Friday, January 06, 2012 at 09:03 AM
@Chris - preloading can't explain a higher FPS - otherwise the SL viewer would catch-up after everything rezzed. or is that the case? regardless, this is very interesting. hm hm hm...
Posted by: qarl | Friday, January 06, 2012 at 09:53 AM
@qarl. true! Maybe Unity3d can just handle it much differently.
Posted by: Chris Collins | Friday, January 06, 2012 at 10:32 AM
Looking great Chris! This is very cool stuff you're working on.
Posted by: JeskaD | Monday, January 16, 2012 at 03:29 PM
All I get is "Fatal Error: null", with Firefox v9.0.1 under Linux haven't tried in chrome yet.I think its not ready for publishing
Posted by: Web Services - | Friday, March 23, 2012 at 10:00 AM