本来是想一个只投下影子的shader的,不需要fallback,然后发现去掉就不正常了,然后直接使用fallback里的也不能有正确结果

就想到了fallback与shader有着联系,而不仅仅是一个看上去的备胎

官网的解释是

After all Subshaders a Fallback can be defined. It basically says “if none of subshaders can run on this hardware, try using the ones from another shader”.

也就是说所有shader都不能运行的时候运行这个shader

但是对某些shader来说并不是这样

比如http://docs.unity3d.com/Manual/SL-SurfaceShaderExamples.html

  Shader "Example/Diffuse Simple" {SubShader {Tags { "RenderType" = "Opaque" }CGPROGRAM#pragma surface surf Lambertstruct Input {float4 color : COLOR;};void surf (Input IN, inout SurfaceOutput o) {o.Albedo = 1;}ENDCG}Fallback "Diffuse"}

如果把

//Fallback "Diffuse"

注释掉(或者Fallback off)

就会发现影子没有(前提是让场景中有投影)

这是因为unity在表面着色器上有个机制,就是投影是单独的系统(大概是这样),如果你没有被称为"ShadowCaster" 或者"ShadowCollector"的pass

而且没有fallback那么shader将不产生阴影,所以你需要至少用Fallback进来Diffuse 或者 VertexLit(Diffuse实际上包含了VertexLit)来保证表面着色器能自动生成投影的pass

所以这里的Fallback并不是备胎,而是必要的保存投影的方式

当然投影的方式你也能自己写

参考http://docs.unity3d.com/Manual/SL-SurfaceShaders.html

http://docs.unity3d.com/Manual/SL-SurfaceShaders.html

是从这里得到的提示http://forum.unity3d.com/threads/fallback-off-turns-off-shadows-in-surface-shader.257430/

unity关于shader投影 Fallback实际上并不是备胎相关推荐

  1. 【Unity3D Shader编程】之五 圣诞夜篇 Unity中Shader的三种形态对比 混合操作合辑

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  2. Unity之Shader

    Shader基础 1. Shader其实就是专门用来渲染图形的一种技术,通过shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果. 2. Shader编程语言: 基于OpenGL的 ...

  3. Unity编写Shader内置各种矩阵和方法介绍

    返回目录 大家好,我是阿赵. 这里记录一下Unity编写Shader内置各种矩阵和方法 一.Unity内置转换矩阵 1.MVP类矩阵 UNITY_MATRIX_MVP:Current model * ...

  4. Unity学习shader笔记[一百]简单焦散Caustic效果

    焦散是模仿光透过水底的一个投影景象 有两个版本,改版最后效果如下 这里是简单的基于物体的焦散,基于水体的焦散思路是水面物体的shader中拿到ColorBuffer,然后用水体的屏幕空间坐标取采集Co ...

  5. Unity之Shader基础探索

    Unity之Shader基础探索 一.什么是Shader? 1.Shader的开发语言 2.着色器用途 3.着色器的编辑 4.着色器性能分析工具 5.着色器编译 6.异步着色器的编译工作原理 7.内置 ...

  6. Unity 流光shader 记录分享

    Unity 流光shader 转载自:链接 Shader "Custom/DataFlowEffect" {Properties{_MainColor("Main Col ...

  7. Unity树叶shader

    Unity树叶shader 树叶贴图的RGB的G小于设定的颜色阈值的话将会被视为透明 Shader "ACP/tree" {Properties{_FrontTex("贴 ...

  8. 第一篇 初识庐山真面目 ——Unity 3D Shader(2)

    文章目录 第二章 Unity中的Shader(着色器)的形态 2.1 Unity通过ShaderLab来组织Shader 2.1.1 关键字 Shader 2.1.2 使用SubShader组织Sha ...

  9. Unity初学者Shader Graph教程

    Unity初学者Shader Graph教程 了解面向非程序员的 Unity 引擎可视化着色器编程工具的来龙去脉 课程英文名:Your Ultimate Guide to Shader Graph f ...

最新文章

  1. 分析与解决:MySQL分区表复制bug导致的主从延迟
  2. cad转shp 奥维_CAD转换工具程序包(附下载)
  3. Mysql date time formate
  4. OO第二单元作业总结
  5. 远控免杀专题(17)-Python-Rootkit免杀
  6. php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...
  7. 同步VS异步,阻塞VS非阻塞
  8. Redis的应用场景汇总
  9. Matlab Tricks(六)—— 矩阵乘法的实现
  10. 张亚勤新作《变革中的思索》谈高科技人才管理
  11. 开源实战 | 手把手教你在 Azure 上畅享 SAP、SUSE全套解决方案
  12. matlab三相仿真电路实验视频,三相逆变电路MATLAB仿真
  13. 新浪云存储 php,新浪云存储SCS | SDK
  14. 使用adb工具向android设备上传/下载文件
  15. 怎么创建自己的网站?创建自己网站的步骤
  16. 渐变背景怎么搞?2分钟教你制作渐变背景
  17. 51单片机实验 7段数码管静态显示数字
  18. 利用adb卸载手机预装软件(系统软件)
  19. OAuth 2.0设计(以微信登录为例)
  20. 安装python解释器的时候遇到user installations are disabled via policy on the machine”

热门文章

  1. Windows10下安装配置Maven
  2. 这些年来什么才是最好的投资?
  3. CheckBox双击带来的烦恼
  4. Pixel修改kernel内核调试
  5. 递推最小二乘估计Matlab仿真
  6. 【BlazePose】《BlazePose: On-device Real-time Body Pose tracking》
  7. 运用瀑布模型完成PL/SQL程序设计
  8. 大厂没有方法论(下)
  9. 图鉴:《100名互联网公司老板采访实录》
  10. 排位赛1-A Cow Gymnastics