-
-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add 3D options to rotation, velocity and angular velocity in ParticlesMaterial #3951
Comments
I remember this being added in |
Yup, you can do 3D scale with 3D curves ^^ |
I think we could actually benefit from adding a 3D curve for 3D velocity. Sometimes damping really doesn't do the job. It's hard to control. |
There was an issue opened about this a while ago. In that issue, OP posted an improved damping formula that works well in most cases without requiring a custom curve. We have a lot of curve properties in ParticlesMaterial already, and usability might suffer if we add too many – so I'd prefer a simpler solution that suits most use cases. |
That is great news! Will this also work for 3D rotation? Also I take it that this is Godot 4 only? |
Yes, as Curve3Texture wasn't backported to |
I've updated the title and proposal body to reflect the current state, also added in velocity as mentioned by @QbieShay which I agree would be fantastic. |
The particle rework should already have the velocity on an axis ^^ do you mind testing 4.2 and letting me know which one of those are still necessary? I am sure the rotation around axis is not done (for technical reasons, trying to find a solution there) |
Describe the project you are working on
3d roguelite called Cardbob revival, with heavy usage of particles that are using custom meshes as well as base godot primitives.
As a studio we're on a schedule to get to our MVP, the high level issue is that we know we could learn particle shaders, but other tasks are taking priority. The ParticlesMaterial has potential it isn't tapping into, which has lead to us giving up on some of the effects we had planned.
Describe the problem or limitation you are having in your project
The ParticlesMaterial at the moment feels as if it was originally created for 2d particles and ported over to 3d, with mainly 2d functionality, limiting its base usefulness.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
add the following options to scale and rotation(angle)
- Scale- 3d scale checkbox- - when on, enable setting the vector 3- - when on, enable setting scale curve for each axisedit: found out this is already done in godot 4. not yet ported to godot 3. this was done by implement curve3texture
additionally
the following properties may also benefit from exposed 3d options
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
as shown above
If this enhancement will not be used often, can it be worked around with a few lines of script?
It is onto my understanding that this is completely feasible if one writes a particle shader.
Is there a reason why this should be core and not an add-on in the asset library?
The userbase of the 3d features is steadily growing and allowing users to tweak the scale and rotation of spawned meshes would enable the users of the engine to create much better looking effects without having to learn either particle shaders or particle visual shaders.
Benefits of implementing this in core:
examples of plausible effects with the addition of the proposed features:
I believe that exposing these properties, will allow users to create beautiful effects, without having to resort to learning particle shader code or visual shader nodes.
The text was updated successfully, but these errors were encountered: