[][src]Struct gdnative::api::Particles

pub struct Particles { /* fields omitted */ }

core class Particles inherits GeometryInstance (unsafe).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

Non reference counted objects such as the ones of this type are usually owned by the engine.

Particles is a reference-only type. Persistent references can only exist in the unsafe Ref<Particles> form.

In the cases where Rust code owns an object of this type, for example if the object was just created on the Rust side and not passed to the engine yet, ownership should be either given to the engine or the object must be manually destroyed using Ref::free, or Ref::queue_free if it is a Node.

Class hierarchy

Particles inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl Particles[src]

Constants

impl Particles[src]

pub fn new() -> Ref<Particles, Unique>[src]

Creates a new instance of this object.

Because this type is not reference counted, the lifetime of the returned object is not automatically managed.

Immediately after creation, the object is owned by the caller, and can be passed to the engine (in which case the engine will be responsible for destroying the object) or destroyed manually using Ref::free, or preferably Ref::queue_free if it is a Node.

pub fn capture_aabb(&self) -> Aabb[src]

Returns the axis-aligned bounding box that contains all the particles that are active in the current frame.

pub fn amount(&self) -> i64[src]

Number of particles to emit.

pub fn draw_order(&self) -> DrawOrder[src]

Particle draw order. Uses [enum DrawOrder] values.

pub fn draw_pass_mesh(&self, pass: i64) -> Option<Ref<Mesh, Shared>>[src]

[Mesh] that is drawn for the fourth draw pass.

pub fn draw_passes(&self) -> i64[src]

The number of draw passes when rendering particles.

pub fn explosiveness_ratio(&self) -> f64[src]

Time ratio between each emission. If [code]0[/code], particles are emitted continuously. If [code]1[/code], all particles are emitted simultaneously.

pub fn fixed_fps(&self) -> i64[src]

The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.

pub fn fractional_delta(&self) -> bool[src]

If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.

pub fn lifetime(&self) -> f64[src]

Amount of time each particle will exist.

pub fn one_shot(&self) -> bool[src]

If [code]true[/code], only [code]amount[/code] particles will be emitted.

pub fn pre_process_time(&self) -> f64[src]

Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting.

pub fn process_material(&self) -> Option<Ref<Material, Shared>>[src]

[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial].

pub fn randomness_ratio(&self) -> f64[src]

Emission randomness ratio.

pub fn speed_scale(&self) -> f64[src]

Speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.

pub fn use_local_coordinates(&self) -> bool[src]

If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.

pub fn visibility_aabb(&self) -> Aabb[src]

The [AABB] that determines the area of the world part of which needs to be visible on screen for the particle system to be active.
			[b]Note:[/b] If the [ParticlesMaterial] in use is configured to cast shadows, you may want to enlarge this AABB to ensure the shadow is updated when particles are off-screen.

pub fn is_emitting(&self) -> bool[src]

If [code]true[/code], particles are being emitted.

pub fn restart(&self)[src]

Restarts the particle emission, clearing existing particles.

pub fn set_amount(&self, amount: i64)[src]

Number of particles to emit.

pub fn set_draw_order(&self, order: i64)[src]

Particle draw order. Uses [enum DrawOrder] values.

pub fn set_draw_pass_mesh(&self, pass: i64, mesh: impl AsArg<Mesh>)[src]

[Mesh] that is drawn for the fourth draw pass.

pub fn set_draw_passes(&self, passes: i64)[src]

The number of draw passes when rendering particles.

pub fn set_emitting(&self, emitting: bool)[src]

If [code]true[/code], particles are being emitted.

pub fn set_explosiveness_ratio(&self, ratio: f64)[src]

Time ratio between each emission. If [code]0[/code], particles are emitted continuously. If [code]1[/code], all particles are emitted simultaneously.

pub fn set_fixed_fps(&self, fps: i64)[src]

The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.

pub fn set_fractional_delta(&self, enable: bool)[src]

If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.

pub fn set_lifetime(&self, secs: f64)[src]

Amount of time each particle will exist.

pub fn set_one_shot(&self, enable: bool)[src]

If [code]true[/code], only [code]amount[/code] particles will be emitted.

pub fn set_pre_process_time(&self, secs: f64)[src]

Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting.

pub fn set_process_material(&self, material: impl AsArg<Material>)[src]

[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial].

pub fn set_randomness_ratio(&self, ratio: f64)[src]

Emission randomness ratio.

pub fn set_speed_scale(&self, scale: f64)[src]

Speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.

pub fn set_use_local_coordinates(&self, enable: bool)[src]

If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.

pub fn set_visibility_aabb(&self, aabb: Aabb)[src]

The [AABB] that determines the area of the world part of which needs to be visible on screen for the particle system to be active.
			[b]Note:[/b] If the [ParticlesMaterial] in use is configured to cast shadows, you may want to enlarge this AABB to ensure the shadow is updated when particles are off-screen.

Methods from Deref<Target = GeometryInstance>

pub fn cast_shadows_setting(&self) -> ShadowCastingSetting[src]

The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.

pub fn extra_cull_margin(&self) -> f64[src]

The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box.

pub fn flag(&self, flag: i64) -> bool[src]

If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe] or [BakedLightmap].

pub fn lod_max_distance(&self) -> f64[src]

The GeometryInstance's max LOD distance.
			[b]Note:[/b] This property currently has no effect.

pub fn lod_max_hysteresis(&self) -> f64[src]

The GeometryInstance's max LOD margin.
			[b]Note:[/b] This property currently has no effect.

pub fn lod_min_distance(&self) -> f64[src]

The GeometryInstance's min LOD distance.
			[b]Note:[/b] This property currently has no effect.

pub fn lod_min_hysteresis(&self) -> f64[src]

The GeometryInstance's min LOD margin.
			[b]Note:[/b] This property currently has no effect.

pub fn material_override(&self) -> Option<Ref<Material, Shared>>[src]

The material override for the whole geometry.
			If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.

pub fn set_cast_shadows_setting(&self, shadow_casting_setting: i64)[src]

The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.

pub fn set_custom_aabb(&self, aabb: Aabb)[src]

Overrides the bounding box of this node with a custom one. To remove it, set an [AABB] with all fields set to zero.

pub fn set_extra_cull_margin(&self, margin: f64)[src]

The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box.

pub fn set_flag(&self, flag: i64, value: bool)[src]

If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe] or [BakedLightmap].

pub fn set_lod_max_distance(&self, mode: f64)[src]

The GeometryInstance's max LOD distance.
			[b]Note:[/b] This property currently has no effect.

pub fn set_lod_max_hysteresis(&self, mode: f64)[src]

The GeometryInstance's max LOD margin.
			[b]Note:[/b] This property currently has no effect.

pub fn set_lod_min_distance(&self, mode: f64)[src]

The GeometryInstance's min LOD distance.
			[b]Note:[/b] This property currently has no effect.

pub fn set_lod_min_hysteresis(&self, mode: f64)[src]

The GeometryInstance's min LOD margin.
			[b]Note:[/b] This property currently has no effect.

pub fn set_material_override(&self, material: impl AsArg<Material>)[src]

The material override for the whole geometry.
			If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.

Trait Implementations

impl Debug for Particles[src]

impl Deref for Particles[src]

type Target = GeometryInstance

The resulting type after dereferencing.

impl DerefMut for Particles[src]

impl GodotObject for Particles[src]

type RefKind = ManuallyManaged

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl Instanciable for Particles[src]

impl QueueFree for Particles[src]

impl SubClass<GeometryInstance> for Particles[src]

impl SubClass<Node> for Particles[src]

impl SubClass<Object> for Particles[src]

impl SubClass<Spatial> for Particles[src]

impl SubClass<VisualInstance> for Particles[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.