Documentation
¶
Overview ¶
Package GPUParticlesCollisionHeightField3D provides methods for working with GPUParticlesCollisionHeightField3D object instances.
Index ¶
- type Advanced
- type Any
- type Extension
- func (self *Extension[T]) AsGPUParticlesCollision3D() GPUParticlesCollision3D.Instance
- func (self *Extension[T]) AsGPUParticlesCollisionHeightField3D() Instance
- func (self *Extension[T]) AsNode() Node.Instance
- func (self *Extension[T]) AsNode3D() Node3D.Instance
- func (self *Extension[T]) AsObject() [1]gd.Object
- func (self *Extension[T]) AsVisualInstance3D() VisualInstance3D.Instance
- type ID
- type Instance
- func (self Instance) AsGPUParticlesCollision3D() GPUParticlesCollision3D.Instance
- func (self Instance) AsGPUParticlesCollisionHeightField3D() Instance
- func (self Instance) AsNode() Node.Instance
- func (self Instance) AsNode3D() Node3D.Instance
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsVisualInstance3D() VisualInstance3D.Instance
- func (self Instance) FollowCameraEnabled() bool
- func (self Instance) GetHeightfieldMaskValue(layer_number int) bool
- func (self Instance) HeightfieldMask() int
- func (self Instance) ID() ID
- func (self Instance) Resolution() Resolution
- func (self Instance) SetFollowCameraEnabled(value bool)
- func (self Instance) SetHeightfieldMask(value int)
- func (self Instance) SetHeightfieldMaskValue(layer_number int, value bool)
- func (self *Instance) SetObject(obj [1]gd.Object) bool
- func (self Instance) SetResolution(value Resolution)
- func (self Instance) SetSize(value Vector3.XYZ)
- func (self Instance) SetUpdateMode(value UpdateMode)
- func (self Instance) Size() Vector3.XYZ
- func (self Instance) UpdateMode() UpdateMode
- func (self Instance) Virtual(name string) reflect.Value
- type Resolution
- type UpdateMode
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 Extension ¶
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]) AsGPUParticlesCollision3D ¶
func (self *Extension[T]) AsGPUParticlesCollision3D() GPUParticlesCollision3D.Instance
func (*Extension[T]) AsGPUParticlesCollisionHeightField3D ¶
func (*Extension[T]) AsVisualInstance3D ¶
func (self *Extension[T]) AsVisualInstance3D() VisualInstance3D.Instance
type 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.
type Instance ¶
type Instance [1]gdclass.GPUParticlesCollisionHeightField3D
A real-time heightmap-shaped 3D particle collision shape affecting [GPUParticles3D] nodes. Heightmap shapes allow for efficiently representing collisions for convex and concave objects with a single "floor" (such as terrain). This is less flexible than [GPUParticlesCollisionSDF3D], but it doesn't require a baking step. [GPUParticlesCollisionHeightField3D] can also be regenerated in real-time when it is moved, when the camera moves, or even continuously. This makes [GPUParticlesCollisionHeightField3D] a good choice for weather effects such as rain and snow and games with highly dynamic geometry. However, this class is limited since heightmaps cannot represent overhangs (e.g. indoors or caves). [b]Note:[/b] [member ParticleProcessMaterial.collision_mode] must be [code]true[/code] on the [GPUParticles3D]'s process material for collision to work. [b]Note:[/b] Particle collision only affects [GPUParticles3D], not [CPUParticles3D].
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AsGPUParticlesCollision3D ¶
func (self Instance) AsGPUParticlesCollision3D() GPUParticlesCollision3D.Instance
func (Instance) AsGPUParticlesCollisionHeightField3D ¶
func (Instance) AsVisualInstance3D ¶
func (self Instance) AsVisualInstance3D() VisualInstance3D.Instance
func (Instance) FollowCameraEnabled ¶
func (Instance) GetHeightfieldMaskValue ¶
Returns [code]true[/code] if the specified layer of the [member heightfield_mask] is enabled, given a [param layer_number] between [code]1[/code] and [code]20[/code], inclusive.
func (Instance) HeightfieldMask ¶
func (Instance) Resolution ¶
func (self Instance) Resolution() Resolution
func (Instance) SetFollowCameraEnabled ¶
func (Instance) SetHeightfieldMask ¶
func (Instance) SetHeightfieldMaskValue ¶
Based on [param value], enables or disables the specified layer in the [member heightfield_mask], given a [param layer_number] between [code]1[/code] and [code]20[/code], inclusive.
func (Instance) SetResolution ¶
func (self Instance) SetResolution(value Resolution)
func (Instance) SetUpdateMode ¶
func (self Instance) SetUpdateMode(value UpdateMode)
func (Instance) UpdateMode ¶
func (self Instance) UpdateMode() UpdateMode
type Resolution ¶
type Resolution int //gd:GPUParticlesCollisionHeightField3D.Resolution
const ( /*Generate a 256×256 heightmap. Intended for small-scale scenes, or larger scenes with no distant particles.*/ Resolution256 Resolution = 0 /*Generate a 512×512 heightmap. Intended for medium-scale scenes, or larger scenes with no distant particles.*/ Resolution512 Resolution = 1 /*Generate a 1024×1024 heightmap. Intended for large scenes with distant particles.*/ Resolution1024 Resolution = 2 /*Generate a 2048×2048 heightmap. Intended for very large scenes with distant particles.*/ Resolution2048 Resolution = 3 /*Generate a 4096×4096 heightmap. Intended for huge scenes with distant particles.*/ Resolution4096 Resolution = 4 /*Generate a 8192×8192 heightmap. Intended for gigantic scenes with distant particles.*/ Resolution8192 Resolution = 5 /*Represents the size of the [enum Resolution] enum.*/ ResolutionMax Resolution = 6 )
type UpdateMode ¶
type UpdateMode int //gd:GPUParticlesCollisionHeightField3D.UpdateMode
const ( /*Only update the heightmap when the [GPUParticlesCollisionHeightField3D] node is moved, or when the camera moves if [member follow_camera_enabled] is [code]true[/code]. An update can be forced by slightly moving the [GPUParticlesCollisionHeightField3D] in any direction, or by calling [method RenderingServer.particles_collision_height_field_update].*/ UpdateModeWhenMoved UpdateMode = 0 /*Update the heightmap every frame. This has a significant performance cost. This update should only be used when geometry that particles can collide with changes significantly during gameplay.*/ UpdateModeAlways UpdateMode = 1 )