
shader学习笔记(一)- 利用矩阵对模型顶点进行缩放、旋转、平移
资料参考:《Unity Shader入门精要》—— 冯乐乐4.5矩阵的几何意义:变换。
·
书籍资料参考:
《Unity Shader入门精要》—— 冯乐乐 4.5矩阵的几何意义:变换
视频资料参考:
【技术美术百人计划】图形 1.2.2 矩阵运算
庄懂的技术美术入门课(美术向)-直播录屏-第19课
模型缩放
缩放矩阵
shader:
float scale=0.5;
vertex.xyz *= 1.0 + scale;
模型旋转
绕x轴旋转矩阵:
shader:
vertex.yz = float2(vertex.y * cosθ - vertex.z * sinθ,vertex.y * sinθ + vertex.z * cosθ);
绕y轴旋转矩阵:
shader:
vertex.xz = float2(vertex.x * cosθ + vertex.z * sinθ,-vertex.x * sinθ + vertex.z * cosθ);
绕z轴旋转矩阵:
shader:
vertex.xy = float2(vertex.x * cosθ - vertex.y * sinθ,-vertex.x * sinθ + vertex.y * cosθ);
注意:
unity中,需要小心旋转的变换顺序是zxy
模型平移:
平移矩阵:
shader:
vertex.xyz += float3(moveX,moveY,moveZ);
复合变换:
在绝大多数情况下,我们约定变换的顺序是先缩放,再旋转,最后平移
复合矩阵:从右往左
更多推荐
所有评论(0)