Search Unity

Feedback New Simplified Impulse Source & Listener in 2.8.0-exp.2

Discussion in 'Cinemachine' started by markvi, Apr 19, 2021.

  1. markvi

    markvi

    Joined:
    Oct 31, 2016
    Posts:
    118
    (moving this into its own thread to make it easier to reply)

    Hi folks!

    We wanted to let you know about an experimental update to Cinemachine that you may want to try.

    What's New
    We have published Cinemachine 2.8.0-exp.2. While you can find the full changelog here, the bit we are especially interested in getting feedback on is this:
    • Added simplified modes to Impulse Source.
    • Added secondary reaction settings to Impulse Listener.
    This feature is very fresh… so fresh, in fact, that we don't have documentation for it yet.

    In short: all of the properties of the impulse signal were previously controlled by the Impulse Source. Starting with Cinemachine 2.8, the Impulse Source now generates four different types of impulse:

    Uniform
    A Uniform impulse is received instantaneously, no matter how far the listener is from the source.[/td]

    Dissipating
    Similar to Uniform, a Dissipating impulse is received instantaneously. However the farther the listener is from the source, the weaker the signal.

    Propagating
    Unlike Uniform and Dissipating, a Propagating impulse has a propagation speed. The farther the listener from the source, the longer it takes for the signal to reach the listener.

    Legacy
    Same controls as available prior to Cinemachine 2.8.

    In addition, properties that control how the Impulse Listener reacts to the impulse signal were added to the Listener. This permits different Game Objects to react to the same signal in different ways, no matter the impulse type.



    We'd love to hear your feedback.

    Minimum Requirements
    Unity 2019.4

    To Install Cinemachine 2.8.0-exp.2, do one of the following:
    • In Unity 2021.1 and above, click the [+] button at the top left of the Package Manager, select Add package by name... and enter com.unity.cinemachine in the Name field and 2.8.0-exp.2 in the Version field.

      OR

    • In Unity 2020.3 and above, click the [+] button at the top left of the Package Manager, select Add package by git URL... and enter com.unity.cinemachine@2.8.0-exp.2.

      OR

    • In any supported version of Unity, edit Packages/manifest.json and add the following line to the top of the list of dependencies:

      "com.unity.cinemachine": "2.8.0-exp.2",


      (or update the existing version to 2.8.0-exp.2).

    As always, thanks!

    > How to report bugs <
     
    Last edited: Apr 27, 2021
  2. markvi

    markvi

    Joined:
    Oct 31, 2016
    Posts:
    118
    Hello, we've added a video above, check it out! We'd love to get your feedback.Thanks!
     
  3. michalpiatek

    michalpiatek

    Joined:
    Feb 26, 2021
    Posts:
    81
    Is there any way I can use new Impulse Types but with an option to define the raw signal shape? I understand that it would be useful in some cases to be able to define how the shake looks like on the listener so user only sets it once but that's not what I need in my project.

    I'm now using Impulse type: Legacy but it sounds like it will be removed at some point (Legacy wording implies this will be an obsolete way of setting up impulses)?
     
  4. Gregoryl

    Gregoryl

    Unity Technologies

    Joined:
    Dec 22, 2016
    Posts:
    7,719
    You can make custom shapes without using Legacy. Click here to edit the shape.

    upload_2021-11-5_9-26-23.png
     
  5. michalpiatek

    michalpiatek

    Joined:
    Feb 26, 2021
    Posts:
    81
    But this only defines the overall shape, it gives me no control over the XYZ and YPR frequencies or amplitude. If I have a Listener without any Secondary Noise my camera and I send an Impulse defined similar to one from your screenshot my camera just bobs up and down.

    What I don't understand in this new workflow is that it seems it requires some sort of Secondary Noise defined in the Listener to make the shake look good but naming convention suggest that I should be able to get a decent looking shake without the use of the Secondary Noise. But as I mentioned, if I send an impulse and no Secondary Noise defined all I get is camera rotating up and down. You can even see this on the video attached to the first post in the thread.

    Skip to 00:45
     
  6. Gregoryl

    Gregoryl

    Unity Technologies

    Joined:
    Dec 22, 2016
    Posts:
    7,719
    Yes, you need the secondary noise. The impulse itself should be thought of as only a trigger. If you think about it, it makes sense because how something shakes in response to an external event is really more a property of the shaking thing than of the event. Why are you reluctant to define this reaction on the listener?
     
  7. michalpiatek

    michalpiatek

    Joined:
    Feb 26, 2021
    Posts:
    81
    As a VFX artist I'm using different camera shakes for different types of impacts. I have one for high frequency plasma explosion, one for a really heavy physical object impacting the ground, one for low frequency "energy source". If I were to rely on the new system all camera shakes would basically oscillate the same way with just different levels of intensity over time. I appreciate how simple the new system is to use, and I think for some projects it would work but in my case it is significantly worse in terms of artistic control.
     
  8. LezCT

    LezCT

    Joined:
    Nov 15, 2014
    Posts:
    55
    I love the Uniform Impulse setting, it's now less disorienting as they are now shaking in demand.

    My only feedback about this would be keeping the legacy settings on the uniform impulse as well so we can still make different styles for impulse + instant shaking.
     
  9. Gregoryl

    Gregoryl

    Unity Technologies

    Joined:
    Dec 22, 2016
    Posts:
    7,719
    You can make a uniform impulse in legacy mode by setting the propagation speed really high and the impact radius really large.
     
    LezCT likes this.
  10. Yuchen_Chang

    Yuchen_Chang

    Joined:
    Apr 24, 2020
    Posts:
    127
    Hello! I know this is an old thread, but this seems to be the most relative topic of my question.

    I've been using Cinemachine in almost all of my works, and I really appreciate the new types of impulses, for making it simple and easy to use.
    However, does it mean that the Legacy one is not going to be maintained further more, or it's functionality will be removed in future versions?
    Different shake methods is still something I would like, such as z-axis only shake for surprise emotion, and 6D shake for earthquake skills, and others. To change them every time when an impulse created, the impulse source has to get the current virtual camera instance, check if it has an impulse listener, and change the shake method. It would be convenient to set it directly in the source.
     
    Apeles likes this.
  11. michalpiatek

    michalpiatek

    Joined:
    Feb 26, 2021
    Posts:
    81
    That was also one of the concerns of mine. I asked about that in my original question but it wasn't addressed so I'm curious to know what's the answer here.

     
    Apeles likes this.
  12. Gregoryl

    Gregoryl

    Unity Technologies

    Joined:
    Dec 22, 2016
    Posts:
    7,719
    We're not planning to remove any functionality. You can continue to use Legacy.
     
    Apeles, Yuchen_Chang and michalpiatek like this.
  13. michalpiatek

    michalpiatek

    Joined:
    Feb 26, 2021
    Posts:
    81
    Thanks for clarifying. May I ask why then to choose "Legacy" name for this functionality? It doesn't necessarily give users a lot of confidence in the longevity of the feature.
     
    Last edited: Sep 5, 2022
    Apeles likes this.
  14. Gregoryl

    Gregoryl

    Unity Technologies

    Joined:
    Dec 22, 2016
    Posts:
    7,719
    It's a good point. We might change the name :)