It's better 2gether
2gether is a video conferencing tool that places the users in a shared 3D environment. The proximity-chat experience allows users to break off into small groups or have side-bar conversations within the same video call. Our goal was to lower barrier to entry for this kind of 3D conference experience as much as possible. We accomplished this by replacing detailed avatars and animations with a video feed attached to a basic 3D body. We chose a visual style which would allow us to reduce polygons greatly to optimize performance on low-end machines. Finally, we simplified the experience of creating and joining meeting rooms or “Worlds” down as much as possible and made them as accessible as possible.
The Problem
There are a few major issues that we noticed were recurring among most of the “metaverse” projects that emerged from the web3 hype. The most glaring issue was that barrier to entry was often too high, you would have to create an account and customize an avatar. Then, once you were in, you would have to be using a computer with enough graphics processing power to run video game graphics. Another issue was that even with detailed avatars, the metaverse meeting experience felt even less personal than a regular video call. It’s important to be able to look someone in the eye when you’re meeting with them, not at a 3D abstraction of their face online.
The Solution
2gether combines a simple three.js proximity chat experience with the widely adopted video conferencing experience common in most modern workspaces and learning environments. Focusing on our core problems we created an environment that lowers the barrier to entry for a metaverse experience as much as possible while retaining a fun and approachable visual style.
Make it easy
Our main goal was to make it as easy as possible for someone to create a world and connect with people. With 2gether there is no need to create an account, you simply create a world and share the link to your world with your friends. Settings can be modified once your world is created and other users can only access your world if they are invited.
OPTIMIZATION
Character design played a major role in optimizing this experience. The original iteration when we were experimenting with the development challenges used a cube with the users web cam feed applied as a texture on the front plane. This gave us some insight into how your character could move around the world and how important animations would actually be to the experience. A lot of metaverse projects focus on humanoid characters walking and gesturing in familiar ways, but the camera feed removed the need for this kind of thing. Instead we determined the most important thing would be to have a flexible presentation size for your web cam and simple animations that would contribute to the fun visual style. We landed on this silly little ghost which could be given character without using any kind of rigging or modifying any mesh. Instead the character simply pivots around from a point in its “head” and scales on the Y axis when jumping. This allowed us to reduce polygon count greatly and further improve run time by not overcomplicating animation.