どのように作物のUI上のUGUIが影響

  誰かに走ったが、我々は、正しく一般的にはUIは、適切にそれをカットすることはできますが、ない簡単なので、必要があるシェーダテンプレートテンプレート模倣道のパーティクルエフェクトを追加するための最初の考えをマスクトリミング方法パーティクル効果を置くためにとUI尋ねではないとし、マスクでUI UIマスクなしで比較して、その材料の設定は、材料に修正マスクを確認されているコンポーネントと言うことですつまり、同じではありませんが、一般的にUIを参照すると、コンポーネントということです子ノード内のすべてのオブジェクトを収集し、その後、材料はそれが自動的に切断を制御することができ、変更する変更することができます。

  調べるには、ここで少しテストを実行します。

1. UI /コードの上にデフォルトとまったく同じ建てから直接コピーUIシェーダを作成します。

 

ScrollViewを作成し、デフォルトの画像を追加し、クワッド材料の利用MYIMAGEを追加2. 

  画像を見る普通の材料が変更されました

 

  材料としてクワッド普通の効果が変更されません

 

3.私たちは、継承がどのような影響MaskableGraphicルックアップに追加した後というクラスを作成します

使用してUnityEngineを。
使用してUnityEngine.UIを。

【ExecuteInEditMode] 
パブリック クラスMyUI:MaskableGraphic 
{ 
}

  長い間、それはMaskableGraphicマスクを継承するとして発見され、その後、材料を切るように設定されます。しかし、これはモデルのレンダリングを完全にクワッドれている参照してくださいに何も言っていません...

 

--------------------------------------------------------------------------------------------------------------------------

  引擎提供的方法就比较简单了, 只要加一个 Sprite Mask, 外加粒子渲染器中选上 Masking 选项即可. 不过由于使用上的原因, UI 系统就只能使用相机渲染模式了, 因为 Overlay 模式不能控制显示对象, 粒子系统就无法被显示出来.

1. 添加 Sprite Mask 

2. 粒子效果打开 Masking, 让它在 Mask 范围内显示 

  这样就能在 Sprite Mask 范围内显示了, 不过官方提供的方法如果越简单, 出问题的几率就越大, 果然, 如果有多个 Sprite Mask 的话, 它们之间即使没有层级关系, 也是会穿插的...

  同一个层级的两个 Mask, 两个粒子发射器发射不同颜色的球, 结果粒子能在另一个 Sprite Mask 中显示出来...

おすすめ

転載: www.cnblogs.com/tiancaiwrk/p/12091637.html