Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

Portals 3D

An asset by struhy_xd
The page banner background of a mountain and forest
Portals 3D thumbnail image
Portals 3D thumbnail image
Portals 3D thumbnail image
Portals 3D hero image

Quick Information

0 ratings
Portals 3D icon image
struhy_xd
Portals 3D

Implementation of seamless 3D Portals, packaged as a plugin and ready to be used in your project!IMPORTANT: Recursive portals are not supported due to Godot's rendering limitations.

Supported Engine Version
4.4
Version String
1.0.0
License Version
MIT
Support Level
community
Modified Date
27 days ago
Git URL
Issue URL

Portals 3D

This plugin enables you to easily create seamless plugins.

Documentation

For documentation about Portal3D, see the portal script itself. Everything is properly documented and viewable in the default documentation window. Go to the script editor, click Search Help in the top bar and search for "Portal3D".

For everything else, there is this README.

Guides

Customize portals in the editor

The portal mesh has a custom shader material assigned to it at runtime (defined in materials/portal_shader.gdshader), but in editor, it uses a regular material -- find it at materials/editor-preview-portal-material.tres. You can edit this material to customize how portals look in the editor (in case the default gray color blends in too much).

Smooth teleportation

The Portal3D script provides a mechanism for smooth teleportation. In order to be able to create smooth portal transitions, you need to put a clipping shader onto all meshes that are supposed to participate in the smooth teleportation.

How to convert a regular mesh to a clippable one? Like this:

  1. On your material, click the downward arrow menu and select Convert to ShaderMaterial
  2. Include the shader macros and use them to inject clipping uniforms, the vertex logic and the fragment logic.
shader_type spatial;

// ...

#include "res://addons/portals/materials/portalclip_mesh.gdshaderinc"

PORTALCLIP_UNIFORMS 

void vertex() {
 // ...
 PORTALCLIP_VERTEX
}

void fragment() {
 // ...
 PORTALCLIP_FRAGMENT
}

And that's it! Now look for DUPLICATE_MESHES_CALLBACK in the Portal3D script, you are ready to get going with smooth teleportation!

Gizmos

This plugin includes couple of custom gizmos. One gives a connected portal an outline and the second one visualizes portal's front direction. You can configure the color of both gizmos in Project Settings / Addons / Portals or turn them off altogether.

Implementation of seamless 3D Portals, packaged as a plugin and ready to be used in your project!

IMPORTANT: Recursive portals are not supported due to Godot's rendering limitations.

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Portals 3D icon image
struhy_xd
Portals 3D

Implementation of seamless 3D Portals, packaged as a plugin and ready to be used in your project!IMPORTANT: Recursive portals are not supported due to Godot's rendering limitations.

Supported Engine Version
4.4
Version String
1.0.0
License Version
MIT
Support Level
community
Modified Date
27 days ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers