起因是,公司做一个汽车相关的东西,然后要做一个后视镜,然后吧,我又很菜,不会写shader,就百度了一个B站的做后视镜的视频,然后照着视频一点点把shader敲了出来。

然后,重点来了!!!
有同事发现,后视镜外面有黑色的去除不掉。如下图:

这就麻烦了啊,本来我就不会shader,网上抄的又不能直接用,我又不会改,直接麻瓜。

不过还好功夫不负有心人,让我找到一个能直接用的shader,哈哈哈,和网上抄的那个shader用法一样。

**

上Shader

**

Shader "Custom/Mask" {Properties {_MainTex ("Base (RGB)", 2D) = "white" {}//目标图片,即需要被遮罩的图片_MaskLayer("Culling Mask",2D) = "white"{}//混合的图片,设置为白色的图片,任何颜色与白色混合,其颜色不变_Cutoff("Alpha cutoff",Range(0,1)) = 0}SubShader {Tags { "Queue"="Transparent" }//渲染队列设置为 以从后往前的顺序渲染透明物体Lighting off //关闭光照ZWrite off //关闭深度缓存Blend off //关闭混合AlphaTest GEqual[_Cutoff] //启用alpha测试Pass{SetTexture[_MaskLayer]{combine texture}//混合贴图//混合贴图,previous为放置在前一序列这样在进行AlphaTest的时候会以这个图片为主来进行混合SetTexture[_MainTex]{combine texture,previous}} }
}


一个主图片,一个遮罩图片。

**

效果成品

**

注意:如果发现后视镜和模型近的时候,Render Texture看不到内容, 把Shader里面的深度缓存注释掉。

以上内容只是把不该显示的内容过滤掉了,但是内容方向还是不对,如果要做后视镜还得把内容反转一下。
用下面这个shader,之前也是没有注意。。。 现在再补个shader

 Shader "Custom/ImageMask"
{Properties{_MainTex ("MainTex", 2D) = "white" {}_MaskTex ("MaskTex", 2D) = "white" {}[HideInInspector]_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5_StencilComp ("Stencil Comparison", Float) = 8_Stencil ("Stencil ID", Float) = 0_StencilOp ("Stencil Operation", Float) = 0_StencilWriteMask ("Stencil Write Mask", Float) = 255_StencilReadMask ("Stencil Read Mask", Float) = 255_ColorMask ("Color Mask", Float) = 15}SubShader{Tags {"IgnoreProjector"="True""Queue"="Transparent""RenderType"="Transparent"}ColorMask [_ColorMask]Stencil{Ref [_Stencil]Comp [_StencilComp]Pass [_StencilOp]ReadMask [_StencilReadMask]WriteMask [_StencilWriteMask]}Pass{Name "FORWARD"Tags {"LightMode"="ForwardBase"}Blend SrcAlpha OneMinusSrcAlphaCGPROGRAM#pragma vertex vert#pragma fragment frag#define UNITY_PASS_FORWARDBASE#include "UnityCG.cginc"#pragma multi_compile_fwdbase#pragma only_renderers d3d9 d3d11 glcore gles#pragma target 3.0uniform sampler2D _MainTex;uniform sampler2D _MaskTex;uniform float4 _MainTex_ST;uniform float4 _MaskTex_ST;struct a2v{float4 pos : POSITION;float2 uv : TEXCOORD0;};struct v2f{float4 svpos : SV_POSITION;float2 svuv : TEXCOORD0;};v2f vert(a2v i){v2f o;o.svpos = UnityObjectToClipPos(i.pos);o.svuv = i.uv;return o;}float4 frag(v2f i) : COLOR{float2 offset = i.svuv;offset.x = 1 - i.svuv.x;float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(offset,_MainTex));float3 finalColor = _MainTex_var.rgb;float4 _MaskTex_var = tex2D(_MaskTex,TRANSFORM_TEX(i.svuv,_MaskTex));return fixed4(finalColor,_MaskTex_var.a);}ENDCG}}FallBack "Diffuse"
}

用这个shader刚好可以满足后视镜的需求。
最终效果图:

Unity 制作汽车后视镜相关推荐

  1. Unity制作2D动作平台游戏视频教程

    Metroidvania工具包:打造统一的2D行动平台 流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确 ...

  2. Unity制作游戏中的场景

    Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...

  3. arkit unity_凯蒂猫! 如何使用ARKit和Unity制作增强现实应用程序。

    arkit unity by Francesco Pallotta 由Francesco Pallotta 凯蒂猫! 如何使用ARKit和Unity制作增强现实应用程序. (Hello, Kitty! ...

  4. unity 制作书本 翻页效果

    unity 制作书籍翻页效果 unity C# 翻书效果 2D 真实翻页 不使用插件 自制 实现思路: 将书本分为两边,一边一个翻页实现: 下图为书本的右面,以OA为分界线,△OAB是下一面的如上图的 ...

  5. Unity 制作简单的任务动画

    Unity 制作简单的任务动画 1.添加人物模型到unity 我使用的是unity store中的免费模型: https://assetstore.unity.com/packages/3d/char ...

  6. Unity 制作萌系live2d桌宠:屏幕自适应+交互

    目录 准备工作 使用unity显示live2d人物 全屏+背景透明+点击穿透+置顶 屏幕自适应 交互 本文在之前的博客如何使用unity制作萌萌的live2d桌宠的基础上对项目继续改进,解决了屏幕自适 ...

  7. Unity制作格斗游戏核心思路总结

    http://anchorart9.com/2016/05/22/unity%E5%88%B6%E4%BD%9C%E6%A0%BC%E6%96%97%E6%B8%B8%E6%88%8F%E6%A0%B ...

  8. 用 Wwise 和 Unity 制作 DLC 使用 Wwise 文件包(File Package)

    用 Wwise 和 Unity 制作 DLC 使用 Wwise 文件包(File Package) https://www.audiokinetic.com/zh/library/edge/?sour ...

  9. unity 制作的app发布到andriod手机

    一,unity 制作一个简单的动画. 1.场景中添加一个立方体. 2.立方体上面添加一个胶囊形状,胶囊形状添加重力属性,运行的时候往下落. 3.制作完成,保存工程,名字为"t1". ...

最新文章

  1. Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑
  2. gl.getAttribLocation P41 获取name参数指定的attribute变量存储地址
  3. Coursera吴恩达《卷积神经网络》课程笔记(4)-- 人脸识别与神经风格迁移
  4. 丑数 Humble Numbers
  5. python输入两个正整数m和n用for循环求其最大公约数_输入两个正整数,m和n,求其最大公约数和最小公倍数。...
  6. laravel数据库相关操作
  7. 数据挖掘肿瘤预测_喜欢临床预测模型|SEER数据挖掘的期刊有哪些
  8. jQuery formValidator表单验证插件4.1.1提供下载
  9. Android 性能优化探究
  10. Asp.net 2.0在Windows 2003 Server 上配置Microsoft Excel、Microsoft Word应用程序权限时 error: 8000401a 的解决方法!...
  11. spring注解原理
  12. 【Multisim】认识与使用
  13. python爬虫国内外研究现状
  14. html a标签 alt,A标签、IMG标签、ALT属性详解
  15. android 程序到手机,安卓手机怎么从电脑安装应用到手机
  16. uniapp API 第三方服务
  17. [PS视频][ps从入门到精通82课][mp4/327M]
  18. 129.精读《React Conf 2019 - Day2》
  19. 职业发展--优势和性格测试
  20. java利用jacob实现word,ppt,excel,jpg转pdf

热门文章

  1. Ubuntu 有哪些发行版本,及各版本名称及代号
  2. 【USACO TRAINING】母亲的牛奶(洛谷1215题)
  3. iTunes备份文件在哪?如何改变默认备份文件目录?答案都在这了
  4. 过度拟合 Over fitting
  5. 社会工程学收集信息要求参考
  6. librosa音频处理教程
  7. bui ajax,BUI 控件用法
  8. mysql之列属性篇四之 —— 主键(primary key)
  9. synchronized实现和原理分析
  10. NFS启动根文件系统