shader镜子效果错误
shader镜子效果错误
今天实现了下Unity shader的镜子效果,但是离谱的是跟着书上敲出来的代码,放在书上提供的场景中效果是正常的,我自己搭的场景就出现了左右都会映射,而且一层接一层。可能解释地不太清楚,这里放上图图吧。
用书提供的场景赋予材质和shader的正常效果:
贴一下shader代码:
Shader "Unity Shaders Book/chapter10/Mirror"
{Properties{_MainTex ("Main Tex", 2D) = "white" {}}SubShader{Tags { "RenderType"="Opaque" "Queue"="Geometry" }LOD 100Pass{//Tags{"LightMode" = "ForwardBase"}CGPROGRAM#pragma vertex vert#pragma fragment frag//#pragma multi_compile_fwdbase//#include "UnityCG.cginc"//#include "Lighting.cginc"//#include "AutoLight.cginc"sampler2D _MainTex;//float4 _MainTex_ST;struct a2v{float4 vertex : POSITION; float3 texcoord : TEXCOORD0;};struct v2f{float4 pos : SV_POSITION;float2 uv : TEXCOORD0; }; v2f vert (a2v v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.uv = v.texcoord;o.uv.x = 1 - o.uv.x; //反转x分量的纹理坐标(因为镜子里显示的图像都是左右相反的)return o;}fixed4 frag (v2f i) : SV_Target{ return tex2D(_MainTex,i.uv);}ENDCG}}FallBack Off
}
Quad面片的设置:
设置的渲染纹理:
结果:
跟原场景又进行了对比,发现场景中的物体尺寸都不合适,并且,两个相机的摆放位置应该是相对的,主相机应该面对面片(Quad)的正面摆放,而我们之后创建的相机应该与面片的背面相对摆放。并且需要注意,我们在后面创建的那个相机并不能显示出镜子的效果,而是显出从镜子出发能观察到的场景,只有主摄像机才能有镜子效果。
最后放上我搭建场景的正确效果:
主相机显示画面:
副相机的显示画面:
shader镜子效果错误相关推荐
- Unity镜子效果的实现(无需镜子Shader)
Unity镜子效果制作教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...
- 【Unity Shader】渲染纹理实现镜子效果
1 基本概念 1.1 什么是渲染到纹理? 全称是Render To Texture,<入门精要>好像又把渲染目标纹理,即Render Target Texture也叫做RTT,但我认为&l ...
- shader入门精要读书笔记23 高级纹理-渲染纹理-镜子效果、玻璃效果
一.前言 现代GPU允许我们把整个三维场景目标渲染到一个中间缓冲中,即渲染目标纹理(RTT). 多重渲染目标(MRT),这种技术指的是GPU允许我们把场景同时渲染到多个渲染目标纹理中,而不再需要为每个 ...
- Android关于绘图中Shader 的效果(中级)
Android关于绘图中Shader 的效果(中级) 关于绘图中Shader 的效果 本人对API中Shaser的参数理解不够深刻 所以只能测试来看 效果一下就看出来了 Shader mShade=n ...
- android 图形平移 镜子效果 倒影效果
图形平移 setTranslate(1.5f,-10); 镜子效果 matrix.setScale(-1, 1); matrix.postTranslate(bmp.getWidth(),0); 倒影 ...
- [Unity Shader]凌波微步效果
[Unity Shader]凌波微步效果 相信很多人都看过天龙八部,里面的段誉有一个技能就是凌波微步:移动的时候人先到,衣角跟随其后.说白了就是移动时有一个残影跟着他.下面先看下最终效果 下面我们看如 ...
- Unity中用Shader实现镜子效果
做项目的时候要用到镜子,折腾了一下午,发现做镜子还是蛮快的,总结了一下网上的教程,大致有这么几种做法: 1.使用反射探针(Reflection Probe) 2.使用Render Texture 3. ...
- shader 玻璃效果
玻璃效果主要是折射效果的计算和反射效果的计算. 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的屏幕图像进行关于法线方向上的扭曲和偏移,以模 ...
- Unity Shader 玻璃效果
一个玻璃效果主要分为两个部分,一部分是折射效果的计算,另一部分则是反射.下面分类进行讨论: 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的 ...
最新文章
- 优达学城《DeepLearning》2-4:自编码器(无监督学习算法)
- 102页PPT,DeepMind强化学习最新进展,含图文、公式和代码
- 【原创】Kakfa utils源代码分析(二)
- 使用 EclEmma 来显示代码覆盖率
- 一分钟了解阿里云产品:对象存储OSS概述
- 【论文导读】浅谈胶囊网络与动态路由算法
- redis笔记_源码_双端链表list
- 4.5.1 条件语句
- java装饰者模式讲解视频教程_java装饰者模式介绍(图文教程)
- c语言如歌输出空字符,沈阳航空航天大学毕业设计(论文).doc
- 阿里终面:优秀的代码都是如何分层的?
- 华为平板 鸿蒙2.0,华为鸿蒙2.0支持型号有哪些
- 【UG NX MCD 机电一体化概念设计】UG NX MCD+PLCSIM Advanced联合仿真实例(二 )仿真序列
- N76E003替换STM8S003F3
- 计算机微信开发中期检查表,毕业论文(设计)-中期检查报告(范文)61页
- 电力拖动自动控制系统 华南理工大学期末重点 阮毅 长篇思维导图
- 怎么将两个PDF合并成一个?这里有三个小妙招分享给你
- Android 抽屉用法
- 台式电脑接路由器步骤_无线路由器连接台式电脑的方法
- 仿百度音乐html5,js仿百度音乐全选操作