

I'm going to reach out to the developer about this and see if he has any ideas.Ĭurved UI logged quite a few warnings to the console as I was using it about UI elements outside of the canvas' rect. I have tried using the curvedUISettings.SetAllChildrenDirty() method but this doesn't appear to fix the issue. I'm speculating but I believe this is due to CurvedUI waiting a frame before calculating the updated curvature. There appears to be one frame in which the canvases are for some reason not curved correctly during this type of animation. You might notice in the video that there appears to be a one-frame flicker just as the sideways transition begins, but not the slide-up transition. So for example, animating a canvas up & down with a Cylinder curve wouldn't have this issue, but animating left-to-right would. Perhaps worth noting, this is only an issue if you're animating on the curved axis. By deselecting Preserve Aspect you're ensuring that the curved canvas fills the rect, so the mask behaves correctly. Looking in the Scene view you can see it is because the rect is being clipped according to its 2D rect. This is illustrated below - with Preserve Aspect enabled you can see in the Game view how the canvas exceeds the boundaries as it animates sideways off screen. I had to deselect Preserve Aspect on the CurvedUISettings component to ensure correct masking of the canvases during some types of transition animations. Therefore, I added the following callbacks to the Storyboard's events to add the CurvedUIVerte圎ffect on presentation:ĭeselect Preserve Aspect on the CurvedUISettings

STORYBOARD QUICK GAME CONTROLLER UPDATE
(I'm guessing the asset is doing something in an editor update function with regards to adding CurvedUIVerte圎ffect components, hence why it works when its selected.) This is because any dynamically instantiated objects need to have a CurvedUIVerte圎ffect added to them ( CurvedUI docs), and Canvas Flow dynamically instantiates your screens. You'll notice that if you deselect the CurvedUISettings game object in the editor (or make a build) and run the scene, Curved UI won't work.

By only adding a single CurvedUISettings component, I was also able to avoid the issue described of CurvedUI's collider blocking input (as there is only one for the whole container now).Īdd CurvedUIVerte圎ffect components to new canvases.I was able to add curvature to the World Space Example using a single CurvedUISettings component on the world space container canvas, instead of adding one to each screen individually.I suppose the TLDR is that Canvas Flow mostly works with CurvedUI in world-space but there are some issues I'd like to iron out. Let me know if you have any questions/suggestions/feedback.Ĭlick to expand.That's awesome, thanks from me too for figuring that out also bought the Curved UI asset to have a bit of a test with this. This allows you to simply call PresentCanvasController and know that it'll work in either presentation space. Calls to PresentCanvasController are now context/space aware – that is, if being presented from a canvas in world space, a canvas will be presented in world space if being presented from a canvas in screen space, a canvas will be presented in screen space.The PresentInitialCanvasController method now optionally takes a world space container, allowing you to present world space UI flows from script when not using storyboards. Canvas controllers can be presented in world space from script, too.You don't need to make any changes to the storyboard or its canvas controllers to present in world space you just set the presentation space before you present it.

Storyboards can now be presented in either screen space or world space.
