Unity中的矩阵含义

Unity中的矩阵含义

本人第一次写博文,不足的地方请大家指出来,我不会详解它的计算是什么样的,因为同类文章有很多,这个如果读者感兴趣可以自己学习一下相关的手册和知识。

什么是矩阵

简单的说,矩阵就是一个4*4的二维数组,在Unity中为结构体,Matrix4x4就是Unity中的矩阵,你可以通过这个结构体来申请一个矩阵,当然这是个三维矩阵。
1.矩阵每一列的意义:
如果是一个单位正交矩阵,那么在Unity中他就是这样的
在这里插入图片描述
如果这是一个游戏物体的变换矩阵,那么就可以得出以下信息,

1.该游戏物体的X,Y,Z,轴的方向与世界坐标系的X,Y,Z轴的方向保持一致,简单的来说,该物体相对于世界坐标系没有发生任何旋转;
2.该物体的在世界坐标系中的坐标为(0, 0, 0)。
矩阵的作用:

  1. 矩阵可以说是Transform组件工作的根本,Transform所需的基本信息都从该单位的矩阵中获得;
  2. 旋转矩阵: 我这里不贴出旋转矩阵,因为你几乎用不到它,而且网上关于旋转矩阵的文章也有很多,我不做详述,告诉读者两个矩阵相乘是没有意义,这个过程太过于抽象,我会在“实践”中具体讲解。

结构体Matrix4x4

接下来介绍Matrix4x4结构体(当然我不会把所有的方法和变量都讲出来,我会说一些我们可能会经常用到的方法或者变量):
1.变量:
Rotation:这里的Rotation是对应Transform组件里的Rotation的,也就是说,你可以通过重构旋转矩阵来得到一个Rotation并且运用到任意一个游戏物体上;
lossyScale:你可以通过这个值来得到一个矩阵所代表物体的尺寸大小;
inverse:倒置,你可以用这个变量来获取一个矩阵的倒置矩阵。
2.函数:
public Matrix4x4(Vector4 column0, Vector4 column1, Vector4 column2, Vector4 column3) :通过该构造函数来构造出一个自己的矩阵;
public static Matrix4x4 Inverse(Matrix4x4 m) : 获取一个矩阵的倒置矩阵。

实践

我之前说过,矩阵矩阵中每一列的含义,接下来我会在Unity中证明这些含义的真确性:
1.前三列的意义:
如果把矩阵的前三列拿出来,每一列数据都可以组成一个Vector3变量࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值