原理:使用Render Texture作为贴图,贴到镜子上

Shader "Mirror"
{Properties{_MainTex ("Texture", 2D) = "white" {}}SubShader{Tags { "RenderType"="Opaque" }LOD 100Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.uv, _MainTex);o.uv.x = 1 - o.uv.x;UNITY_TRANSFER_FOG(o,o.vertex);return o;}fixed4 frag (v2f i) : SV_Target{// sample the texturefixed4 col = tex2D(_MainTex, i.uv);// apply fogUNITY_APPLY_FOG(i.fogCoord, col);return col;}ENDCG}}
}

效果:

Unity Shader镜面效果相关推荐

  1. 【Unity Shader】用Cubemap实现天空盒和环境映射

    1 关于Cubemap Cubemap在实时渲染中有很多应用,最常见的就是实现天空盒(Skybox)和环境映射(Environment Mapping). 2 实现天空盒 2.1 实现原理 天空盒不陌 ...

  2. Unity Shader - 实现类似镜面反射、水面扰动效果

    前几天,家里出了一些问题,搞得心情很不好,面试我也取消了. 唉,反正那个伤心啊,不过,昨天处理好了. 所以说啊,家和万事兴. 加油加油!!! 所以心情好了,我又写博客了. 另外说一下:图形我今年201 ...

  3. Unity Shader 阴影

    最近在看Unity shader开发实战详解,刚开始看阴影部分,稍微有了点思路.在这里写点笔记,算是小结吧. .阴影实现方法 一种是通过模拟光照的原理,用向量的方法 找到被光线照射的点 映射到平面的位 ...

  4. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

    转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

  5. Unity shader学习之屏幕后期处理效果之高斯模糊

    高斯模糊,见 百度百科. 也使用卷积来实现,每个卷积元素的公式为: 其中б是标准方差,一般取值为1. x和y分别对应当前位置到卷积中心的整数距离. 由于需要对高斯核中的权重进行归一化,即使所有权重相加 ...

  6. Unity Shader着色器优化

    对游戏开发者而言,着色器长久以来就是游戏开发中的重要部分,在Unity中编写并实现着色器的过程直观且高效,优秀的着色器还可以创造非常精美的游戏画面,同时保证极高的性能.今天将由Unity的技术工程师张 ...

  7. vs unity shader插件_一些Shader资料

    [Unity Shader] 常用的数值类型和语义 unity shader编辑器语法高亮插件 Unity Shader-法线贴图(Normal)及其原理 Unity 提供的CG/HLSL语义 (se ...

  8. Unity Shader 序列帧动画

    shader中的序列帧动画属于纹理动画中的一种,主要原理是将给定的纹理进行等分,再根据时间的变化循环播放等分中的一部分. Unity Shader 内置时间变量 名称 类型 描述 _Time floa ...

  9. qnetworkreply 获取状态_谈谈Unity Shader中的采样器状态和(Texture Filtering)纹理滤波方式

    参考文章: 使用采样器状态 - Unity 手册​docs.unity3d.comhttps://blog.csdn.net/chenjinxian_3D/article/details/518169 ...

最新文章

  1. 刷算法的时候有没有必要自写测试用例?
  2. 新学C++的for,switch和随机数
  3. 【数据分析实例】6000 条倒闭企业数据分析
  4. js list删除指定元素_删除js数组中的指定元素,有这两步就够了
  5. WIN7 Wireshark: There are no interfaces on which a capture can be done
  6. 将dll制作成控件_案例丨首例将影视作品制作成网络图片集被判侵权案 二审维持原判...
  7. 【github】命令和错误小结
  8. 使用JNI加载JAVA虚拟机
  9. 使用批处理文件,自动设置计算机IP地址
  10. Xshell的安装及使用超详细教程
  11. mac homebrew加速
  12. Windows2008 R2配置FTP教程
  13. 一个软件项目的成本构成及评估方法
  14. GitHub哔哩哔哩(bilibili)高清视频下载
  15. 抽水马桶工作原理演示
  16. 微信公众号历史消息栏设置
  17. [2022]最新·GS游享环境-天龙八部服务器环境安装V2版本+视频教程
  18. 研发人员在公司内部调岗会发生哪些事情?
  19. 【SpringBoot入门】SpringBoot的配置
  20. 如何高效过滤游戏中的敏感词?

热门文章

  1. 基于JSP实现网上招聘系统
  2. h5棋牌房间如何安装 现在分享一套搭建教程
  3. MapGIS二次开发 I 高频问题分享
  4. 洛谷-P1157 组合的输出
  5. 数据结构与算法 迷宫夺宝 C语言
  6. 再厚的马赛克都能被扒干净?这款开源「去码」神器火了
  7. Python游戏开发-04-键盘方向键控制精灵移动和翻转(基于Python游戏开发-01)
  8. 计算机软件怎么登记,流程怎么走
  9. jeecgboot前端自定义组件、JgEditable Table行编辑表格
  10. matlab ‘MarkerSize‘ ,x 转换成mm