矩阵是用来变换向量的。
矩阵是用来变换向量的。
矩阵变换向量。
行向量左乘矩阵 = 另一个向量。
将一个向量转换乘另一个向量。
矩阵乘法特点。
单位矩阵是从左到右斜线。
矩阵乘以单位矩阵还是自己。
转置就是行变列, 列变行
AB 不等于 BA 矩阵相乘
(AB)C = A(BC)分配律 就是先干谁都一样
(KA)B = K(AB) = A(KB) 满足交换律,
(AB)的转置 = B转置 *A 的转置
推导 。 右上角小t代表转置
矩阵乘法
用行去乘列。 前一个矩阵的列数等于要乘的矩阵的行数。
矩阵的乘法 需满足条件
R*N N*C 前边的列数必须等于后边的行数才行。 乘完后是 R*C阶矩阵
矩阵与向量。
矩阵和向量坐标
行向量 1*n矩阵
列向量 N*1矩阵
向量与矩阵运算时一定要确定 是行向量还是列向量
方阵 正方形阵 n*n
非对角线以外全是0的,并且是方阵的,叫对角矩阵
对角线全为1 非对角线全为零 叫单位矩阵 是对角矩阵的一部分。 单位矩阵在乘法中就是1 的作用。
三位向量基础运算
二维坐标系可以对称
三位的左右手坐标系 没办法转换
优先使用外面的Tags
pass 里也可以写Tags
Render 设置
Cull (裁剪)off 两面都渲染
cull back 去掉后面渲染前面
cull front 去掉前面渲染后面
ZTest 深度测试 z轴 Always/Less Greater /LEqual/GEqual/ Equal/NotEqual
ZWrite 深度写入 off/on
Blend 融合 SrcFactor DstFactor
LOD 100 不同情况下使用不同的LOD 达到性能提升
pass 代表一次完整绘制流程
Tags 键值对
"Queue" = "Transparent" 渲染顺序
"RenderType" = "Opaque" 着色器替换功能
"DisableBatching" = "True"//是否进行合批
"ForceNoShadowCasting" = "True"//是否投射阴影
"IgnoreProjector"="True"//受不受Projector的影响,通常用于透明物体
"CanUseSpriteAltas" = "False"//是否用于图片的Shader,通常用于UI UI的给true
"PreviewType"="Plane"//用作shader面板预览的类型
回顾总结。
点乘判断两个向量的关系 意义求夹角。
判断敌人在前在后。
两个向量点乘大于0 时,向量夹角为锐角。
两个向量点乘等于0时,向量夹角为直角。
两个向量小于0,向量为钝角。
有向线段 向量(也叫矢量)
AB B点减去A点 x减x y减y
向量只代表长度和方向。 坐标代表位置。
笛卡尔坐标系
OpenGl x向右 y向上
DirectX x向右 y向下
相对坐标系。
unity shader 已经封装了一层了
Surface Shade 和Unlit Shader 类似
有Properties 属性
SubShader 里边有Tags, Render设置,
pass通道
最后是FallBack
pass 通道里 也可以写Tags Render 设置,
外边里边写了,走外边的。
pass 通道名称 必须全大写
use pass通道名称
pass通道里的Tags
"LightMode"="ForwardBase"//定义该Pass通道在Unity渲染流水中的角色
"RequireOptions"="SoftVegetation"//满足某些条件时才渲染该Pass通道
FallBack off上面的SubShader都使用不了的时候使用这个。
subShader 可以有很多 根据平台运行不同的subshader
都不走就走fallback 语句
可选
Tags
Render设置
Cull off
ZTest Always
Zwrite off
LOD 100
必须写的。
Pass 通道 先后顺序 不建议使用多个
通道里有通道名称 Tags Render设置。
Command只能由表现层向底层系统发送