title: Unity UI mask does not work on children with different Canvas component and particles
body: <p>The UI's structure are as follows:</p>
  <pre><code>--Canvas C (Render mode: Screen Space - Camera; sorting layer is s1)    
  ----Image A (with a UI Mask; it's a viewport in a `ScrollView`)    
  ------Particle P (Particles Effect, Renderer's Sorting Layer s2 is above s1)    
  ------Image B (with Canvas Component, Sorting Layer s3 is above s2)
  </code></pre>
  <p>The UI mask on A does not work on P and B. How can I make it work?</p>
  <p>A custom UI mask shader that work with different <code>Canvas</code> component, sorting layers, and non-UI children(<code>Particles</code>) would be a perfect solution. However my knowledge about shader is very basic. I would like to know what direction or keywords should I look for. Thanks!</p>