unity shader 之 几何变换--扭曲
来源:互联网 发布:福建顶点软件招聘 编辑:程序博客网 时间:2024/05/16 04:42
Shader "Custom/twist" {SubShader {Pass {CGPROGRAM#pragma vertex vert #pragma fragment frag #include "unitycg.cginc"struct v2f {float4 pos : POSITION;float4 color : COLOR0;};v2f vert(appdata_base v){float angle = length(v.vertex) * _SinTime.w;//旋转矩阵//float4x4 m =//{//float4(cos(angle), 0, sin(angle), 0),//float4(0, 1, 0, 0),//float4(-sin(angle), 0, cos(angle), 0),//float4(0, 0, 0, 1),//};//对旋转矩阵进行优化计算,其实就是手动的进行旋转矩阵的相乘的结果float x = cos(angle) * v.vertex.x + sin(angle) * v.vertex.z;float z = cos(angle) * v.vertex.z - sin(angle) * v.vertex.x;v.vertex.x = x;v.vertex.z = z;//v.vertex = mul(m, v.vertex);v2f o;o.pos = mul(UNITY_MATRIX_MVP, v.vertex);o.color = fixed4(0, 1, 1, 1);return o;}fixed4 frag(v2f IN) : COLOR {return IN.color;}ENDCG}}FallBack "Diffuse"}
效果如下(需要运行):
继续改造代码,呈现一些不同的效果:
修改 22 行如下:
float angle = length(v.vertex) * _Time.y;
float x = sin(angle) * v.vertex.x;
运行后效果如下(类似水波的效果):
0 0
- unity shader 之 几何变换--扭曲
- unity shader 之 几何变换--顶点位移
- unity shader 之 几何变换--波
- Cg入门14:Vertex Shader - 几何变换 —顶点扭曲
- Unity 热扭曲Shader
- unity Shader 扭曲效果
- 【猫猫的Unity Shader之旅】之扭曲模型
- Unity Shader Example 4 (扭曲)
- Unity跑酷扭曲shader
- shader之——扭曲
- Unity Shader-热空气扭曲效果
- Unity Shader-后处理:时空扭曲效果
- Unity Shader中法线变换
- Unity Shader学习笔记:变换
- Unity Shader 之Geometry Shader
- Unity3D shader(7)——Vertex Shader(顶点几何变换)
- unity shader中的矩阵变换知识
- 二、Unity Shader顶点变换总结
- 520. Detect Capital
- 使用spring中遇到"java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor"问题
- poj1258Agri-Net
- 基础练习 十六进制转八进制
- java中几个获取长度的方法区别
- unity shader 之 几何变换--扭曲
- Android基础之动画
- 程序员面试金典-4.4 输出单层节点
- 代码参考
- js对象、原型链相关
- RTMP学习(九)rtmpdump源码阅读(4)建立连接
- 【项目总结】——换一种人生态度,每天都是晴天
- AJAX学习之路(一)
- js中call和apply的常见应用