本节课开始,从大佬开口第二秒,全程处于懵逼状态。
由于高等数学课上没有经住王者荣耀的诱惑,所以矩阵的知识一直处于贫乏状态,到课程结束也就懵懵懂懂的记住了大概,所以本笔记纯属个人记录。观点错误请指出,阿里嘎多阔塞以马斯。
tranform的位移矩阵:
//tranform 的位移矩阵
public void LMatri()
{
Matrix4x4 localP = Matrix4x4.Translate(transform.localPosition);
Debug.Log(localP.ToString());
}
上述代码输出tranform的 本地左边的位移矩阵具体输出如下:
其中标红部分表示代表的就是tranform的本地坐标。
tranform的旋转矩阵:
//tranform 的旋转矩阵
public void RotationMatri()
{
Matrix4x4 localr = Matrix4x4.Rotate(transform.localRotation);
Debug.Log(localr.ToString());
}
上述代码输出如下,不知道具体啥意思,望知道的大佬讲解下:
tranform的缩放矩阵:
//tranform 的缩放矩阵
public void ScaleMatri()
{
Matrix4x4 localr = Matrix4x4.Scale(transform.localScale);
Debug.Log(localr.ToString());
}
上述代码输出如下,其中矩阵种斜对角线表示的为tranform的本地缩放:
**
M矩阵:
**
M矩阵 把模型坐标转化为世界坐标。M= M(translation)*M(rotation)*M(scale)(这个顺序很重要,不能错乱)
public void M_juzhen()
{
Transform thistran = transform;
Matrix4x4 ml = Matrix4x4.TRS(transform.localPosition, transform.localRotation, transform.localScale);
while (thistran.parent)
{
thistran = thistran.parent;
ml = Matrix4x4.TRS(thistran.localPosition, thistran.localRotation, thistran.localScale) * ml ;
}
Debug.Log(ml.ToString());
}
本人并没理解透彻,只是把大佬讲的计算方式记录了下来防止忘记。如有了解的大佬,路过请留下您宝贵的理解,再次感谢。
今天的文章UnityShader笔记第三课-MVP矩阵原理-M矩阵分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65483.html