FogVolume

package
v0.0.0-...-20ed0ac Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2025 License: MIT Imports: 29 Imported by: 0

Documentation

Overview

FogVolumes are used to add localized fog into the global volumetric fog effect. FogVolumes can also remove volumetric fog from specific areas if using a FogMaterial with a negative FogMaterial.Density.

Performance of FogVolumes is directly related to their relative size on the screen and the complexity of their attached FogMaterial. It is best to keep FogVolumes relatively small and simple where possible.

Note: FogVolumes only have a visible effect if Environment.VolumetricFogEnabled is true. If you don't want fog to be globally visible (but only within FogVolume nodes), set Environment.VolumetricFogDensity to 0.0.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Advanced

type Advanced = class

Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.

type Any

type Any interface {
	gd.IsClass
	AsFogVolume() Instance
}

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension

func (*Extension[T]) AsFogVolume

func (self *Extension[T]) AsFogVolume() Instance

func (*Extension[T]) AsNode

func (self *Extension[T]) AsNode() Node.Instance

func (*Extension[T]) AsNode3D

func (self *Extension[T]) AsNode3D() Node3D.Instance

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

func (*Extension[T]) AsVisualInstance3D

func (self *Extension[T]) AsVisualInstance3D() VisualInstance3D.Instance

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Instance

type Instance [1]gdclass.FogVolume

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AsFogVolume

func (self Instance) AsFogVolume() Instance

func (Instance) AsNode

func (self Instance) AsNode() Node.Instance

func (Instance) AsNode3D

func (self Instance) AsNode3D() Node3D.Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) AsVisualInstance3D

func (self Instance) AsVisualInstance3D() VisualInstance3D.Instance

func (Instance) ID

func (self Instance) ID() ID

func (Instance) Material

func (self Instance) Material() Material.Instance

The Material used by the FogVolume. Can be either a built-in FogMaterial or a custom ShaderMaterial.

func (Instance) SetMaterial

func (self Instance) SetMaterial(value Material.Instance)

SetMaterial sets the property returned by [GetMaterial].

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) SetShape

func (self Instance) SetShape(value RenderingServer.FogVolumeShape)

SetShape sets the property returned by [GetShape].

func (Instance) SetSize

func (self Instance) SetSize(value Vector3.XYZ)

SetSize sets the property returned by [GetSize].

func (Instance) Shape

The shape of the FogVolume. This can be set to either [Renderingserver.FogVolumeShapeEllipsoid], [Renderingserver.FogVolumeShapeCone], [Renderingserver.FogVolumeShapeCylinder], [Renderingserver.FogVolumeShapeBox] or [Renderingserver.FogVolumeShapeWorld].

func (Instance) Size

func (self Instance) Size() Vector3.XYZ

The size of the FogVolume when Shape is [Renderingserver.FogVolumeShapeEllipsoid], [Renderingserver.FogVolumeShapeCone], [Renderingserver.FogVolumeShapeCylinder] or [Renderingserver.FogVolumeShapeBox].

Note: Thin fog volumes may appear to flicker when the camera moves or rotates. This can be alleviated by increasing ProjectSettings "rendering/environment/volumetric_fog/volume_depth" (at a performance cost) or by decreasing Environment.VolumetricFogLength (at no performance cost, but at the cost of lower fog range). Alternatively, the FogVolume can be made thicker and use a lower density in the Material.

Note: If Shape is [Renderingserver.FogVolumeShapeCone] or [Renderingserver.FogVolumeShapeCylinder], the cone/cylinder will be adjusted to fit within the size. Non-uniform scaling of cone/cylinder shapes via the Size property is not supported, but you can scale the FogVolume node instead.

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL