This shaker will let you move the position of a transform, either once or permanently, shaking its position for the specified duration and within the specified range. You can apply that shake along a direction, randomized or not, with optional noise and attenuation.
More...
|
| virtual void | GrabInitialPosition () |
| virtual void | OnMMPositionShakeEvent (float duration, float shakeSpeed, float shakeRange, Vector3 shakeMainDirection, bool randomizeDirection, Vector3 shakeAltDirection, bool randomizeDirectionOnPlay, bool randomizeDirectionX, bool randomizeDirectionY, bool randomizeDirectionZ, bool addDirectionalNoise, Vector3 directionalNoiseStrengthMin, Vector3 directionalNoiseStrengthMax, Vector3 randomnessSeed, bool randomizeSeedOnShake, bool useAttenuation, AnimationCurve attenuationCurve, bool useRange=false, float rangeDistance=0f, bool useRangeFalloff=false, AnimationCurve rangeFalloff=null, Vector2 remapRangeFalloff=default(Vector2), Vector3 rangePosition=default(Vector3), float feedbacksIntensity=1.0f, MMChannelData channelData=null, bool resetShakerValuesAfterShake=true, bool resetTargetValuesAfterShake=true, bool forwardDirection=true, TimescaleModes timescaleMode=TimescaleModes.Scaled, bool stop=false, bool restore=false) |
| override void | StartListening () |
| | Starts listening for events.
|
| override void | StopListening () |
| | Stops listening for events.
|
| virtual float | GetTime () |
| virtual float | GetDeltaTime () |
| virtual void | ForceInitialization () |
| | Call this externally if you need to force a new initialization.
|
| virtual void | StartShaking () |
| | Starts shaking the values.
|
| virtual void | Play () |
| | Starts this shaker.
|
| virtual void | Stop () |
| | Stops this shaker.
|
| virtual float | ComputeRangeIntensity (bool useRange, float rangeDistance, bool useRangeFalloff, AnimationCurve rangeFalloff, Vector2 remapRangeFalloff, Vector3 rangePosition) |
|
| Modes | Mode = Modes.Transform |
| | whether this shaker should target Transforms or RectTransforms
|
| Transform | TargetTransform |
| | the transform to shake the position of. If left blank, this component will target the transform it's put on.
|
| RectTransform | TargetRectTransform |
| | the rect transform to shake the position of. If left blank, this component will target the transform it's put on.
|
| float | ShakeSpeed = 20f |
| | the speed at which the transform should shake
|
| float | ShakeRange = 0.5f |
| | the maximum distance from its initial position the transform will move to during the shake
|
| float | OscillationOffset = 0f |
| | an offset to apply to the oscillation
|
| Vector3 | ShakeMainDirection = Vector3.up |
| | the direction along which to shake the transform's position
|
| bool | RandomizeDirection = false |
| | if this is true, instead of using ShakeMainDirection as the direction of the shake, a random vector3 will be generated, randomized between ShakeMainDirection and ShakeAltDirection
|
| Vector3 | ShakeAltDirection = Vector3.up |
| | when in RandomizeDirection mode, a vector against which to randomize the main direction
|
| bool | RandomizeDirectionOnPlay = false |
| | if this is true, a new direction will be randomized every time a shake happens
|
| bool | RandomizeDirectionX = true |
| | whether or not to randomize the x value of the main direction
|
| bool | RandomizeDirectionY = true |
| | whether or not to randomize the y value of the main direction
|
| bool | RandomizeDirectionZ = true |
| | whether or not to randomize the z value of the main direction
|
| bool | AddDirectionalNoise = true |
| | whether or not to add noise to the main direction
|
| Vector3 | DirectionalNoiseStrengthMin = new Vector3(0.25f, 0.25f, 0.25f) |
| | when adding directional noise, noise strength will be randomized between this value and DirectionalNoiseStrengthMax
|
| Vector3 | DirectionalNoiseStrengthMax = new Vector3(0.25f, 0.25f, 0.25f) |
| | when adding directional noise, noise strength will be randomized between this value and DirectionalNoiseStrengthMin
|
| Vector3 | RandomnessSeed |
| | a unique seed you can use to get different outcomes when shaking more than one transform at once
|
| bool | RandomizeSeedOnShake = true |
| | whether or not to generate a unique seed automatically on every shake
|
| bool | UseAttenuation = true |
| | whether or not to use attenuation, which will impact the amplitude of the shake, along the defined curve
|
| AnimationCurve | AttenuationCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.5f, 1), new Keyframe(1, 0)) |
| | the animation curve used to define attenuation, impacting the amplitude of the shake
|
| bool | StartShakingButton |
| MMChannelModes | ChannelMode = MMChannelModes.Int |
| int | Channel = 0 |
| | the channel to listen to - has to match the one on the feedback
|
| MMChannel | MMChannelDefinition = null |
| float | ShakeDuration = 0.2f |
| | the duration of the shake, in seconds
|
| bool | PlayOnAwake = false |
| | if this is true this shaker will play on awake
|
| bool | PermanentShake = false |
| | if this is true, the shaker will shake permanently as long as its game object is active
|
| bool | Interruptible = true |
| | if this is true, a new shake can happen while shaking
|
| bool | AlwaysResetTargetValuesAfterShake = false |
| | if this is true, this shaker will always reset target values, regardless of how it was called
|
| bool | OnlyUseShakerValues = false |
| | if this is true, this shaker will ignore any value passed in an event that triggered it, and will instead use the values set on its inspector
|
| float | CooldownBetweenShakes = 0f |
| | a cooldown, in seconds, after a shake, during which no other shake can start
|
| bool | Shaking = false |
| | whether or not this shaker is shaking right now
|
| bool | ForwardDirection = true |
| TimescaleModes | TimescaleMode = TimescaleModes.Scaled |
|
| override void | Initialization () |
| | On init we initialize our values.
|
| virtual void | Reset () |
| | When that shaker gets added, we initialize its shake duration.
|
| override void | ShakeStarts () |
| | Describes what happens when a shake starts.
|
| override void | Shake () |
| | Override this method to implement shake over time.
|
| override void | ShakeComplete () |
| | Describes what happens when the shake is complete.
|
| virtual void | ApplyNewPosition (Vector3 newPosition) |
| virtual Vector3 | ComputeNewPosition () |
| virtual float | ComputeAttenuation (float remappedTime) |
| virtual Vector3 | ComputeNoise (float time) |
| override void | ResetTargetValues () |
| | Resets the target's values.
|
| override void | ResetShakerValues () |
| | Resets the shaker's values.
|
| virtual void | Awake () |
| | On Awake we grab our volume and profile.
|
| virtual void | SetShakeStartedTimestamp () |
| | Logs the start timestamp for this shaker.
|
| virtual void | GrabInitialValues () |
| | A method designed to collect initial values.
|
| virtual void | Update () |
| | On Update, we shake our values if needed, or reset if our shake has ended.
|
| virtual float | ShakeFloat (AnimationCurve curve, float remapMin, float remapMax, bool relativeIntensity, float initialValue) |
| | A method used to "shake" a flot over time along a curve.
|
| virtual Color | ShakeGradient (Gradient gradient) |
| virtual void | OnEnable () |
| | On enable we start shaking if needed.
|
| virtual void | OnDestroy () |
| | On destroy we stop listening for events.
|
| virtual void | OnDisable () |
| | On disable we complete our shake if it was in progress.
|
| virtual bool | CheckEventAllowed (MMChannelData channelData, bool useRange=false, float range=0f, Vector3 eventOriginPosition=default(Vector3)) |
| | Returns true if this shaker should listen to events, false otherwise.
|
This shaker will let you move the position of a transform, either once or permanently, shaking its position for the specified duration and within the specified range. You can apply that shake along a direction, randomized or not, with optional noise and attenuation.