unity关于shader投影 Fallback实际上并不是备胎
本来是想一个只投下影子的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实际上并不是备胎相关推荐
- 【Unity3D Shader编程】之五 圣诞夜篇 Unity中Shader的三种形态对比 混合操作合辑
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...
- Unity之Shader
Shader基础 1. Shader其实就是专门用来渲染图形的一种技术,通过shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果. 2. Shader编程语言: 基于OpenGL的 ...
- Unity编写Shader内置各种矩阵和方法介绍
返回目录 大家好,我是阿赵. 这里记录一下Unity编写Shader内置各种矩阵和方法 一.Unity内置转换矩阵 1.MVP类矩阵 UNITY_MATRIX_MVP:Current model * ...
- Unity学习shader笔记[一百]简单焦散Caustic效果
焦散是模仿光透过水底的一个投影景象 有两个版本,改版最后效果如下 这里是简单的基于物体的焦散,基于水体的焦散思路是水面物体的shader中拿到ColorBuffer,然后用水体的屏幕空间坐标取采集Co ...
- Unity之Shader基础探索
Unity之Shader基础探索 一.什么是Shader? 1.Shader的开发语言 2.着色器用途 3.着色器的编辑 4.着色器性能分析工具 5.着色器编译 6.异步着色器的编译工作原理 7.内置 ...
- Unity 流光shader 记录分享
Unity 流光shader 转载自:链接 Shader "Custom/DataFlowEffect" {Properties{_MainColor("Main Col ...
- Unity树叶shader
Unity树叶shader 树叶贴图的RGB的G小于设定的颜色阈值的话将会被视为透明 Shader "ACP/tree" {Properties{_FrontTex("贴 ...
- 第一篇 初识庐山真面目 ——Unity 3D Shader(2)
文章目录 第二章 Unity中的Shader(着色器)的形态 2.1 Unity通过ShaderLab来组织Shader 2.1.1 关键字 Shader 2.1.2 使用SubShader组织Sha ...
- Unity初学者Shader Graph教程
Unity初学者Shader Graph教程 了解面向非程序员的 Unity 引擎可视化着色器编程工具的来龙去脉 课程英文名:Your Ultimate Guide to Shader Graph f ...
最新文章
- 分析与解决:MySQL分区表复制bug导致的主从延迟
- cad转shp 奥维_CAD转换工具程序包(附下载)
- Mysql date time formate
- OO第二单元作业总结
- 远控免杀专题(17)-Python-Rootkit免杀
- php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...
- 同步VS异步,阻塞VS非阻塞
- Redis的应用场景汇总
- Matlab Tricks(六)—— 矩阵乘法的实现
- 张亚勤新作《变革中的思索》谈高科技人才管理
- 开源实战 | 手把手教你在 Azure 上畅享 SAP、SUSE全套解决方案
- matlab三相仿真电路实验视频,三相逆变电路MATLAB仿真
- 新浪云存储 php,新浪云存储SCS | SDK
- 使用adb工具向android设备上传/下载文件
- 怎么创建自己的网站?创建自己网站的步骤
- 渐变背景怎么搞?2分钟教你制作渐变背景
- 51单片机实验 7段数码管静态显示数字
- 利用adb卸载手机预装软件(系统软件)
- OAuth 2.0设计(以微信登录为例)
- 安装python解释器的时候遇到user installations are disabled via policy on the machine”