How to create multiuser networked events in Jibe and Unity3d using iTween

In Jibe 2.0 we’ve included an easy system that gives you the power to use iTween to create multiuser networked events. This allows you create shared experiences between avatars using interactive and complex object animations.

Watch my tutorial to learn more!


Video: How to create multiuser networked events in Jibe and Unity3d using iTween

Take care,
-John “Pathfinder” Lester
Chief Learning Officer
ReactionGrid, Inc.

Breakdown of Oculus Rift Virtual Reality Headset and Integrating with Unity3d and Jibe

Oculis RiftI’m eagerly awaiting my own developer version of the Oculus Rift, which should arrive in about a month.

My plans are to immediately start working on how to best integrate it with Jibe and Unity3d.

In particular, our newly released Jibe 2.0 has a built-in 1st-person perspective mode that is ideal for things like virtual reality headsets.

Exploring a test Jibe 2.0 world in 1st-person perspective

Exploring a multiuser Jibe 2.0 world in 1st-person perspective.

Keep an eye on this blog for future details.

Needless to say, I was very excited to see the folks at iFixit posting a great teardown of the developer version of the Oculus Rift headset.

oculus-rift-teardown

If you have an Oculus Rift and would like to brainstorm with me on how it can be integrated with multiuser virtual world applications, please drop me an email (john.e.lester@gmail.com) or post in the comments.

Perhaps we can also schedule a Team Fortress 2 game while using our headsets!

-John “Pathfinder” Lester
Chief Learning Officer, ReactionGrid Inc.

P.S.  ReactionGrid’s Lead Developer Matthew Bertrand is also getting an Oculus Rift dev kit.  He’s pretty psyched about it, and we all expect amazing things from him!

How to embed and play a video on an object in Unity3d and Jibe

step 06 play movie

Watching “Hedgehog in the Fog” in my Jibe world.

Note: You’ll need the Unity Pro editor if you want to work with Movie Textures in Unity3d.

Unity3d allows you to embed and play videos on any surface in a 3d environment.

This means you can easily create a web-based Jibe world where avatars explore a multiuser 3d virtual space while watching videos or movies playing on screens/signs/any surface you wish.

The most common way to add video to a Unity3d project is by adding a video file to your project’s Asset Folder, which automatically creates a Movie Texture (details here).

However, adding a video file directly to your project means the size of the video file will be added to the final size of your completed Unity webplayer file.  In other words, if your video clip is 50 Megabytes large, then your Unity webplayer file will have an extra 50 Megabytes added on to it.

For folks creating Jibe worlds with Unity3d (or anyone creating Unity webplayer files for streaming on the Web) this is not good.  You always want your webplayer file to be as small as possible so your webplayer file will finish downloading and start running as quickly as possible.

Fortunately, there’s a way you can download/stream a movie from the Web so it doesn’t add to the size of your Unity webplayer file.  Unity will immediately start playing the movie as soon as it has buffered enough of it, similar to how YouTube works.

Here’s a simple example:

Step 1: Get your video ready as an OGG file on the Web

If you have a video on YouTube that you want to use, you’ll have to download it.  I suggest using Flash Video Downloader.

Unity needs videos to be in OGG format (file extension .ogg).  If you need to convert an existing video file into OGG format, I suggest using VLC (it’s free and cross platform).  Take your OGG video, put it on a webserver somewhere and remember the URL.

Important Note: If you’re managing your own webserver, be sure it has the MIME type for Ogg Vorbis enabled.  For Extension use .ogg, and for MIME type use application/ogg.

Here’s a sample 60 Megabyte OGG video I made and uploaded to WordPress.  Feel free to use this URL in your own tests.  You can also click on it to see how it plays in your browser.
https://becunningandfulloftricks.files.wordpress.com/2013/04/hedgehog_in_the_fog.ogg

Step 2: Create a Cube

In this example, we’re going to make a basic cube and have the video play on its surface.  Of course you could flatten the cube so it looks likes a screen and then place it on a model of a TV or something.  I’m just being lazy.

step 01 creating a cubestep 02 creating a cube

Step 3: Create a new Javascript

I like the name of a script to remind me what the script actually does, so I’m going to call this new script ClicktoPlayWebMovie.

step 03 create a new javascript script

Here’s the code.  Copy and paste this into your new script and save it.

var url = "https://becunningandfulloftricks.files.wordpress.com/2013/04/hedgehog_in_the_fog.ogg";
function OnMouseDown () {
 // Start download
 var www = new WWW(url);
// Make sure the movie is ready to start before we start playing
 var movieTexture = www.movie;
 while (!movieTexture.isReadyToPlay)
 yield;
// Initialize texture to be 1:1 resolution
 renderer.material.mainTexture = movieTexture;
// Assign clip to audio source
 // Sync playback with audio
 audio.clip = movieTexture.audioClip;
// Play both movie & sound
 movieTexture.Play();
 audio.Play();
}
// Make sure we have audio source
@script RequireComponent (AudioSource)
function Update () {
}

You can see at the top of the script that I’ve included my demo URL as the default movie URL.  You can always change it later.

Step 4: Add ClicktoPlayWebMovie script to your cube

Drag the ClicktoPlayWebMovie script from your Project folder onto the Cube in your Scene view.  This will add the script to the cube.

step 04 drag javascript to cube

Now select your Cube in the Scene view and look at the Inspector settings.  You can change the movie URL by simply editing the URL field in the Inspector.

