Describe the easings shared by keys, Lerp and sound FX ramps
A Lerp and a timed Set sound FX parameters now offer the same easings as an animation key. - Behaviors: Lerp has Easing, Direction and Curve like a key. - Sounds: the easing of a timed change, Step as a jump at the end. - Curves and Animations point to the same choice on both nodes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent
e02851255c
commit
0598820af7
4 files changed
+21
-8
No files matched your search
@@ -69,6 +69,9 @@ key. The inspector shows it as two fields:
|
|||||||
*In-out* is slow at both ends and halfway at half the time. A new curve keeps the direction the
|
*In-out* is slow at both ends and halfway at half the time. A new curve keeps the direction the
|
||||||
key had; a key that was linear or a step gets *In-out*.
|
key had; a key that was linear or a step gets *In-out*.
|
||||||
|
|
||||||
|
The same choice stands on a `Lerp` node and on `Set sound FX parameters` (see
|
||||||
|
[Behaviors](Behaviors) and [Sounds](Sounds)).
|
||||||
|
|
||||||
How strongly a curve bends, at half the time going *In*: Sine 0.29 of the way, Quad 0.25, Cubic
|
How strongly a curve bends, at half the time going *In*: Sine 0.29 of the way, Quad 0.25, Cubic
|
||||||
0.125, Quart 0.06, Quint 0.03, Expo 0.03, Circ 0.13. *Out* is the same curve mirrored, *In-out*
|
0.125, Quart 0.06, Quint 0.03, Expo 0.03, Circ 0.13. *Out* is the same curve mirrored, *In-out*
|
||||||
runs the *In* curve on the first half and the *Out* curve on the second. *Back* first pulls back
|
runs the *In* curve on the first half and the *Out* curve on the second. *Back* first pulls back
|
||||||
|
|||||||
+6
-4
@@ -222,10 +222,12 @@ the inspector).
|
|||||||
children of an object; with **recursive** every object below it, level by level) and
|
children of an object; with **recursive** every object below it, level by level) and
|
||||||
`Objects of asset` (every instance of the chosen asset, spawned ones included),
|
`Objects of asset` (every instance of the chosen asset, spawned ones included),
|
||||||
`Variables`, `Properties` (every property row of the target's type, the transform rows `scale`, `rotation`, `mirrorX`, `mirrorY` included — how a graph turns a sprite), `Get position` (local to the parent), `Get world position` (in world units), `Get Z` (the object's own `z` and `world z`, summed up with its parents'), `Is enabled`, literals `Number`/`Text`/`Boolean`/`Texture`/`State machine`/`Sound`/`Scene`/`Animation`/`Asset`, `Texture size` (a texture's, frame's or pixel art's own size in pixels, 0 for none — wired into a sprite's `width`/`height`, a picture shows pixel for pixel), `Add/Subtract/Multiply/Divide`,
|
`Variables`, `Properties` (every property row of the target's type, the transform rows `scale`, `rotation`, `mirrorX`, `mirrorY` included — how a graph turns a sprite), `Get position` (local to the parent), `Get world position` (in world units), `Get Z` (the object's own `z` and `world z`, summed up with its parents'), `Is enabled`, literals `Number`/`Text`/`Boolean`/`Texture`/`State machine`/`Sound`/`Scene`/`Animation`/`Asset`, `Texture size` (a texture's, frame's or pixel art's own size in pixels, 0 for none — wired into a sprite's `width`/`height`, a picture shows pixel for pixel), `Add/Subtract/Multiply/Divide`,
|
||||||
`Min/Max/Abs/Sqrt/Clamp`, `Lerp` (from a to b as t runs from 0 to 1, t held in 0…1; the setting
|
`Min/Max/Abs/Sqrt/Clamp`, `Lerp` (from a to b as t runs from 0 to 1, t held in 0…1; the settings
|
||||||
*Ease* bends the way: *Linear*, *In* starts slow, *Out* ends slow, *In-out* both, all quadratic,
|
*Easing* and *Direction* bend the way with exactly the choice an
|
||||||
or *Curve*, which follows the [curve asset](Curves) picked in the *Curve* row and may overshoot b;
|
[animation key](Animations) has: *Linear*, *Step* (stays at a until t is 1), the ten curves from
|
||||||
with none picked, or once it is gone, it runs linear and says so on the node —
|
*Sine* to *Bounce* with *In*, *Out* or *In-out*, or *Curve*, which follows the
|
||||||
|
[curve asset](Curves) picked in the *Curve* row. *Back*, *Elastic* and a curve may overshoot b;
|
||||||
|
a Curve with none picked, or once it is gone, runs linear and says so on the node —
|
||||||
one node where a slide or a flight used to take a Subtract, a Multiply and an Add per axis),
|
one node where a slide or a flight used to take a Subtract, a Multiply and an Add per axis),
|
||||||
`Floor/Ceil/Round`, `Modulo`, `Random`, `Time`, `To text`, `To number`, `Join text`,
|
`Floor/Ceil/Round`, `Modulo`, `Random`, `Time`, `To text`, `To number`, `Join text`,
|
||||||
`Substring`, `Find text`, `Equals`, `First not empty` (a, unless a is empty, then b; the setting
|
`Substring`, `Find text`, `Equals`, `First not empty` (a, unless a is empty, then b; the setting
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
A **curve asset** is an easing you draw yourself. Wherever the editor offers a built-in ease — the
|
A **curve asset** is an easing you draw yourself. Wherever the editor offers a built-in ease — the
|
||||||
**Easing** of an animation key, the **Ease** of a `Lerp` node — it also offers **Curve**, and then
|
**Easing** of an animation key, of a `Lerp` node and of a `Set sound FX parameters` node — it also
|
||||||
|
offers **Curve**, and then
|
||||||
the value runs along your drawing instead: overshoot and settle twice, hesitate in the middle,
|
the value runs along your drawing instead: overshoot and settle twice, hesitate in the middle,
|
||||||
anything that has one value for every moment.
|
anything that has one value for every moment.
|
||||||
|
|
||||||
|
|||||||
+10
-3
@@ -174,9 +174,16 @@ speed, or a loop that gets quieter.
|
|||||||
- With `time` at 0, every value **glides** there in about 0.1 s (`setTargetAtTime`, 30 ms time
|
- With `time` at 0, every value **glides** there in about 0.1 s (`setTargetAtTime`, 30 ms time
|
||||||
constant), so a jump does not click. A value that did not change is not sent again, so running it
|
constant), so a jump does not click. A value that did not change is not sent again, so running it
|
||||||
every frame costs next to nothing.
|
every frame costs next to nothing.
|
||||||
- **`time`** is how many seconds the values take to get there, evenly: a pitch in semitones, a
|
- **`time`** is how many seconds the values take to get there: a pitch in semitones, a Gain in
|
||||||
Gain in dB, a band and a Mix in what they hold. It runs on the clock of the sound itself, not on
|
dB, a band and a Mix in what they hold. It runs on the clock of the sound itself, not on the
|
||||||
the game's, so a sweep sounds the same every time, also the first. For a sweep, set it once
|
game's, so a sweep sounds the same every time, also the first.
|
||||||
|
- **Easing** and **Direction** say how the values get there, with the same choice an
|
||||||
|
[animation key](Animations) and a `Lerp` have. *Linear* (the default) runs evenly, *Step* holds
|
||||||
|
the old value for the whole `time` and then jumps, the ten curves from *Sine* to *Bounce* and a
|
||||||
|
drawn [Curve](Curves) bend the way. Linear and Step are ramps of the audio clock itself, every
|
||||||
|
other easing is handed to it as a curve of 200 samples a second (`setValueCurveAtTime`). *Back*,
|
||||||
|
*Elastic* and a curve may shoot past the target and come back. The easing says nothing while
|
||||||
|
`time` is 0. For a sweep, set it once
|
||||||
right after `Play sound`: `On enable` → `Play sound` → `Set sound FX parameters` (`voice` from
|
right after `Play sound`: `On enable` → `Play sound` → `Set sound FX parameters` (`voice` from
|
||||||
`Play sound`, `pitch` -64, `time` 1.28) falls by 50 semitones a second. Counting a value down
|
`Play sound`, `pitch` -64, `time` 1.28) falls by 50 semitones a second. Counting a value down
|
||||||
in `On update` or `On fixed update` instead runs on game time, and the sound drifts away from it.
|
in `On update` or `On fixed update` instead runs on game time, and the sound drifts away from it.
|
||||||
|
|||||||
Reference in new issue
Block a user