Virtual Desktop

Virtual Desktop

36 ratings
How to create custom Environments
By ggodin and 1 collaborators
Virtual Desktop comes with an Environment Editor which lets you create custom environments from various types of assets. To launch the Environment Editor, go to the Virtual Desktop install folder (usually C:\Program Files(x86)\Steam\steamapps\common\Virtual Desktop\) and double click "Environment Editor.exe". (Note: publishing an environment to the workshop is only possible through the Environment Editor on Steam)

These are the most compelling environments in Virtual Desktop. They are fully rendered 3D scenes with the ability to display the desktop on a physical mesh. Model environments will require a model file in .FBX, .OBJ or other common formats[]. Many modeling applications like 3DS Max, Maya or Blender can create these files. Here are the requirements:
  • Textures must have lights baked in
  • Textures must be saved as separate files (not embedded)
  • The mesh for the screen must be named "Screen" (not case sensitive)
  • User head will be at (0,0,0)
  • If positional tracking doesn't seem to work, try setting the scale of the model to 0.01

Cubemaps are .dds files with 6 textures (1 for each face of a cube). High resolutions are recommended here (a minimum of 2k x 2k per face is recommended).

Stereo Cubemaps
Those are generated from tools such as OTOY or 3DS Max and consist of a strip of 12 images laid out horizontally. Png or jpg are the recommended formats here. A good resolution for those is typically 18k x 1.5k.

Panoramas are created from equirectangular images captured from cameras such as the Ricoh Theta[]. Those types of images are widely available online. High resolution images here are recommended. The best panoramas will be using 8k images.
This is only a first draft
< >
ggodin  [author] Feb 2 @ 6:12am 
Not with videos, but you can animate geometry like many custom environments do. See those examples:
I <3 Trash Pandas Feb 1 @ 6:06pm 
Hi ggodin, Thanks for making this editor available! Is it possible to make animated environments? I'm looking to do something like was mentioned in the previous thread using a video, like the apartment at night has for traffic...thanks for any suggestions
Balkhubam Nov 1, 2022 @ 8:24am 

I would like to create a custom environment on PC, though I can’t add a video ( to simulate a city landscape ) .

Who has a solution or an example?

Thank you for your help
luca.74 Apr 11, 2022 @ 11:20am 
I have a texture with alpha transparency. It's a .png file. It display correctly with the Windows 3D viewer, but when I import the enviroment in Virtual Desktop (it's a model environment exported as fbx) what should be transparent is actually black. I activated transparent blending in the importer with no luck. Any suggestion?
MelonBursTTT Nov 29, 2021 @ 12:35pm 
I agree with DyortosYT there should be some tutorial videos I'm super interested in creating environments but this text guide isn't exactly easy to digest. Would be super sick to make a retro PC one and play DOSbox on it.
ggodin  [author] Nov 12, 2021 @ 12:40pm 
xvideozebra: Try restarting Steam if it isn’t downloading.
Bathtub Chicken: model environments can only show the main monitor or multiple screens of the main monitor
xvideozebra Nov 10, 2021 @ 10:59pm 
I subscribed to an environment but nothing downloaded. How to I get the environments to show up in Virtual Desktop?
Bathtub Chicken Jun 8, 2021 @ 4:20pm 
Trying to figure out a way to have multiple monitors showing the same screen in an FBX environment. Something like this one that was uploaded before:

Any ideas on what was done?
ggodin  [author] Jun 3, 2021 @ 8:33am 
Dyortos: try scaling your scene by 0.01, that’s usually the issue
Pstuddy: something might be renaming your mesh at export time. If no meshes named “screen” are found, it will pick the first mesh in the FBX
pstuddy Jun 3, 2021 @ 5:59am 
hello dev, i named the mesh that i want the display to be rendered on as 'screen' like you said but it keeps on showing up on the wrong mesh that is not even named 'screen'. i'm running some tests on a simple cube mesh that is the room and a simple plane mesh that i named 'screen'. but no matter what i do, the display keeps showing up on the cube mesh that is not even called 'screen'. please help