Also notice that there is an Audio Source added to the Cube.  This was added automatically when you added the script to the Cube, since the script needs an Audio Source component to work.  Don’t delete or modify the Audio Source component.  Just leave it be.

step 05 script in cube - check audio component and movie url

Step 5: You’re done.  Test it out!

You can run your Jibe world locally in the Unity editor and test it out that way.  Walk up to the cube and click on it.  The movie will start playing on all surfaces of  the cube.

step 06 play movie

You can also view an online version of this demo in my own Jibe world.

Enjoy!

-John “Pathfinder” Lester
Chief Learning Officer, ReactionGrid Inc.

Speaking at “Train for Success” Panel on the Future of Virtual Worlds – Nov 8 @ noon Eastern

The Gronstedt Group hosts a weekly “Train for Success” speaking series, and this week I’ll be participating in a panel discussion on the State and Future of Virtual Worlds.

The panel will be held in Second Life and starts on Thursday November 8 at noon Eastern. You can also watch and ask questions via the live stream on the web.

For more details, please see Facebook. Here’s a summary:

“The landscape of virtual worlds is changing. Social and game mechanics make virtual worlds more engaging. Browser-based virtual worlds make them more accessible to a wider audience. The panel will discuss the state and future of virtual worlds. Join this conversation about the emerging platforms and applications of virtual worlds in learning and business.”

Hope to see you there, and special thanks to Anders Gronstedt for inviting me to participate.

-John “Pathfinder” Lester

Online Presentation at Agile Worlds 2012

I’ll be giving a presentation today (Wednesday October 3rd) at 8pm Eastern as part of the Agile Worlds 2012 Online Conference.

My topic will be “Integrated Reality and Next Generation Virtual Worlds.” Here’s detailed info on my session.

Please feel free to visit my Agile Worlds Jibe space at 8pm if you’d like to attend.  Hope to see you there!

UPDATE 10/4/12:  Here’s a video recording of the event.

And here are my online slides.

UPDATE 10/4/12:  Just read a review of a new game that’s a perfect example of balancing Familiar with Fascinating (a key theme in my presentation).

-John “Pathfinder” Lester
Chief Learning Officer
ReactionGrid, Inc

ReactionGrid’s new website is up!

After much work by the entire team, ReactionGrid’s new website is now live.

We’ve been banging away at it for many weeks now, and I’m very proud of the results.

A lot of effort was spent on both the graphic design and the information design.  It was a complete overhaul from the previous site.

Our primary goal with the new site was to have something that looked beautiful, that clearly explained what ReactionGrid does, and that gave people an immediate sense of what our Jibe platform is all about.  I think we accomplished our mission.

And it looks groovy on mobile devices, too. 😉

If you have any feedback or constructive criticism about the website’s content or design, please leave it in the comments.  Thanks!

Take care,
– John Lester
Chief Learning Officer, ReactionGrid Inc.

Video of panel on “Virtual Worlds Revisited” at the 2012 Chicago eLearning and Technology Showcase

I  just participated in a wonderful “Virtual Worlds Revisited” panel discussion as part of the Chicago eLearning and Technology Showcase.  The panel was organized and moderated by Mike Kemmler, and participants included virtual world innovators Anders Gronstedt , Mark Jankowski and Karl Kapp.

The panel was held in Second Life, but the focus of our discussion was firmly on the future of new virtual world platforms and new modalities for immersive learning.  We were projected into the physical world meeting room in Chicago where about 30 people attended in person.  Here’s a summary:

Still deeply entrenched in Gartner’s Trough of Disillusionment, is it time to revisit virtual worlds?  Mike Kemmler hosts a virtual panel discussion via Second Life with a distinguished group of virtual world innovators, presenters, consultants, and authors, including Anders Gronstedt, Mark Jankowski, Karl Kapp, and John “Pathfinder” Lester. Panelists address the current state of learning in virtual worlds, explain platforms they see organizations using for immersive learning, and discuss current challenges and future possibilities of using virtual worlds for learning.

Thanks again, Mike, for this great opportunity.  It was an honor to be on a panel with such a stellar group of pioneers in virtual worlds and immersive learning.


NOTE: The audio from Second Life is bit choppy for the first 30 seconds, but then clears up perfectly for the rest of the video.

-John “Pathfinder” Lester

Speaking at the Academic Librarians 2012 Conference – Syracuse University, June 12-13

I’ve been invited to attend and speak at the Academic Librarians 2012 Conference at Syracuse University from June 12-13.  This conference will be a great opportunity to connect with folks interested in building the future of immersive learning and information literacy.

Continue reading

“We were here” – Discovering Footsteps in the Wilderness and Flags across the Hypergrid

I started the Hypergrid Adventurers Club because I think the development of Hypergrid-enabled interconnectivity between Opensim grids is a beautiful and fascinating evolution.  And in my experience, if you want to help cultivate growth and innovative uses of a new technology, it’s a good idea to do whatever you can to build a supportive community around it.

Recently I noticed a very interesting phenomenon across the Hypergrid.  On regions in areas that allow visitors to build or rez objects, some people are planting flags.

Continue reading

My Presentation at the Norwegian University of Science and Technology

The Department of Computer and Information Science at the Norwegian University of Science and Technology (NTNU) in Trondheim, Norway is hosting a seminar this week on “Virtual Worlds & Educational Technologies.”

The seminar will be held on Wednesday April 25th from 11:00-14:00 CEST, and it’s free and open to both staff and students.  Here’s a summary of speakers and topics: Continue reading