Unity里vertexShader里压扁模型来实现比较low的阴影
只有阴影pass,请自行合并,需要指定高度,忽略深度检测,需要控制好排序,或者去掉忽略,视情况而定,最后我觉得还是shadowmap好
![](/assets/blank.gif)
![](/assets/blank.gif)
Shader "Custom/MeshShadow" {Properties {_ShadowOffset("ShadowOffset",vector) = (0,0,0,0)_ShadowHeight("ShadowHeight",float) = 0}SubShader {Tags { "RenderType"="Opaque" "Queue"="Transparent"}Pass{Name "MeshShadow"Tags {"LightMode" = "Always"}Blend One OneMinusSrcAlpha ZWrite Off ZTest AlwaysStencil {Ref 2Comp NotEqualPass Replace}CGPROGRAM#include "UnityCG.cginc"#pragma vertex vert#pragma fragment frag float4 _ShadowOffset;float _ShadowHeight;struct v2f {float4 pos : POSITION;float4 texcoord : TEXCOORD0;};v2f vert ( appdata_base v ){v2f o;float4x4 _RotMatrix = _Object2World;_RotMatrix[0][3] = 0;_RotMatrix[1][3] = 0;_RotMatrix[2][3] = 0;float3 tempPos = float3(_Object2World[0][3],_Object2World[1][3],_Object2World[2][3]);float4 vertexPos = mul(_RotMatrix,v.vertex);vertexPos.x += _ShadowOffset.x * vertexPos.y + _ShadowOffset.x;vertexPos.z += _ShadowOffset.y * vertexPos.y + _ShadowOffset.y;vertexPos.xyz += tempPos;vertexPos.y = _ShadowHeight;o.pos = mul(UNITY_MATRIX_VP, vertexPos);o.texcoord = v.texcoord;return o; }fixed4 frag(v2f i) :COLOR { return fixed4(0,0,0,0.3);}ENDCG}} }
View Code
转载于:https://www.cnblogs.com/sitt/p/5171317.html
Unity里vertexShader里压扁模型来实现比较low的阴影相关推荐
- Unity Shader 实现简单的压扁效果
有点累啊,一个CoverMap搞了一周多,还是太嫩了,还有好多东西等着我去学呢,今天就写个简单的东西吧--一个把模型压扁的效果,参考博客Unity Shader - 一些玩具Shader.话不多说,先 ...
- Unity Shader 之 简单实现物体被压扁(top顶点的逐渐与bottom顶点重合)的效果
Unity Shader 之 简单实现物体被压扁(top顶点的逐渐与bottom顶点重合)的效果 目录 Unity
- KNN和K-means的区别 为什么KNN算法里的K越小模型会越复杂? 过拟合和欠拟合的偏差和方差问题
这里将这三个问题在一起讲,仅仅是因为自己觉得有些联系,而且正好自己概念有些模糊. 1. KNN 和 K-means的区别:参考https://www.cnblogs.com/nucdy/p/63491 ...
- 人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型
人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态 ...
- 红米手机H5布局压扁
移动端rem布局样式错乱问题 这段时间在开发app内的h5页面,发现一个奇怪的问题,测试机中有红米手机 ,oppo手机,在app打开h5之后,整个页面被压扁变形了,一开始以为是手机分辨率的问题,但是在 ...
- 解决GridView防止压扁
重写GridView 里面的 onMeasure 方法 import android.content.Context; import android.util.AttributeSet; impo ...
- 发布出来的APK部分Label上的字被压扁
项目使用Unity4.7.1配合NGUI3.5.5开发,发布出来的APK,发现部分Label上的字压扁了,两个字会出现重叠的情况,对比之后发现,被压扁的字Label的一个属性设为Bold,修改为Nor ...
- C/C++函数调用的压栈模型
函数调用的压栈模型对于我们学习C语言非常重要,最直观的体现在我们后面要学的函数的递归,函数的递归就充分利用的函数的压栈模型. 当函数从入口函数main函数开始执行时,编译器会将我们操作系统的运行状态, ...
- 蚂蚁集团技术专家山丘:性能优化常见压测模型及优缺点
陈显铭(山丘) 读完需要 6 分钟 速读仅需 2 分钟 陈显铭,花名山丘,就职于蚂蚁集团,对分布式应用架构.服务化.性能优化等有深入的理解.参与支付宝支付链路核心系统,设计.调优应用系统关键能力, 高 ...
最新文章
- python ffmpeg pipe_ffmpeg-python通过pipe与librosa进行数据流交互
- 一文读懂MQTT协议
- 如何把OpenCV Python获取的图像传递到C层处理
- JZ2440学习总结5
- zookeeper结构和命令详解
- 初学JAVA——方法重载练习
- 做好这5点基本要求 才能算一个合格的HTML5动画
- 展示全面快速响应能力 华为全线解决方案亮相北京国际通信展
- wps 云服务器登录_WPS云服务使用协议
- MultiDesk 是一个选项卡(TAB标签)方式的远程桌面连接 (Terminal Services Client)。
- 刚刚!马云泪洒现场:青山不改,绿水长流,我要换个江湖了!后会有期!
- pyinstaller打包项目,运行exe找不到指定模块(自定义/python39.dll等)
- 多网站如何共用一个微信
- sklearn和libsvm吗_机器学习笔记(3)-sklearn支持向量机SVM
- 促销 java 满 赠_促销活动除了打折、返现、满赠,还有什么方式?
- nginx实现路由转发
- python unpacking_Python函数调用时unpacking参数特性
- 安装Ubuntu18.04虚拟机
- c#程序连接orace出现驱动程序和应用程序之间的体系结构不匹配
- 新版本 chrome 手机浏览器关闭为您推荐的文章方法