View Issue Details

IDProjectCategoryView StatusLast Update
0003735NoesisGUIUnitypublic2024-10-26 00:16
Reporter[email protected] Assigned Tojsantos  
PrioritynormalSeveritymajor 
Status resolvedResolutionno change required 
Product Version3.2.4 
Summary0003735: ScrollView Doesn't Clip Items Properly
Description

The ScrollView should clip parts of an item by pixel, but instead it only clips items whose top and bottom are fully out of the frame. It can easily be seen by long rectangles. The incorrect behavior is shown below. Unity 2022.3.10

This is the related forum post: https://www.noesisengine.com/forums/viewtopic.php?p=17639#p17639

Steps To Reproduce

Use The following xaml in a Noesis View:

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<ScrollViewer HorizontalAlignment="Stretch" Height="400" CanContentScroll="False" >
  <ScrollViewer.Background>
      <SolidColorBrush Color="Black" />
  </ScrollViewer.Background>
  <StackPanel>
    <Rectangle Width="30" Height="1000" HorizontalAlignment="Left">
        <Rectangle.Fill>
            <RadialGradientBrush>
                <GradientStop Color="Yellow" Offset="0" />
                <GradientStop Color="Orange" Offset="0.5" />
                <GradientStop Color="Red" Offset="1" />
            </RadialGradientBrush>
        </Rectangle.Fill>
    </Rectangle>
    <Rectangle Width="30" Height="70" HorizontalAlignment="Right" Margin="0,0,30,0">
      <Rectangle.Fill>
          <RadialGradientBrush>
              <GradientStop Color="Yellow" Offset="0" />
              <GradientStop Color="Orange" Offset="0.5" />
              <GradientStop Color="Red" Offset="1" />
          </RadialGradientBrush>
      </Rectangle.Fill>
  </Rectangle>
</StackPanel>

</ScrollViewer>
</UserControl>

Attached Files
PlatformAny

Activities

jsantos

jsantos

2024-10-10 11:30

manager   ~0010009

This is happening because Injection Point is set to "After Post Processing" (the default is "Before Post Processing"). It seems that after post processing, Unity is discarding the stencil buffer and it is not longer available when rendering the UI.

If this was a mistake, changing the Injection Point to the default one will fix your problem. We should definitely warn in the editor about the risks of changing this property.

If you want to render UI after post-processing, you need to use camera-stacking:

https://www.noesisengine.com/docs/Gui.Core.Unity3DTutorial.html#universal-pipeline

jj@burst2flame.com

[email protected]

2024-10-26 00:05

reporter   ~0010065

What you suggested does work. Thanks for the help! I went with camera stacking to avoid having the post processing effect.

Issue History

Date Modified Username Field Change
2024-10-09 21:28 [email protected] New Issue
2024-10-09 21:28 [email protected] File Added: Screenshot 2024-10-03 151537.png
2024-10-09 21:28 [email protected] File Added: Scroll View Out of Bounds.rdc
2024-10-09 21:28 [email protected] File Added: Screenshot 2024-10-08 100301.png
2024-10-09 21:28 [email protected] File Added: Screenshot 2024-10-08 100236.png
2024-10-09 21:30 [email protected] Description Updated
2024-10-10 10:44 jsantos Assigned To => jsantos
2024-10-10 10:44 jsantos Status new => assigned
2024-10-10 11:30 jsantos Note Added: 0010009
2024-10-10 11:30 jsantos Status assigned => feedback
2024-10-26 00:05 [email protected] Note Added: 0010065
2024-10-26 00:05 [email protected] Status feedback => assigned
2024-10-26 00:16 jsantos Status assigned => resolved
2024-10-26 00:16 jsantos Resolution open => no change required
2025-10-10 13:29 jsantos Category Unity3D => Unity