Skip to content
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

"Smooth Transition" Option for Gravity Triggers #130

Open
TheGreatAutismo opened this issue Sep 28, 2023 · 1 comment
Open

"Smooth Transition" Option for Gravity Triggers #130

TheGreatAutismo opened this issue Sep 28, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@TheGreatAutismo
Copy link
Contributor

The type of gravity triggers which set your gravity to a specific direction always have instant transitions no matter what. An option to make them have the same animation as Gravity Modifiers would be nice

https://discord.com/channels/346034549962047488/346039813201199105/1156965213233479721

@TheGreatAutismo TheGreatAutismo added the enhancement New feature or request label Sep 28, 2023
@TheGreatAutismo TheGreatAutismo self-assigned this Sep 28, 2023
@jack5github
Copy link

I thought I should write what parameters I think would be necessary in order for this to work as intended here, so you don't have to look through all the messages on the Discord server. These parameters will likely have to use default values so old levels are not impacted by their addition. I've also included some extra parameters that may be useful, but are not strictly necessary for an initial implementation.

Required parameters:

  • SimRotation - Already in GravityTriggers, the desired gravity angle.
  • timeToSimRotation - The amount of time it should take for the trigger to transition from the starting gravity angle to the desired one. If anything else attempts to change gravity during a currently playing transition, the transition should be interrupted. For example, touching another GravityTrigger during a transition would use the angle at the time of interrupt as its starting angle.
  • Smooth, SmoothStart, SmoothEnd - Toggles for controlling the curve of the transition, similar to PathNodes.

Optional parameters:

  • SmoothStartOnInterrupt - If a previous GravityTrigger transition was interrupted by this GravityTrigger, rather than immediately starting the transition at full speed or at a stop, this parameter being enabled will take the current value on the old transition curve and apply it to the start of the transition, resulting in a relatively smoother switch between transitions.
  • SimRotationVector - Rotations around sharp angles, especially 180 degrees (down) which is the standard gravity direction, may lead to undesired wobbling motions during transitions. How this parameter would work is that it would be subtracted from both the starting and desired angle, then added back after the point along the transition is chosen. This will help ensure transitions look naturally linear most of the time and don't wobble.
  • RotationMultiplier - I saw this used in PathNodes and it could be useful for GravityTriggers as well. Setting it to -1 would ideally cause 0 degrees to point down as opposed to up. This would apply to all rotation parameters of the GravityTrigger, meaning it would be easier to do small rotations while gravity is mostly pointing down, as opposed to having to enter 180 degrees all the time.

Let me know about your thoughts on these ideas, and thanks for taking interest in my odd level building process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants