35.高级纹理-渲染纹理-镜面效果-原理和准备工作
35.1 知识点
镜面效果原理
镜面效果的原理是将摄像机看到的画面渲染到渲染纹理中,再在Shader中利用该渲染纹理进行翻转渲染。
镜面效果准备工作
- 创建测试场景
- 创建一个摄像机来得到镜子看到的画面
- 创建一个 Custom Render Texture,并将其与摄像机关联
自定义渲染纹理参数
Dimension:渲染纹理的维度
- 2D:2D纹理
- 2D Array:2D数组纹理
- Cube:立方体纹理
- 3D:3D纹理
Size:像素尺寸
Anti-aliasing:抗锯齿效果
抗锯齿级别越高,效果越好。
Enable Compatible Format:是否启用兼容格式
启用该选项可以避免由于特定硬件或驱动程序不支持某些格式而引发渲染问题。
Color Format:渲染纹理格式
Depth Stencil Format:深度模板格式
Enable Mip Maps:是否允许渲染纹理使用 Mipmap
Dynamic Scaling:动态缩放
启用此选项可使渲染纹理根据显示分辨率或其他条件动态调整大小,从而优化性能,特别是在高分辨率显示设备上。
Random Write:随机写入
允许在计算着色器(Compute Shader)或其他GPU程序中进行随机写操作,适用于需要进行复杂计算或并行处理的任务,如粒子系统、流体模拟等。
Wrap Mode:纹理平铺模式
- Repeat:重复自身
- Clamp:拉伸纹理边缘
- Mirror:镜像
- Mirror Once:首次镜像
- Per-axis:UV指定轴向
Filter Mode:拉伸时的过滤模式
- Point:块状过滤
- Bilinear:模糊过滤
- Trilinear:类似Bilinear,但纹理也在不同Mip级别之间进行过滤
Shadow Sampling Mode:阴影采样模式
主要用于处理自定义渲染纹理在阴影计算中的采样模式
- None:不使用阴影采样模式,渲染纹理不会用于阴影贴图采样
- Compare Depths:使用深度比较进行阴影采样,通常用于标准阴影映射技术
Material:自定义纹理材质
Initialization Mode:初始化纹理频率
- OnLoad:创建时初始化一次
- Realtime:每帧初始化纹理
- OnDemand:通过脚本按需初始化纹理
Source:纹理初始化方式
- Texture and Color:通过叠加颜色来初始化纹理
- Material:使用材质初始化纹理
Update Mode:自定义渲染纹理的更新频率
Double Buffered:双缓冲技术
启用双缓冲可以提升性能和稳定性。双缓冲技术通过交替使用两个缓冲区来存储和处理数据,减少直接读写同一缓冲区引起的竞争和冲突。
Wrap Update Zones:环绕更新区域
控制更新区域的环绕方式;对于处理需要特定边缘处理或重复性内容的渲染效果非常有用。
Update Zone Space:纹理坐标更新方式
用于控制纹理坐标更新方式的选项。它主要影响如何在Shader中处理纹理坐标,特别是在对应于动态纹理的情况下
35.2 知识点代码
Lesson35_高级纹理_渲染纹理_镜面效果_原理和准备工作.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson35_高级纹理_渲染纹理_镜面效果_原理和准备工作 : MonoBehaviour
{
void Start()
{
#region 知识点一 镜面效果原理
//镜面效果的原理
//就是将摄像机看到的画面渲染到渲染纹理当中
//再在Shader中利用该渲染纹理进行翻转渲染即可
#endregion
#region 知识点二 镜面效果准备工作
//1.创建测试场景
//2.创建一个摄像机用来得到镜子看到的画面
//3.创建Custom Render Texture 将其和摄像机关联
#endregion
#region 知识点三 自定义渲染纹理参数
#endregion
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com