本节课开始,从大佬开口第二秒,全程处于懵逼状态。
由于高等数学课上没有经住王者荣耀的诱惑,所以矩阵的知识一直处于贫乏状态,到课程结束也就懵懵懂懂的记住了大概,所以本笔记纯属个人记录。观点错误请指出,阿里嘎多阔塞以马斯。
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(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());
}
本人并没理解透彻,只是把大佬讲的计算方式记录了下来防止忘记。如有了解的大佬,路过请留下您宝贵的理解,再次感谢。