top of page

Ideas Portal

Hopping from one bulb to another...

World Building in VR/VRChat - Vol 0 - General Concept

Writer's picture: XR_XharpRazorXR_XharpRazor

A : Introduction

What is this all about ?


Building a “virtual” place is one of the great exercises for innovation and problem solving. Building a place like that is one of the forms of art and expression. If we can build a website on the internet or configure our social media profile page, making a “virtual” place is one of the equivalence of that.

There are multiple Virtual Reality Platforms available at the moment, this includes VRChat, Resonite, RecRoom, Horizons, and maybe more to come. For this document, we will be focusing on the main process of VRChat World Creation and Building, however, these steps or implementations can be applied to other platforms and environments.




 



B : Contents and Formats

What does this document have ? What to expect and how to interpret it ?


This document can be separated into the following sections : 

  1. Introduction to VRChat

  2. The Purpose of the World

  3. The Palette of the World

  4. The Layout of the World

  5. Mesh Asset Gathering

  6. Texture Asset Gathering

  7. Audio Asset Gathering


Throughout this document, there will be 2 types of “links”, or citings, which will be denoted with “[Note:#]” and “[Ref:#]” where “#” is a number. “[Note:#]” represents that a certain segment requires more context or explanation. “[Ref:#]” represents that a certain segment is a reference from an external source, this can be treated as “citing a source”.

Throughout this document, there will be examples provided, these examples will be colored green.




 



1 : Introduction to VR Social Platforms

What is VRChat ?


One of the most efficient ways to make connections and meet new friends on the Internet is social media. Ordinary social media is based on 2 dimensional screens, and the layout of the User Interface is designed for 2 dimensional inputs (you can treat every input on your smartphone as a 2D coordinate). However, 2D is not our limit, we can go 1 dimension higher.

The equivalence (or the superior) of ordinary social media in a 3D sense can be achieved by Virtual Reality, or using a PC. These platforms can be known as “Virtual Reality Social Platforms”, which allows users to “join rooms” in order to meet and communicate with other users in real time. 

VRChat [Ref:1] is one of these Online “Virtual” Reality Social Platforms which uses “Virtual” Reality as its main medium [Note:1] for users to gather and make connections since 2014. VRChat is built by using the Unity Game Engine [Ref:2], this also means that all the user created content must be built in Unity Game Engine.


[Ref:1] 

Here is the link to VRChat’s website ||

VRChat (Date Not Available). Create, Share, Play. Available : https://hello.vrchat.com/


[Ref:2] 

Unity Game Engine is a Software to help simplify the complex part when it comes to Game Creation, this includes Rendering, Physics, Object Hierarchy Maintenance. ||

Unity (Date Not Available). Available : https://unity.com/


[Note:1]  Although VRChat mainly focuses on VR, VRChat is also available on PC, Android, and iOS.




 



2 : The Purpose of the World

Why do you want to make a world ? What is that world meant for ?


In VRChat, there are multiple types of worlds, from Cozy homes, to Adventurous Game Worlds, each with their own purpose and themes. The first part of the process is to decide a purpose for the world, which helps to make a lot of future decisions.  Here are some ordinary reasons, purposes, aims for a world to exist, each with their equivalent examples :



This does not mean that a creator has to limit his/her idea to one of the above, there are countless purposes to create a VRChat world.


One of the purposes I have come up with for one of my places is “A cozy moving house going through 64 sceneries”.




 



3 : The Palette of the World

What color should it have ? How will it look ?


When designing a poster, the designer may want to decide the correct set of colors, the fonts, and the illustration styles etc. [Note:1] . Here, world creators may want to decide on a set of colors, also known as a “color palette”, and a set of textures.


The reason for selecting a color palette is to limit the number of colors in the world in order to prevent the outcome looks unorganized, or messy [Note:2]. Sometimes, a single world may have multiple color palettes, as long as the palettes are separated into different parts of the world, it should be fine.

The second part of the palette is the set of textures, in some sense, “what material it is ?”. Take the floor for example, the floor can be wooden, or carpeted, or tiled. Take the wall for example, the wall can be “made” out of bricks or covered with plasters.


In some cases, the same type of structure in a world can be in alternating materials, for example, the walls can alternate between plaster and bricks. But world creators need to keep in mind not to over doing it as this may destroy their texture palette.


For my world, the main color palette I have chosen is “White, Yellow, Cyan, Magenta, Black”, for each of the 64 locations, they have their own color palette. The wall for the main structure is clean and simple, the floor is wooden. I also have some furniture which contains fabric and metal parts. For the biome, the textures that I have are grass, sand, snow, and water [Note:3].


[Figure 301 : an example of a warm color palette]
[Figure 301 : an example of a warm color palette]
[Figure 302 : an example of a cool color palette]
[Figure 302 : an example of a cool color palette]

[Note:1] You can treat “World Creation” as “Graphic Design in 3D”, this also means that Color Theory also plays an important role here.


[Note:2] Unless being “ultra colorful” is one of the purposes of your world, you may want to stick with a color palette.


[Note:3] Grass and sand is suitable to have raw and direct textures, but snow and water do not have direct textures, this will be covered in the next section.




 



4 : The Layout of the World

Where is everything it has ? What is the shape of an area ?


Before diving directly into a modeling software [Note:1] and start creating the structure, it is better for the  creator to come up with a floor plan so that the entire draft of the world can be determined. This process also helps to decide and collect the world's requirements.


There are 3 types of floor plans (or layouts) :

  • Interior Layout

  • Architectural Floor Plan

  • Terrain Map.


Interior Layout

focuses on a single room or an area, which decides the components of a room or an area. Normally these components are furniture or decorations.


Architectural Floor Plan

focuses on the arrangement of the different rooms or areas, it is vital to mention that some rooms are better to be adjacent, for example, most of the time, a Living Area, a Dining Area, a Kitchen, and a Bathroom should be able to topologically [Note:2] form a line.


Terrain Map

aims to decide the shape of the landscape of the world, this normally involves the location of different terrain components like cliffs, rivers, lakes, lands, shores, etc.


[Note:1] A modeling software is a computer program specialized to create 3D models, these models usually has the file type “.fbx”, which can be imported to other software afterwards. One of the recommended modeling software is Blender. Link : https://www.blender.org/download/


[Note:2] Topology is a branch of math that studies the structure of different objects. One rule in topology is that any shape can be squished, twisted, compressed, or expanded, as long as the shape is not cut, torn, or poked. This means a straight line, a zigzag line, and a squiggle line are all topologically the same because by moving the points of a line, the line can be converted from one to another.




 



5 : Mesh Assets gathering

Time to deal with the 3D models


Here, a mesh is a 3D model, in other words, a mesh is a collection of vertices, edges, and faces. Other than configuring the position of the vertices, edges, and faces, this is also the process to configure UV mapping as well [Note:1] . When it comes to mesh asset gathering, there are 2 main methods to gain meshes : either the Creator needs to generate their own mesh, or they can purchase a premade model. However, each method comes with its pros and cons.


Generating mesh can be slow and torturing for beginners, however, the more meshes they generate, the swifter they become. As time goes by, they will have their own libraries of meshes, ready to be reused in their future projects. 


Purchasing models [Note:2] is definitely a quick method, however, this means that the creator will have to rely on other creators, and if those creators do not have a complete set of models for the creator to purchase and download, they will end up “kit-bashing” [Note:3], and this is one of the reason that their world ended up looking unorganized. This also means that the creators will have to limit themselves to what is currently available on the market.  


[Figure 501 : an example of a Mesh / Model ]
[Figure 501 : an example of a Mesh / Model ]

[Note:1] UV mapping is a process to configure a set of 2D areas on a texture / an image for a specific face on the 3d model. Another way to understand this process is “deciding what part of the image file will be used by a certain face of a mesh”.


[Note:2] Some of the available platforms for meshes purchasing include BOOTH (https://booth.pm/en) and Unity AssetStore (https://assetstore.unity.com/)


[Note:3] “Kit-Bashing” is the act or process of combining different assets from different sources into one object or entity.




 



6 : Texture Assets gathering

Time to deal with the Materials


From one of the previous steps, a texture palette should be ready at this point. Here, the texture palette can act as a “shopping list” so that the creator knows what texture to search for. There are mainly 2 types of Textures : Albedo Textures and Normal Maps.


Albedo Textures

are for the base color of a material. In this case, a monotone albedo texture is encouraged but not mandatory since in the future steps, the texture can be tinted in different hues in order to achieve different and flexible results. Materials that need Albedo Textures are usually walls and floors, and sometimes fabric and furniture parts.


Normal Maps

are textures which contains normal vector data [Note:1] , which is essential for some shaders [Note:2] and materials so that the shader knows how to simulate light and shading [Note:3] based on the texture that a material has. Materials that need Normal Maps are usually water surfaces, snow piles.



[Figure 601 : an Albedo Texture for Grass floor]
[Figure 601 : an Albedo Texture for Grass floor]

[Figure 602 : A normal map to describe the normal vector of every point on a surface]
[Figure 602 : A normal map to describe the normal vector of every point on a surface]

Here, the Creator can either generate their textures, or they can search for or purchase textures from other creators. Most of the Textures can be found by using Google search. However, there are online platforms that provide open source or/and CC0 licensed textures [Ref:1] [Ref:2] [Ref:3].


[Note:1] All computer images are made from pixels, and most of the time, the pixels contain different values of Red, Green, Blue, and Alpha. But here, a pixel of a Normal map contains the vector of the normal vector of that surface on that location. Meaning the texture is used to mimic a certain area facing in a certain direction. 


[Note:2] Shaders are like manuals for GPUs, the GPU’s job is to figure out what color a pixel on your monitor should be, based on the given rules from a Shader.


[Note:3] Different Shaders simulate light differently, for example, BasicDiffusionSpecular and Fresnel are 2 popular ways to simulate light and shading.


[Ref:1]

ShareTextures (Date Not Available). CC0 Textures and Models by sharetextures. Available : sharetextures.com


[Ref:2]

Textures.com (Date Not Available). Super charge your next project using Texture.com content. Available : textures.com


[Ref:3]

PolyHaven (Date Not Available). The Public 3D Asset Library. Available : polyhaven.com




 



7 : Audio Assets gathering

What do I want my visitors to hear ?


Adding sound effects to a world is an extra, but “game changing” step. If done correctly, this will strongly enhance the experience of the visitors. These audio files can be recorded, or generated, or downloaded.


Normally audio assets can be categorized into 3 types :

  • short sound effects

  • ambience

  • Original Sound Tracks.


Short sound effects

are often for interactions between entities or objects, like the opening and closing sound of a door, or the sound of a pressed button.


Ambience

are focused on environmental hinting, giving information about the environment of the world. Popular examples are raindrops on a window, the wind blowing through the trees, a warm and cozy cafeteria, etc.


Original Sound Track

for a world is rare, but not prohibited. Usually, this is done in order to give a leitmotif to the world.

Most of the time, these audio files can be recorded or downloaded from YouTube by searching license-free sound effects.




 



Z : Conclusion

Wrap it up


This document discusses the main basic structure of world building. Keep in mind that there are still a lot to cover that this document didn’t consider. Some of the Information are meant to be separated and digested in smaller parts. Afterall, World building is not meant to fit entirely inside one single document.


Feel free to alter some of the recommendations from this document when necessary and where it seems fit.


[Figure Z01 : A gathering held in a VRChat World]
[Figure Z01 : A gathering held in a VRChat World]



 



REFERENCES


[1] “WHERE ARE ALL THE CITINGS ? you are plagiarizing stuffs~”

If you skipped everything and jump to the last page over here just to check for citings,

This document is a long one, in this case, it is better to chop the citing list into several gray lists for every section so that those referenced materials can be navigated easier. ||

XR_XharpRazor (2024, Oct, 24) World Building in Virtual Reality (This post). Available : you are reading it


Comments


bottom of page