diff options
author | reduz <reduzio@gmail.com> | 2021-04-27 12:43:49 -0300 |
---|---|---|
committer | reduz <reduzio@gmail.com> | 2021-04-30 17:38:02 -0300 |
commit | 90056460ad8e22d9166523dcb2defebb0581f95c (patch) | |
tree | d4cb11cbd03dc5b401f41627217b5d82cf06d195 /servers/rendering_server.h | |
parent | 0ad03ba052dd3b7bea558a3a76c7ff5c46bf681a (diff) | |
download | redot-engine-90056460ad8e22d9166523dcb2defebb0581f95c.tar.gz |
Implement Particle Trails
-Enable the trails and set the length in seconds
-Provide a mesh with a skeleton and a skin
-Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh
-Works deterministically
-Fixed particle collisions (were broken)
-Not working in 2D yet (that will happen next)
Diffstat (limited to 'servers/rendering_server.h')
-rw-r--r-- | servers/rendering_server.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/servers/rendering_server.h b/servers/rendering_server.h index c74bb22aad..ad965e9690 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -631,8 +631,22 @@ public: virtual void particles_set_use_local_coordinates(RID p_particles, bool p_enable) = 0; virtual void particles_set_process_material(RID p_particles, RID p_material) = 0; virtual void particles_set_fixed_fps(RID p_particles, int p_fps) = 0; + virtual void particles_set_interpolate(RID p_particles, bool p_enable) = 0; virtual void particles_set_fractional_delta(RID p_particles, bool p_enable) = 0; virtual void particles_set_collision_base_size(RID p_particles, float p_size) = 0; + + enum ParticlesTransformAlign { + PARTICLES_TRANSFORM_ALIGN_DISABLED, + PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD, + PARTICLES_TRANSFORM_ALIGN_Y_TO_VELOCITY, + PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY, + }; + + virtual void particles_set_transform_align(RID p_particles, ParticlesTransformAlign p_transform_align) = 0; + + virtual void particles_set_trails(RID p_particles, bool p_enable, float p_length_sec) = 0; + virtual void particles_set_trail_bind_poses(RID p_particles, const Vector<Transform> &p_bind_poses) = 0; + virtual bool particles_is_inactive(RID p_particles) = 0; virtual void particles_request_process(RID p_particles) = 0; virtual void particles_restart(RID p_particles) = 0; |