Godot Stereo 3D adds stereoscopic 3D support to Godot Engine (red/cyan anaglyph 3D glasses) in game and in editor. Works as a screen-space shader based on the depth buffer (2D to 3D conversion) so is very fast. Requires GLES3. The best 3D glasses to use with this add-on are called Pro-Ana (red/cyan). They make plastic and paper versions and are very affordable. Proview and Anachrome glasses also work well (red/cyan).
Click Here to Download the Latest Release
For manual install, download the Stereo3D
folder from this repository and copy it into your Godot project.
- Place the
Stereo3D.tscn
scene inside your main game tree. - In the
Stereo3D
inspector settings, check theEnable
box to turn stereo on or off in game or in editor. - Set
Z Near
to the z_near of your camera. - Set
Z Far
to the z_far of your camera. - The
Stereo Strength
controls the distance between the eyes.0
is no distance and100
is the maximum. - Setting
Stereo Strength
too high may cause discomfort, so leaving it around the default of50
is recommended. - The
Parallax Depth
controls the distance to the parallax plane the eyes are focused on (on the z axis). - Higher values for
Parallax Depth
will result in a greater 3D effect, but setting it too high may cause discomfort. - The
Parallax Offset
setting controls the overlap between the left/right images. This makes the image more 3D or more comfortable. - Typically higher
Parallax Offset
settings are easier to focus on. However, it can depend on the content. - If you have overlapping transparent surfaces in your game, you need to set the
Render Priority
of the transparent material to1
or above (for example, in a racing game, viewed from the 3rd person, the front window could haveRender Priority
of0
and the back1
). - For cut-out textures (like decals or grass) the
Render Priority
should be above0
, theDepth Draw Mode
set toOpaque Pre-Pass
,Transparent
set to false, and enableUse Alpha Scissor
on the material. If the decal texture is on top of a transparent material (e.g. a sticker on a window) then theDepth Draw Mode
must be set toNever
. - If you use reflection probes, the reflections will be captured with the results of the post-process and will be incorrect. In these cases, you should leave the
Stereo3D
disabled in game, then on _ready() in your game, wait a certain amount of time (enough for the captures to take place) before enablingStereo3D
. - You must control whether
Stereo3D
is enabled or not within the inspector settings for the add-on. The eye icon in the tree is disabled by design. - Note, since this is a post-process effect (2D to 3D conversion) and not a true dual camera stereo render, you may see some artifacts (typically halos around objects or duplicated textures). This is unavoidable with a screen-space shader, and is why it performs so fast. Changing the
Stereo3D
settings so that the 3D effect is less can mitigate some of these artifacts.
MIT License
Copyright (c) 2022 Andres Hernandez
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.