Diving into the Metaverse: WWCode Days of Code Day 2

Diving into the Metaverse: WWCode Days of Code Day 2

Context: Starting Jan 8th, I'm challenging myself to dig deeper into a trending technology domain, summarize, and create a short code snippet on it every day, for 7 days, for the Days of Code challenge from Women Who Code!

What is the metaverse?

What: Simplified, the metaverse is a virtual world enabling interactions. It involves a combination of emerging technologies, with a particular emphasis on Virtual and Augmented Reality, as well as digital currencies, blockchain, AI models, and more.

Why: Uses of the metaverse are being categorized by the use case and the types of interactions that will take place. For example, a popular use of the metaverse is for gaming via virtual avatars. Interestingly, the concept of the metaverse allows these environment creators to introduce other adjacent use cases, like Forever 21’s virtual retail shop being held on the gaming platform, Roblox. Industrial uses of the metaverse include practical simulations of manufacturing environments, retail floors, etc. that can be used to, for example, simulate and validate equipment.

How: Most implementations of the metaverse today work by creating “digital twins” of physical objects in the virtual world. This typically includes simulated objects that are 3D rendered and 3D avatars that users leverage to interact with the objects.

How do you implement them?

There are so many different aspects of the metaverse that can be targeted for implementation. Boiled down to its fundamental objects, the metaverse is composed of 3D objects that are rendered and can be explored/altered over time.

The three fundamental steps here are:

  1. Loading the object(s) from pre-saved files, depending on the format; for example, Polygon File Format (PLY) files or Universal Scene Description (USD) files.

Loading and visualizing data from a PLY file (in .csv format) in a pandas dataframe.

2. Determining the application you would like to visualize the objects in. You could choose an application where you can observe or perform manipulations directly within the application, or you may choose to perform modifications programmatically instead.

3. Loading and interacting with the object.

A short implementation

There’s a plethora of libraries out there for manipulating 3D objects, with some of the well-known platforms being Blender (for 3D rendering), Unity (well-known for creating gaming environments), etc. that I’m excited to return to exploring soon.

For a simple exploration of the fundamentals of 3D meshes and objects represented in the metaverse, I experimented with a simple snippet from the interactive visualization library, plotly. The snippet looks at loading meshes for a teapot and a steering wheel! We can create meshes by drawing sets of triangles given a set of coordinates!

Code: wwcode-challenge-2024/Day2_Metaverse_Plotly_3D_Meshes.ipynb at main · riacheruvu/wwcode-challenge-2024 (github.com)


Resources

Reading resources on the #metaverse that I found interesting and helpful:

  • The Open3D library for advanced manipulations of 3D objects: Open3D.
  • NVIDIA’s Omniverse articles, including the description of the role that Universal Scene Description (USD) plays as a file format for graphics objects and a framework for the metaverse.
  • Browsing through some of the Metaverse 3D models on Sketchfab!

Next topics


要查看或添加评论,请登录

社区洞察

其他会员也浏览了