Search Unity

[RELEASED] Screen Transitions Pro

Discussion in 'Assets and Asset Store' started by Torchinsky, Feb 13, 2019.

  1. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17

    DOWNLOAD IT FROM UNITY ASSET STORE: https://www.assetstore.unity3d.com/#!/content/139348

    Screen Transitions Pro
    contains a collection of high quality full screen transition effects to skyrocket the quality of your games to the next level! Screen Transitions Pro makes it easy to create professional looking screen transitions that are perfect for loading screens, battle transitions, stage intros, outros and much more!


    FEATURES HIGHLIGHTS:
    • Variety
    • Effortless integration
    • Fully customizable
    • Animate everything
    • Performance oriented
    • Much more!

    Variety
    Contains a total of 100+ ready-to-use screen transitions of 4 different types: simple, displacement, single focus, multi focus.
    • 78 simple transition textures
    • 26 displacement transition textures
    • 8 image effect shaders
    • 8 scripts to control transitions
    • 4 demo scenes with example scripts

    Effortless integration
    Just attach 1 script component to the game camera. No additional objects on scenes, no scripting required (in case you prefer to animate it by Animation Clips).


    Fully customizable
    Every possible parameter is editable. You can set and animate a transition’s material, background color, cutoff (progress) and smooth falloff. You can also flip a transition horizontally, vertically or invert it.


    Animate everything
    Every parameter can be animated
    • From code (Update loop, Coroutines)
    • Using Animation Clip
    • Using tween engines like iTween or DOTween

    Performance oriented
    Each shader has 2 variations: with and without smooth falloff (in case you want to save some calculation time). Transition material is applied to rendered image only when the transition is active.

    Much more
    • Works with both Unity Personal and Unity Pro
    • Works with 2D and 3D
    • Works with both Linear and Gamma color space
    • Works with the Timeline
    • Adapts to any aspect ratio
    • Mobile ready
    • Playmaker integration (11 custom actions)
    • Compatible with iTween and DOTween
    • Compatible with other image effects
    • Complete documentation
    • Full source code available
    • All shaders are not compiled
    • Free updates
    • Support thread for questions, feature requests and bug reports
    P.S.
    I’m constantly working to add new transition patterns to the package. If you have a specific request send me a ref to the desired transition (video or gif would be perfect, but a simple image also works) and I will try to find a way to implement it in Screen Transitions Pro. All future updates will be free of charge.

    Best,
    Andrey Torchinsky
     
    Last edited: Feb 16, 2019
  2. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    v1.2 released!
    introducing new Noise falloff:
     
  3. Loyalwater

    Loyalwater

    Joined:
    Nov 1, 2013
    Posts:
    7
    Hi,

    I have implemented the displacement transition for a PC game. It works fine when played in the editor but once i build and run the exe, the transition does not work. Can you please help me ?
     
  4. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    Hey!
    Could you please explain in a bit more details?
    In executable file transition just doesn't appear at all?
    If you replace displacement transition with simple transition it is still not working?
    Can you send me sample scene with transition and your project settings, so I will try to reproduce it on my PC?
     
  5. zmaxz

    zmaxz

    Joined:
    Sep 26, 2012
    Posts:
    143
    There were a lot of warnings in Unity2019
    ScreenTransition.jpg
     
  6. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    These warnings appear only at startup and do not affect performance of the asset. All scripts still work correctly.
    But thanks for pointing me out, I will fix them in the next update. Cheers!
     
  7. KeyTryer

    KeyTryer

    Joined:
    Aug 11, 2015
    Posts:
    1
    Hi! Is there any way to know the process for creating a custom texture for the simple transition system?

    I find the approach of using different pixel colors to represent time very interesting, and I have ideas for my own transitions, but I can't figure out a way to do the animation without painting every pixel individually.
     
  8. manurocker95

    manurocker95

    Joined:
    Jun 14, 2016
    Posts:
    210
    As it is on sale, just fmi, does it fade in front of Canvas UI too?
     
  9. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    Simple transitions are basically gradients from black to white. When you animate transition you just change the threshold that defines if pixel should change its original color to transition color.

    All the transition textures that you see in this package I created manually using various gradient and deformation tools of Photoshop and Illustrator.
     
  10. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    Depends on the canvas render mode. If it set to “Screen Space - Overlay”, you will see UI on top of transition. If it set to “Screen Space - Camera” or “World Space” it will disappear with the rest of the image.
     
  11. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    77
    Will Universal RP be supported soon?
     
  12. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    In Scriptable Render Pipelines effects like these screen transitions need to be implemented as part of Post-Processing Stack which requires completely new set of shaders. I don’t have plans for this at the moment, sorry.
     
  13. manurocker95

    manurocker95

    Joined:
    Jun 14, 2016
    Posts:
    210
    Is there anyway to use this with UI? I need animation effects with the UI included...

    Edit: I meant with canvas overlay or at least multicamera. Just saw in the documentaton it is not supported as you cannot use the pp render image after UI painting.
     
    Last edited: Dec 8, 2019
  14. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    It works with UI but only if canvas render mode set to “Screen Space - Camera” or “World Space”. It also works with multicamera setup where 1 camera dedicated to render UI. Just make sure that UI camera has Screen Transition component attached.
     
  15. pvalium

    pvalium

    Joined:
    Oct 1, 2016
    Posts:
    29
    Hi, congrats for your asset.
    I think that in the near future all projects will use lwrp. Is it definitive that this asset will never be compatible?
     
  16. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    I haven’t tried to write shaders for post-processing stack yet. I think when LWRP will become more popular than default one, I will force myself to add compatible shaders.
     
  17. Bubsavvy

    Bubsavvy

    Joined:
    Sep 18, 2017
    Posts:
    48
    Hey @Torchinsky,

    Our team really loves using your tool. It has been very useful for our transitions between two parts of one scene. I was wondering if it would be possible to allow us to specify which camera is used by the screen transitions? I think it would be useful particularly for focus transitions. Not only would we be able to specify which camera to use we also have the benefit of being able to place the transition components virtually anywhere in the hierarchy. For Instance, in our case each transition would be placed on our trigger volumes that are used to control the teleportation mechanism for going from one part of a scene to another. The easiest way i see of doing this is implement IScreenTransition instead as an abstract class and have the transitions inherit from it while also providing a public reference to any camera.

    Edit
    Never mind i just now realized OnRenderImage is specific to the Camera itself. Its a shame unity doesn't open up a delegate for use. The only thing I see that can be done is manage the delegate ourselves, but i'm sure you might not want to go that route because it would require people to call the delegate from OnRenderImage in a script attached to the camera... Not Ideal... What i mean is something like the below possibly?

    Code (CSharp):
    1. // Attach this to a camera
    2. public class ScreenTransitionManager : MonoBehaviour
    3. {
    4.     public delegate void RenderImageDelagate(RenderTexture source, RenderTexture destination);
    5.     public RenderImageDelagate RenderImageHandler;
    6.  
    7.     private void OnRenderImage(RenderTexture source, RenderTexture destination)
    8.     {
    9.         RenderImageHandler(source, destination);
    10.     }
    11. }
    12.  
    13. public abstract class IScreenTransition : MonoBehaviour
    14. {
    15.     public ScreenTransitionManager targetManager;
    16. }
    17.  
    18. public abstract class ScreenTransitionFade : IScreenTransition
    19. {
    20.  
    21.     public void Awake()
    22.     {
    23.         targetManager.RenderImageHandler += OnRenderImage;
    24.     }
    25.  
    26.     private void OnRenderImage(RenderTexture source, RenderTexture destination)
    27.     {
    28.        
    29.     }
    30. }
    Thoughts?

    Thanks,
    Bubsavvy
     
    Last edited: Jan 14, 2020
  18. Nitrox32

    Nitrox32

    Joined:
    May 9, 2017
    Posts:
    161
    I'm looking to set up a UI button that when clicked the screen will fade out and load a new scene upon which the new scene will fade in. I have all of my scenes set up with a simple fade to black and they work fine in the editor when I select Transitioning and move the cutoff slider. My script that loads the new scene works fine as well. I added the script example in the documentation to my load script and trigger it through an on click event. When I go to click the button to change scenes I get the following error:

    NullReferenceException: Object reference not set to an instance of an object
    PopTheBubble.PTBLoadLevel+<FadeOut>d__6.MoveNext () (at Assets/RhythmPopAssets/Scripts/PTBLoadLevel.cs:40)
    UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Scripting/Coroutines.cs:17)
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    PopTheBubble.PTBLoadLevel:Fade() (at Assets/RhythmPopAssets/Scripts/PTBLoadLevel.cs:35)
    UnityEngine.EventSystems.EventSystem:Update()

    Here's the code:

    Code (CSharp):
    1.    public ScreenTransitionFade _transition;
    2.  
    3.         private void Start()
    4.         {
    5.             _transition = GetComponent<ScreenTransitionFade>();        
    6.         }
    7.  
    8.         public void Fade()
    9.         {
    10.             StartCoroutine(FadeOut());
    11.         }
    12.  
    13.         IEnumerator FadeOut()
    14.         {
    15.             _transition.transitioning = true;
    16.                 while (_transition.cutoff < 1f)
    17.             {
    18.                 _transition.cutoff += Time.deltaTime;
    19.                 yield return 0;
    20.             }
    21.         }
    Keep in mind I'm not much of a coder but the example provided seemed simple enough.
     
  19. DanTaylor

    DanTaylor

    Joined:
    Jul 6, 2013
    Posts:
    119
    Hello there! We're using this great asset in our next game (The Captain is Dead). It is working super well... but with one minor weirdness that I can't seem to fix.

    I have a simple transition, using the supplied radial transition texture and a renderTexture to switch between cameras.
    It works perfectly in the editor - nice!
    However, when I build, the render texture is not used, that is to say that it works as if using a colour (black) instead of the texture...

    In Editor:


    In Game:


    I'm using the same render texture with no issue in a targeted transition... so I'm not sure what to do to fix it. Any ideas?
     
  20. Torchinsky

    Torchinsky

    Joined:
    Feb 8, 2014
    Posts:
    17
    Hi! Could you please provide more details? Which Unity version do you use, for which platform, camera setup, etc. So I will try to reproduce it hopefully find a solution.
     
  21. DanTaylor

    DanTaylor

    Joined:
    Jul 6, 2013
    Posts:
    119
    Of course!
    Unity Version: 2019.2.17f1
    Platform: PC (Windows 10)
    Camera Set-up (NOTE: render texture not yet applied in this shot!):
     
  22. DanTaylor

    DanTaylor

    Joined:
    Jul 6, 2013
    Posts:
    119
    Any update on this? I'd love to get it fixed. :D
     
  23. vfmireles

    vfmireles

    Joined:
    Sep 6, 2017
    Posts:
    1
    Hello,
    I have implemented the TransitionSingleFocusNoise transition for a PC and Adroid mobile game. It works fine when played in PC build, but once i played in Android, the transition does not work. What can i do? Thanks