Unity卡通渲染之描边处理
来源:互联网 发布:js添加标记 编辑:程序博客网 时间:2024/05/01 06:41
做游戏时候可能经常需要对物体轮廓进行描边处理,使用该Shader即可,但可能有个缺点,正方体类型的描边并不会准确。
效果图如下:
//Unity描边处理//@author mingming mingtingjian@sina.com//@time 2017-05-10 18:06:28Shader "Toon Shader/Toon Outline" {Properties {_Color ("Color Tint", Color) = (1, 1, 1, 1)_MainTex ("Main Tex", 2D) = "white" {}_Outline ("Outline", Range(0, 1)) = 0.1_OutlineColor ("Outline Color", Color) = (0, 0, 0, 1)} SubShader {Tags { "RenderType"="Opaque" "Queue"="Geometry"}//Pass {NAME "OUTLINE"Cull FrontCGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"float _Outline;fixed4 _OutlineColor;struct a2v {float4 vertex : POSITION;float3 normal : NORMAL;}; struct v2f { float4 pos : SV_POSITION;};v2f vert (a2v v) {v2f o;float4 pos = mul(UNITY_MATRIX_MV, v.vertex); float3 normal = mul((float3x3)UNITY_MATRIX_IT_MV, v.normal); normal.z = -0.5;pos = pos + float4(normalize(normal), 0) * _Outline;o.pos = mul(UNITY_MATRIX_P, pos);return o;}float4 frag(v2f i) : SV_Target { return float4(_OutlineColor.rgb, 1); }ENDCG}Pass {Tags { "LightMode"="ForwardBase" }Cull BackCGPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile_fwdbase#include "UnityCG.cginc"fixed4 _Color;sampler2D _MainTex;float4 _MainTex_ST;struct a2v {float4 pos : POSITION;float2 texcoord : TEXCOORD0;}; struct v2f {float4 pos : SV_POSITION;half2 texcoord : TEXCOORD0;};v2f vert (a2v v) {v2f o;o.pos = mul( UNITY_MATRIX_MVP, v.pos);o.texcoord = TRANSFORM_TEX (v.texcoord, _MainTex);return o;}fixed4 frag(v2f i) : SV_Target {fixed4 col = tex2D (_MainTex, i.texcoord);col *= _Color; return col; }ENDCG}}FallBack Off}
0 0
- Unity卡通渲染之描边处理
- 通过卡通渲染描边shader来学习Unity的Shader写法
- 通过卡通渲染描边shader来学习Unity的Shader写法
- Vertex Shader 支持的卡通描边渲染
- 图像处理之卡通化
- 日式卡通渲染的效果的unity实现
- 卡通渲染的另类勾边方法
- 卡通渲染Cocos2d-x中的实现(描边与对物体表面颜色的色阶化)
- 卡通渲染最新进展汇报
- ShaderSimpler(3) : 卡通渲染
- 卡通渲染效果脚本
- NPR-卡通渲染
- 【NPR】卡通渲染
- 卡通渲染简报
- opengl卡通渲染之逐顶点渲染与逐像素渲染
- Unity之渲染问题
- Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染
- 卡通渲染的另类勾边方法 (续)
- 将数据库中某个字段的格式20170508改为2017-05-08格式的方法
- 测试用例评审检查项:
- Python实现小游戏--2048
- CAS Spring Security 3 整合配置
- TestNG BeforeSuite、BeforeTest、BeforeClass、BeforeMethod执行顺序
- Unity卡通渲染之描边处理
- 危险,不要随意让网站记住密码自动登陆!
- centos中如何搭建ftp服务
- ReactiveCocoa入门(一)
- Android(安卓)机器设备信息详解(一)
- 判断支不支持分离编译
- CTFweb中常用套路
- java中的反射机制
- iOS怎样上传代码到Github