大概步骤如下:
1 分层渲染,建立Mask蒙版层。
2 河流设置为Mask层。
3 建立Mask Camera,只渲染Mask蒙版层
4 创建脚本MatchScreenRenderTexture,创建与窗口匹配的RenderTexture,令Mask Camera渲染到该RenderTexture中。
5 创衡游建脚本MaskScript,建立一个MaskShader(类似于全屏特效),令MaskCamera渲染的颜色部分背景部分透明变成不透明,即反转Alpha。
6 建立磨敏UI Image。设置Image为窗口大小,设置使用MatchScreenRenderTexture中的蒙版纹理。
7 添加Mask组件,令Image遮罩住船精灵的部瞎拦枝分。
ImageEffect MaskScript:
[csharp] view plain copy
using UnityEngine
using System.Collections
[ExecuteInEditMode]
背景画布,子画面和前景画布,并且背景画布应位于所有东西(包括子画面)的后面。
想法是首先使用一台摄像机仅渲染背景,然后使用另一台摄像机渲染所有东西。
为此,应该:
为背景画布添加一个图层。将背景画布层和子级更改为该层。
要添加层,请选择任何gameObject,然后在检查器的顶部看到:单击标记为“层”的下拉列表,然后选择“添加层”。
然后创建新图层并为其命名:选择背景画布,并为其及其子级更改图层。 添加游戏对象时,请记住,如果将它们添加到背景画布中,则它们的层必须与画布层相同,否则它们将被错误的相机渲染。
在主相机的剔除蒙版中禁用该图层。
现在,相机不应再呈现背景用户界面,它将在游戏视图中消失。
添加用于渲染背景用户界面的摄像头。
深度较高的摄像机会在深度较小的摄像机的顶部渲染,因此我们应将其深度设置为小于主摄像机的深度。我们还应该将其剔除蒙版设置为仅用于背景UI的图层,否则场景顷吵中的所有对象将被渲染两次。 从主摄像机复制其他设置。 将主摄像机的清除模式设置为“不清仔运除或仅深度” ,以防止其擦除背景。
将背景画布的模式设置为“屏幕空间-相雀戚侍机”,然后将新创建的相机拖到此处的“渲染相机”字段中。
你可以先随便创建一个NGUI控件,然后就会自动生成uicamera,然庆闷后再uicamera的码差键核心组件那,右迟巧键选择copy component,然后到主摄像机,右键paste component as new 就添加好了欢迎分享,转载请注明来源:内存溢出
评论列表(0条)