UnityShader笔记第三课-MVP矩阵原理-M矩阵

UnityShader笔记第三课-MVP矩阵原理-M矩阵本节课开始,从大佬开口第二秒,全程处于懵逼状态

本节课开始,从大佬开口第二秒,全程处于懵逼状态。
由于高等数学课上没有经住王者荣耀的诱惑,所以矩阵的知识一直处于贫乏状态,到课程结束也就懵懵懂懂的记住了大概,所以本笔记纯属个人记录。观点错误请指出,阿里嘎多阔塞以马斯。

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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注